#作业三
import pandas as pd #加载包,简写pd
#读取数据
path1=r'C:\Users\Administrator\Desktop\作业\作业2\prec.csv' #python里面反斜杠是转义字符,前面加r负责报错不认为是路径
path2=r'C:\Users\Administrator\Desktop\作业\作业2\Temp.txt'
path3=r'C:\Users\Administrator\Desktop\作业\作业2\excel作业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)
python实习作业三
最新推荐文章于 2024-09-16 14:49:33 发布