Смещение повторной выборки панд от самой последней даты окончания года? - PullRequest
0 голосов
/ 27 августа 2018

Может ли кто-нибудь объяснить, что происходит с моей повторной выборкой?

Например,

   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-31 до 2012-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 голосов
/ 27 августа 2018

From @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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...