如何从6月1日到31日每年重新采样?

时间:2018-01-08 17:53:22

标签: python pandas time-series

如何使用每日时间序列索引对数据帧进行重新采样,而不是从1月1日到12月31日。相反,我想要从1月1日到3月31日的年度总和。

首先我做了这个,这给了我从1.Jan到31.Dec的年度总和:

df.resample(rule='A').sum()

我尝试过使用base-parameter,但它不会改变重采样总和。

df.resample(rule='A', base=100).sum()

以下是我的数据框的一部分:

In []: df
Out[]:
Index                ET        P         R
2010-01-01 00:00:00  -0.013    0.0       0.773
2010-01-02 00:00:00  0.0737    0.21      0.797
2010-01-03 00:00:00  -0.048    0.0       0.926
...

In []: df.resample(rule='A', base = 0, label='left').sum()

Out []: 
Index
2009-12-31 00:00:00  424.131138   871.48  541.677405
2010-12-31 00:00:00  405.625780   939.06  575.163096
2011-12-31 00:00:00  461.586365  1064.82  710.507947
...

如果有人能帮助我弄清楚如何做到这一点,我真的很感激。

谢谢

1 个答案:

答案 0 :(得分:0)

'AS-JUN'使用# Example data idx = pd.date_range('2017-01-01', '2018-12-31') s = pd.Series(1, idx) # Resample s = s.resample('AS-JUN').sum() 作为规则:

2016-06-01    151
2017-06-01    365
2018-06-01    214
Freq: AS-JUN, dtype: int64

结果输出:

{{1}}