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