python第五次作业——张学良

习题1:读入文件pmi_days.csv,完成以下操作:

1.统计质量等级对应的天数,例如:
优:5天
良:3天
中度污染:2天
2.找出PMI2.5的最大值和最小值,分别指出是哪一天。

import pandas as pd
import numpy as np
 
days_path = open(r"pmi_days.csv")
days_data = pd.read_csv(days_path)

d = days_data.groupby('质量等级')

you = dict([x for x in d])['']
liang = dict([x for x in d])['']
qing = dict([x for x in d])['轻度污染']
zhong = dict([x for x in d])['中度污染']
print("优:%d天" % len(you.index), "\n良:%d天" % len(liang.index),
       "\n轻度污染:%d天" % len(qing.index), "\n中度污染:%d天" % len(zhong.index))

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

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

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

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

import csv
lista=[]
listb=[]
bijiao=[]
x={}
with open("1980-2018GDP.csv", 'r') as f:
    reader = csv.reader(f)
    fieldnames = next(reader)
    print(fieldnames)
    for row in reader:
        lista.append(row)
    for i in range(0,len(lista)):
        print("%-8s"%lista[i][0],"\t%-10.7s"%lista[i][1],"\t%-12.5s"%lista[i][2],"\t%-13.5s"%lista[i][3],lista[i][4])
with open("1980-2018GDP.csv", 'r') as f:
    reader = csv.reader(f)
    fieldnames = next(reader)
    csv_reader = csv.DictReader(f, fieldnames=fieldnames)
    for w in csv_reader:
        dict = {}
        for key, value in w.items():
            dict[key] = value
            if key=='GDP(亿元)':
                bijiao.append(float(dict.get('GDP(亿元)')))
        dict.get('年份')
        listb.append(int(dict.get('年份')))
    for i in range(0,len(lista)):
        x[listb[i]]=lista[i][1:]
        if lista[i] == max(lista):
            maxyear = listb[i]
        if lista[i] == min(lista):
            minyear = listb[i]
print(x)
print("GDP最大值为:{}亿元 那一年是:{}年".format(max(bijiao),maxyear))
print("GDP最小值为:{}亿元 那一年是:{}年".format(min(bijiao),minyear))

  

猜你喜欢

转载自www.cnblogs.com/goddessing/p/10919971.html