我有一个数据框,其中包含12年来每小时的压力,风速和温度值。使用groupby(pd.to_datetime),我计算了这12年来每个月的平均值。现在,然而,我想计算每个月的总体平均值。我的意思是:
avg_jan = jan_2011 + jan_2012 + jan_2013 + ....
因此,我需要计算我的dataframe中每列中每12个值的平均值。有人知道如何处理这个问题吗?我已经尝试了df.mean()方法。然而,这只是给出了所有值的平均值。不是每月的平均值。
w_data1120 = pd.read_csv('filename.txt', skiprows = 31, usecols = ['# STN', 'YYYYMMDD', 'FH'], low_memory = False)
w_data2122 = pd.read_csv('filename_2.txt', skiprows = 31, skipfooter = 2760, usecols = ['# STN', 'YYYYMMDD', 'FH'], low_memory = False)
w_data1122 = w_data1120.append(w_data2122, ignore_index = True)
w_data_month = w_data1122.groupby(pd.to_datetime(w_data1122['YYYYMMDD'], format='%Y%m%d').dt.to_period('M'), as_index=False).mean()
1条答案
按热度按时间jhdbpxl91#
首先,您需要在数据集中添加一列“month”。您可以使用与图像上类似的方法:
现在,对于每一行,都有一列说明月份名称,而没有年份。
现在,为了得到您正在寻找的平均值,您按月份名称分组并取平均值:
如果有帮助就告诉我。