pandas 确定 Dataframe 的列中每第N个值的平均值

2sbarzqh  于 2023-04-28  发布在  其他
关注(0)|答案(1)|浏览(154)

我有一个数据框,其中包含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()
jhdbpxl9

jhdbpxl91#

  • 根据上传的图片推测变量名 *

首先,您需要在数据集中添加一列“month”。您可以使用与图像上类似的方法:

w_data1122['month'] = pd.to_datetime(w_data1122['YYYYMMDD'], format = '%Y%m%d').dt.month_name()

现在,对于每一行,都有一列说明月份名称,而没有年份。
现在,为了得到您正在寻找的平均值,您按月份名称分组并取平均值:

result_df = w_data1122.group_by('month').mean()

如果有帮助就告诉我。

相关问题