python - 每天每小时用熊猫分组行
问题描述
我有这些数据来自渡轮穿过直道。我选择了一年并过滤它以仅显示窝藏时间。我需要弄清楚渡轮每天每小时在港口停留了多长时间,换句话说,我需要得到 365 x24 的值。由于我已经通过港口过滤了数据,因此会有一些不存在的行,因为渡轮通常每小时只在港口停留大约 10 到 15 分钟。
timestamp crossing
1585695 2019-12-31 23:00:00+00:00 8940
1585696 2019-12-31 23:00:30+00:00 8940
1585697 2019-12-31 23:01:00+00:00 8940
1585698 2019-12-31 23:01:30+00:00 8940
1585699 2019-12-31 23:02:00+00:00 8940
... ... ...
2636037 2020-12-30 22:57:30+00:00 14423
2636038 2020-12-30 22:58:00+00:00 14423
2636039 2020-12-30 22:58:30+00:00 14423
2636040 2020-12-30 22:59:00+00:00 14423
2636041 2020-12-30 22:59:30+00:00 14423
这是我的众多尝试之一:
df_new.crossing.groupby(pd.to_datetime(df_new.timestamp).dt.hour).count()
这给出了以下内容:
timestamp
0 43800
1 43749
2 43679
3 31218
4 18411
5 12193
6 9344
7 8773
8 8500
9 9177
10 9000
11 8637
12 8543
13 8397
14 8306
15 9038
16 9119
17 9946
18 10810
19 12901
20 14304
21 30206
22 42618
23 43800
如果除以二,这实际上似乎是正确的答案,除了我需要显示每天每小时的计数 - 而不是每年每小时。有任何想法吗?