熊猫在重新采样后的每日平均值

时间:2020-03-30 12:29:31

标签: pandas resampling

我有一个数据框,整个月中,每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 个答案:

答案 0 :(得分:2)

您可以按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