习题1:读入文件pmi_days.csv,完成以下操作:
1.统计质量等级对应的天数,例如:
优:5天
良:3天
中度污染:2天
2.找出PMI2.5的最大值和最小值,分别指出是哪一天。
代码
import csv o=0;x=0;g=0;l=0 s=[] with open("pmi_days.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(dict["质量等级"]=="优"): o=o+1 elif(dict["质量等级"]=="良"): x=x+1 elif(dict["质量等级"]=="中度污染"): g=g+1 elif(dict["质量等级"]=="轻度污染"): l=l+1 s.append(list(dict.values())) for row in range(0,len(s)): s[row][3]=int(s[row][3]) for i in range(0,len(s)-1): for j in range(i+1,len(s)): if(s[i][3]<s[j][3]): a=s[j][3] s[j][3]=s[i][3] s[i][3]=a b=s[j][0] s[j][0]=s[i][0] s[i][0]=b print("优的天数是{}\n良的天数是{}\n中度污染的天数是{}\n轻度污染的天数是{}\n".format(p,u,k,d)) print("PMI2.5的\n最大值是{},对应的日期是{}\n最小值是{}, 对应的日期是{} ".format(s[0][3],s[0][0],s[-1][3],s[-1][0]))
习题2:读入文件1980-2018GDP.csv,完成以下操作:
1.按行输出每年GDP数据,表头列名如文件第1行所示。
2.将各年GDP数据转换成字典格式,以年份为keys,其它值为values(数据类型为列表方式),例如:
{
2017:[827121.7,6.8%,60989]
........
}
3.遍历字典数据,求出GDP的最小值与最大值,并输出数据与对应的年份。
import pandas as pd days_path = open(r"1980-2018GDP.csv") days_list = pd.read_csv(days_path) print(days_list, "\t\t\n") dict_GDP = days_list.set_index('年份').T.to_dict('list') print("字典:", dict_GDP, "\t\n") data_max = max(dict_GDP, key=dict_GDP.get) data_min = min(dict_GDP, key=dict_GDP.get) print("GDP最大值:", data_max, dict_GDP[data_max], "\n") print("GDP最小值:", data_min, dict_GDP[data_min])
运行截图