第五次作业——林东

习题1:读入文件pmi_days.csv,完成以下操作:
1.统计质量等级对应的天数,例如:
优:5天
良:3天
中度污染:2天
2.找出PMI2.5的最大值和最小值,分别指出是哪一天

import csv
filename='C:\Users\Administrator\pmi_days.csv'
with open(filename, 'r') as f:
    reader = csv.reader(f)
    header_row = next(reader)
    heads = []# 创建一个空列表用于存放每天的质量等级
    pm=[]#创建一个空列表用于存放每天的PM2.5
    day=[]#创建一个空列表用于存放日期
    for row in reader: # 遍历文件对象
        heads.append(row[2]) # 添加每行的第一列到列表里
        pm.append(int(row[3]))
        day.append(row[0])
y=0
l=0
q=0
z=0
for i in range (30):
    if heads[i]=="":
        y=y+1
    elif heads[i]=="":
        l=l+1
    elif heads[i]=='轻度污染':
        q=q+1
    elif heads[i]=='中度污染':
        z=z+1
zuida=max(pm)
zuixiao=min(pm)
print("优:%d天" % len(you.index), "\n良:%d天" % len(liang.index),
       "\n轻度污染:%d天" % len(qingdu.index), "\n中度污染:%d天" % len(zhongdu.index))

sort_pm = days_data.sort_values(by='PM2.5')
sort_pm25_1 = sort_pm25.reset_index(drop=True)
print("PM2.5最大值为:%d\t那一天是:%s" % (sort_pm25_1['PM2.5'][29],sort_pm25_1['日期'][29]),
       "\nPM2.5最小值为:%d\t那一天是:%s" % (sort_pm25_1['PM2.5'][0], sort_pm25_1['日期'][0]))

习题2:读入文件1980-2018GDP.csv,完成以下操作:
1.按行输出每年GDP数据,表头列名如文件第1行所示。

import csv
with open("C:\Users\Administrator\GDP.csv" ,'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

 

2.将各年GDP数据转换成字典格式,以年份为keys,其它值为values(数据类型为列表方式),例如:
{
2017:[827121.7,6.8%,60989]
........
}

import csv
list=[]
list1=[]
zidian={}
daxiao=[]
d=0
e=0
with open("C:\Users\Administrator\GDP.csv",'r') as f:
    reader = csv.reader(f)
    fieldnames = next(reader)
    print(fieldnames)
    csv_reader = csv.DictReader(f,fieldnames=fieldnames)
    for row in reader:
        list.append(row)
    for i in range(0,len(list)):
        print("%-8s"%list[i][0],"\t%-10.7s"%list[i][1],"\t%-12.5s"%list[i][2],"\t%-13.5s"%list[i][3],list[i][4])
with open("D:\Downloads\GDP.csv", 'r') as f:
    reader = csv.reader(f)
    fieldnames = next(reader)
    csv_reader = csv.DictReader(f, fieldnames=fieldnames)
    for row in csv_reader:
        dict={}
        for  key,value in row.items():
            dict[key] = value
            if key == 'GDP(亿元)':
                daxiao.append(float(dict.get('GDP(亿元)')))
        dict.get('年份')
        list1.append(int(dict.get('年份')))
    for i in range(0, len(list)):
        zidian[list1[i]] = list[i][1:]
    print(zidian)
    for i in range(0,len(daxiao)):
        if daxiao[i]==max(daxiao):
            d=list1[i]
        if daxiao[i]==min(daxiao):
            e=list1[i]
    print("PM2.5最大值:{}    日期:{}".format(max(daxiao), d))
    print("PM2.5最小值:{}      日期:{}".format(min(daxiao), e))

 

3.遍历字典数据,求出GDP的最小值与最大值,并输出数据与对应的年份。

 

转载于:https://www.cnblogs.com/Bloglindong/p/10920468.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值