Учитывая ряд панд с PeriodIndex, который имеет некоторые пропущенные значения, как
заполнить пропущенные периоды со значением 0.
Пример:
import pandas as pd
index = pd.PeriodIndex(['2019-01', '2019-02', '2019-04'], freq='M')
series = pd.Series([1, 1, 1], index=index)
# Do some magic with the series
Серии теперь должны быть:
'2019-01' 1
'2019-02' 1
'2019-03' 0
'2019-04' 1
Что я пробовал:
Я пытался использовать resample('M').fillna()
, но обнаружил, что новые опции в fillna()
не включают заполнение 0, и в отличие от предыдущих вопросов, которые я нашел по stackoverflow, я использую более позднюю версию pandas, где fill_method
больше не доступен.
Я также пытался переиндексировать индекс из самой серии, но это все равно оставляет дыры.
Контекст:
В случае, если это случай "вы просто делаете это неправильно!" Я думал, что у меня есть некоторый контекст. Я использую ряд с периодическим индексом для моделирования прогнозируемого денежного потока по кредиту и вызываю numpy.irr для ряда, чтобы рассчитать его доходность. К сожалению, numpy irr не знает индексов, поэтому мне нужно преобразовать ссуду в полный массив, где пустые месяцы задаются 0 значениями, но всегда есть 12 значений в год.
Я открыт для того, чтобы услышать другие методы расчета этого - с помощью библиотек, DateTimeIndex или любых других методов.