У меня есть ежедневные данные между двумя датами, я хочу сделать повторную выборку этих данных с интервалом в две недели, а затем поместить эти данные повторной выборки в другую серию с индексом в большем диапазоне дат.
Например:
start = '1/1/2012'
horizon = 50
unit = '2w'
#This is my daily data
index = pd.date_range('3/14/2012', periods=30, freq='d')
df = pd.Series(np.random.randint(0, 500, len(index)), index=index)
#This is the index that I want to fit the resample data in
container = pd.date_range(start, periods=horizon, freq=unit)
Один из подходов, который я нашел в ответе здесь, состоял в том, чтобы переиндексировать df
, используя container
в качестве индекса.
print(df.resample(unit).sum().reindex(container).fillna(0))
Все данные были равны 0, что странно, это работало на еженедельные данные. И после глубокого копания это сработало для меня.
print(df.resample(unit, loffset="w").sum().reindex(container).fillna(0))
Я не понимаю, почему это работает и если это лучший подход для этого.