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