python - 零值的熊猫石斑鱼
问题描述
我希望按一天中的时间计算事件的数量。我按照此处的说明列出了计数列表,但也想包括零事件的小时数
以下是一些示例数据:
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文档,但没有看到有关如何填写缺失时间的任何信息。最好的方法是什么?
谢谢您的帮助!
解决方案
如果您确实需要缺少的时间戳,这是一种使用方式,resample
但使用 apply
df.groupby('foo').\
apply(lambda x : x.set_index('LocalDateTime').resample('H').count())['foo'].\
reset_index(name='count')
推荐阅读
- ruby-on-rails - 我应该更新我的 Gemfile 还是我的 Gemfile.lock 以获得 activesupport 更新?
- python - 白色背景 CV2 python 上未显示线
- express - 使用 Caddy 2 和 express 时的 CORS 问题
- c++ - InternetOpenUrl() 返回错误代码 12007 (ERROR_INTERNET_NAME_NOT_RESOLVED/ERROR_WINHTTP_NAME_NOT_RESOLVED)
- node.js - 是否可以使用 discord.js 在不和谐服务器中扮演适当的角色?
- reactjs - 使用 IonCards 在 Ionic React 中路由
- python - 为什么无法识别 lambda 函数中的变量
- reactjs - 获取模拟错误。没有为 POST 定义回退响应
- flutter - Flutter:变量类型的小部件推送
- python-3.x - 第一年的项目:我的 while 循环中的一个小错误让我发疯。非常感谢任何帮助