#作业三 import pandas as pd #加载包,简写pd #读取数据 path1=r'C:UsersAdministratorDesktop作业作业2prec.csv' #python里面反斜杠是转义字符,前面加r负责报错不认为是路径 path2=r'C:UsersAdministratorDesktop作业作业2Temp.txt' path3=r'C:UsersAdministratorDesktop作业作业2excel作业2.xlsx' #存储路径 f1=pd.read_csv(path1,index_col=0) #csv以,为分隔符 #以站号(第0列)作为行标签 f2=pd.read_csv(path2,sep='s+',index_col=0) #txt一般以空格为分隔符,但不一定是一个空格,改成‘s+’表示多个空格或一个空格 #删除重复数据行!!!!!!!!!!!!! newDF = f1.drop_duplicates() newDF = f2.drop_duplicates() #groupby根据列站点和日期,对数据重新分组聚合,简便计算。但此时为series类型,用.to_frame()转换为dataframe #日降水量 dayrain=f1.groupby(['Station_Id_C','Day'])['PRE_1h'].sum().to_frame() #日降水对于小时来说是求和sum不是平均mean #日最高温 daymaxT=f2.groupby(['Station_Id_C','Day'])['TEM_Max'].max() #日最低温 dayminT=f2.groupby(['Station_Id_C','Day'])['TEM_Min'].min() #日平均温(日最高与最低的平均值) daymeanT=(daymaxT+dayminT)/2 daymeanT=daymeanT.to_frame() #series计算后再转换,df不能计算 daymaxT=daymaxT.to_frame() dayminT=dayminT.to_frame() #数据合并 f3=pd.concat([daymaxT,dayminT,daymeanT,dayrain, ],axis=1, ignore_index=False) f3.columns=['Tmax','Tmin','Tmean','Psum'] #.name是列的属性名,不是每列名字 #数据写入 f3.to_excel(path3)



