首页 > 解决方案 > 在 Python 中计算每日平均值(一天对一个变量有多个值)

问题描述

我有一个 csv 数据,其中包含多个变量作为每日时间序列。但是一天有多个值。我需要根据这些多个值计算整个期间的每日平均温度。

CSV 文件存储在这里:https ://drive.google.com/file/d/1zbojEilckwg5rzNfWtHVF-wu1f8d9m9J/view?usp=sharing

当您每天过滤时,您每天可以看到 27 个不同的值。

我可以过滤每一天并取平均值,例如:

inpcsvFile = 'C:/.../daily average - one day has multiple values.csv'
df = pd.read_csv(inpcsvFile)
df2=df[df['Dates']=='1/1/1971 0:00']
df3=df2.append(df2.agg(['mean']))

但是我怎样才能获得整个期间的每日平均值呢?

标签: pythonpandasdatetime

解决方案


这是解决方案,感谢pandas dataframe groupby datetime month。在这里,我使用“D”而不是“M”。

import pandas as pd  
inpcsvFile = 'C:/.../daily average - one day has multiple values.csv'
df = pd.read_csv(inpcsvFile)
df['Dates'] = df['Dates'].astype(str) #convert entire "Dates" Column to string 
df['Dates']=pd.to_datetime(df['Dates']) #convert entire "Dates" Column to datetime format this time 
df.index=df['Dates'] #replace index with entire "Dates" Column to work with groupby function
df3=df.groupby(pd.TimeGrouper(freq='D')).mean() #take daily average of multiple values

推荐阅读