|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我有一个excel文件会显示年月日,降雨量,平均温度和最高,最低温度
DAY MONTH YEAR PRCP TAVG TMAX TMIN
12 3 2018 0 27.9 25.6
13 3 2018 0 28.2
14 3 2018 0 28.6 25.2
excel里的有些数值是不存在的,所以要显示他是null
我要如何写一个程序让我在输入summary(filename, year, c_name)时会显示(num_data, max_data, min_data, sum_data)(一共有几组数据,最高数据,最低数据和数据总和)
>>> summary('Weather.csv', 2018, 'PRCP')
(287, 60.7, 0.0, 1277.0)
>>> summary('Weather.csv', 2019, 'TMIN')
(220, 28.0, 21.9, 5639.0)
>>> summary('Weather.csv', 2019, 'TMAX')
(0, None, None, 0)
>>> summary('Weather.csv', 2020, 'TAVG')
(70, 29.1, 25.6, 1954.7)
excel的文档位置老师已经写好不用改。
大体是这样,你自己在稍微改改就ok了
- import pandas as pd
- df = pd.read_excel("C:\\Users\\Chysial\\Desktop\\Weather.xlsx")
- #缺失值处理,因为你要求是null在缺失值时候就是None了
- def summary(filename="C:\\Users\\Chysial\\Desktop\\Weather.xlsx",year = "2018",c_name="tmin"):
- df = pd.read_excel("C:\\Users\\Chysial\\Desktop\\Weather.xlsx")
- #其实就是一个函数.loc
- dt = df.loc[df['year'].isin([year])]
- num_data = dt.shape[0]
- max_data = dt[c_name].max()
- min_data = dt[c_name].min()
- if dt[c_name].sum() ==0:
- sum_data = 'None'
- else:
- sum_data = dt[c_name].sum()
- return [num_data,max_data,min_data,sum_data]
- print(summary())
- if __name__=="__main__":
- summary()
-
复制代码
|
|