计算Pandas系列月平均值的累积偏差

2024-04-20 13:11:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我如何使用熊猫来计算月平均降雨量的累积偏差?在

我得到每日降雨量数据(如下面的s),我可以将其转换为pd系列并重新采样到每个月的周期(总和;例如下面的sm)。但是我要计算每个月的值和这个月的平均值之间的差。我加了一个合成的例子:

rng = pd.period_range(20010101, 20131231, freq='D')
s = pd.Series(np.random.normal(2.5,2,size=len(rng)), index=rng)
sm = s.resample('M', how='sum')

例如,对于2010年1月,我想计算该月的值与1月的月平均降雨量(长期)之间的差值。然后我要一个差值的累计和。在

我尝试过使用groupby函数:

^{pr2}$

但并不成功。我希望在'sm'中每个月的值都要减去所有类似月份的平均值,然后生成该系列的累计和。我想这可能是一个步骤。在

我怎样才能有效地做到这一点?
谢谢


Tags: 数据nprange例子period平均值seriespd
1条回答
网友
1楼 · 发布于 2024-04-20 13:11:07

这与an example in the docs密切相关。这是未经测试的代码,但您需要这样的代码:

monthly_rainfall = daily_rainfall.resample('D', how=np.sum)

将所有年份中的1月份归为一组(每个月依此类推):

^{pr2}$

那么

deviation = grouped.transform(lambda x: x - x.mean())
deviation.cumsum()

相关问题 更多 >