У меня есть DataFrame с DatetimeIndex, и я хочу создать новый столбец, который будет агрегировать другой столбец, агрегированный Datetime с более медленной частотой. Например, почасовые значения и среднесуточное значение дня, в которое они входят:
[index] A A_daily_mean
2018-08-01 00:00:00 6 7.5
2018-08-02 01:00:00 7 7.5
2018-08-03 02:00:00 8 7.5
2018-08-04 03:00:00 9 7.5
Есть ли для этого однострочник?
Это очень просто для других групповых агрегаций (в другое время):
df['groupby_mean'] = df.groupby([col1, col2]).mean()
, но группировка по дате DatetimeIndex терпит неудачу:
df['mean_of_resampled'] = df.groupby(df.index.date).mean()
или альтернативно
df['mean_of_resampled'] = df.resample('1d').mean()
которые оба дают:
[index] A A_daily_mean
2018-08-01 00:00:00 6 7.5
2018-08-01 01:00:00 7 NaN
2018-08-01 02:00:00 8 NaN
2018-08-01 03:00:00 9 NaN
Я знаю, что могу добавить значения, выполнив слияние или объединение, но мне интересно, упускаю ли я какой-нибудь лучший, более счастливый способ.