pandas 平均两个日历年的数据并定义开始月份

3bygqnnd  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(102)

我有一个从2013年12月到2018年11月的数据,我把它转换成了一个数据框,如下所示。

Date    0.1 0.2 0.3 0.4 0.5 0.6 
2013-12-01  301.04  297.4   296.63  295.76  295.25  295.25
2013-12-04  297.96  297.15  296.25  295.25  294.43  293.45
2013-12-05  298.4   297.61  296.65  295.81  294.75  293.89
2013-12-08  298.82  297.95  297.15  296.25  295.45  294.41
2013-12-09  298.65  297.65  296.95  296.02  295.13  294.05
2013-12-12  299.05  297.33  296.65  295.81  294.85  293.85
2013-12-16  301.05  300.28  299.38  298.45  297.65  296.51
....
2014-01-10  301.65  297.45  296.46  295.52  294.65  293.56  
2014-01-11  301.99  298.95  298.39  297.15  296.05  295.11  
2014-01-12  299.86  298.65  297.73  296.82  296.35  295.37  
2014-01-13  299.25  298.15  297.3   296.43  295.26  294.31

我想取这个数据的月平均值和季节平均值。
对于每月平均我都试过

df.resample('M').mean()

而且效果很好。
对于季节,我想将此数据分解为4个季节(12月-2月; 3月至5月; 6月至8月;和9月至11月)的三个月间隔。

df.resample('3M').mean()

然而,这并不奏效,因为它单独给出了12月开始月份的平均值,然后考虑了一个日历年(即从1月到3月等)的上述间隔。
我想知道是否有任何可能的方法可以避免这种情况,具体说明我们的审议期从哪个月开始。
此外,我也想知道,我们是否可以预先定义这些季节,并据此将数据分组,以便更容易地获得平均数。

xqk2d5yq

xqk2d5yq1#

您可以在resample中定义原点:

df.resample('M', origin=pd.Timestamp('2013-12-01')).mean()

相关问题