首页 > 解决方案 > 零值的熊猫石斑鱼

问题描述

我希望按一天中的时间计算事件的数量。我按照此处的说明列出了计数列表,但也想包括零事件的小时数

以下是一些示例数据:

0   2017-10-06 13:21:37 foo
1   2017-10-06 13:21:39 foo
2   2017-10-06 13:21:42 foo

这是我的代码:

counts = df.groupby([pd.Grouper(key='LocalDateTime',freq='H'),df.foo]).size().reset_index(name='count')

我的输出如下所示:

0   2017-10-06 12:00:00 foo 2
1   2017-10-06 14:00:00 foo 2

我希望它看起来像这样

0   2017-10-06 12:00:00 foo 2
1   2017-10-06 13:00:00 foo 0
2   2017-10-06 14:00:00 foo 2

我检查了Grouper文档,但没有看到有关如何填写缺失时间的任何信息。最好的方法是什么?

谢谢您的帮助!

标签: pythonpandas

解决方案


如果您确实需要缺少的时间戳,这是一种使用方式,resample但使用 apply

df.groupby('foo').\
     apply(lambda x : x.set_index('LocalDateTime').resample('H').count())['foo'].\
       reset_index(name='count')

推荐阅读