Pandas среднесуточное значение в пределах даты пересчета - PullRequest
1 голос
/ 30 марта 2020

У меня есть дата-фрейм с подсчетом поездок каждые 20 минут в течение всего месяца, скажем:

        Date                Trip count
0    2019-08-01 00:00:00          3
1    2019-08-01 00:20:00          2
2    2019-08-01 00:40:00          4
3    2019-08-02 00:00:00          6
4    2019-08-02 00:20:00          4
5    2019-08-02 00:40:00          2

Я хочу взять среднесуточное значение всех поездок каждые 20 минут. Желаемый результат (для вышеуказанных значений) выглядит следующим образом:

    Date        mean
0   00:00:00    4.5
1   00:20:00    3
2   00:40:00    3
..
72  23:40:00    ..

1 Ответ

2 голосов
/ 30 марта 2020

Вы можете агрегировать по временам, созданным как Series.dt.time, потому что всегда есть только 00, 20, 40 минуты и нет секунд:

df['Date'] = pd.to_datetime(df['Date'])

df1 = df.groupby(df['Date'].dt.time).mean()
#alternative
#df1 = df.groupby(df['Date'].dt.strftime('%H:%M:%S')).mean()
print (df1)
          Trip count
Date                
00:00:00         4.5
00:20:00         3.0
00:40:00         3.0
...