Вопрос:

Как сделать подсчет скользящих окон по временным рядам с мультииндексом?

python pandas time-series rolling-computation

19 просмотра

1 ответ

23 Репутация автора

У меня есть этот фрейм данных:

ID      Date                          Received      
000     2018-01-01 00:00:00+00:00     True
        2018-01-01 06:24:44+00:00     True
        2018-01-03 16:24:45+00:00     False
        2018-01-13 20:00:00+00:00     True
        2018-01-13 23:00:00+00:00     True
        2018-01-25 22:30:55+00:00     True 
        2018-01-26 00:30:55+00:00     False

111     2018-01-01 12:00:00+00:00     True
        2018-01-02 15:00:45+00:00     True
        2018-01-04 00:00:00+00:00     True


Есть ли способ сделать скользящий счетчик количества истинных значений в столбце «Получено» за 7 дней и сгруппированы по идентификатору? Я попытался использовать df.rolling ('7D'). Count (), но он возвращает ошибку.

Я искал что-то вроде этого:

ID      Date range                                                Count     
000     2018-01-01 00:00:00+00:00 - 2018-01-07 00:00:00+00:00     2
        2018-01-08 20:00:00+00:00 - 2018-01-14 00:00:00+00:00     2
        2018-01-15 22:30:55+00:00 - 2018-01-21 20:00:00+00:00     0
        2018-01-22 22:30:55+00:00 - 2018-01-28 20:00:00+00:00     1

111     2018-01-01 00:00:00+00:00 - 2018-01-07 00:00:00+00:00     3

Автор: Chs Источник Размещён: 11.08.2019 06:13

Ответы (1)


0 плюса

2082 Репутация автора

Вы можете попробовать pd.Grouperуказать частоту:

df.groupby(["ID", pd.Grouper(key='Date', freq='1W')])["Received"].sum()
Автор: Alexandre B. Размещён: 11.08.2019 08:18
Вопросы из категории :
32x32