首页 > 解决方案 > 每天每小时用熊猫分组行

问题描述

我有这些数据来自渡轮穿过直道。我选择了一年并过滤它以仅显示窝藏时间。我需要弄清楚渡轮每天每小时在港口停留了多长时间,换句话说,我需要得到 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

如果除以二,这实际上似乎是正确的答案,除了我需要显示每天每小时的计数 - 而不是每年每小时。有任何想法吗?

标签: pythonpandasgrouping

解决方案


推荐阅读