Pandas. Как пересчитать с последнего дня моли? - PullRequest
1 голос
/ 03 мая 2020

Я хочу пересчитывать ежемесячные одноразовые ряды в ежедневные. Итак, у меня есть:

>> y

2017-01-01    15.034583
2017-02-01    16.984745
2017-03-01    21.982249
2017-04-03    29.043835
dtype: float64


>> y.resample('D').pad()

2017-01-01    15.034583
2017-01-02    15.034583
2017-01-03    15.034583
                ...    
2017-04-01    21.982249
2017-04-02    21.982249
2017-04-03    29.043835
Freq: D, Length: 93, dtype: float64

y и повторная выборка y оба заканчиваются на 2017-04-03 . И я хочу, чтобы передискретизация y заканчивалась на 2017-04-30 . Как я могу это сделать?

1 Ответ

2 голосов
/ 03 мая 2020

Добавить новый столбец с MonthEnd за последний день и выполнить повторную выборку по дням

from pandas.tseries.offsets import MonthEnd

y_last = y.iloc[-1:].copy()
y_last.index = y_last.index + MonthEnd(0)
y = pd.concat([y, y_last])

y.resample('1D').pad()

#               value
# 2017-01-01    15.034583
# 2017-01-02    15.034583
# 2017-01-03    15.034583
# ...   ...
# 2017-04-28    29.043835
# 2017-04-29    29.043835
# 2017-04-30    29.043835
...