熊猫从最近的结束日期重新采样了偏移量?

时间:2018-08-27 20:08:24

标签: python pandas

somone可以解释我重新采样的过程吗?

例如,

   In [53]: daily_3mo_treasury.resample('5Y').mean()
    Out[53]:
    1993-12-31    2.997120
    1998-12-31    4.917730
    2003-12-31    3.297176
    2008-12-31    2.997204
    2013-12-31    0.097330
    2018-12-31    0.534476

我时间序列中的最后一个日期是2018-08-23 2.04

我真的希望从最近的年底重新采样,例如从2017-12-312012-12-31,等等。

我尝试过

end = daily_3mo_treasury.index.searchsorted(date(2017,12,31))
daily_3mo_treasury.iloc[:end].resample('5Y').mean()

In [66]: daily_3mo_treasury.iloc[:end].resample('5Y').mean()
Out[66]:
1993-12-31    2.997120
1998-12-31    4.917730
2003-12-31    3.297176
2008-12-31    2.997204
2013-12-31    0.097330
2018-12-31    0.333467
dtype: float64

daily_3mo_treasury.iloc[:end]中的最后一个值为2017-12-29 1.37

我的第二个5年重采样为何没有结束2017-12-31

编辑:我的索引已排序。

1 个答案:

答案 0 :(得分:0)

来自@ALollz-重新采样时,垃圾箱基于索引中的第一个日期。

sistart = daily_3mo_treasury.index.searchsorted(date(1992,12,31))
siend = daily_3mo_treasury.index.searchsorted(date(2017,12,31))

In [95]: daily_3mo_treasury.iloc[sistart:siend].resample('5Y').mean()
Out[95]:
1992-12-31    3.080000
1997-12-31    4.562246
2002-12-31    4.050696
2007-12-31    2.925971
2012-12-31    0.360775
2017-12-31    0.278233
dtype: float64