python - 具有本地化日期时间索引的数据框:如何删除没有给定时间的日期
问题描述
我有一个如下数据框:
A B
2014-06-02 09:00:00-04:00 ... ...
2014-06-02 10:00:00-04:00 ... ...
2014-06-02 11:00:00-04:00 ... ...
2014-06-02 12:00:00-04:00 ... ...
2014-06-03 09:00:00-04:00 ... ...
2014-06-03 10:00:00-04:00 ... ...
2014-06-03 11:00:00-04:00 ... ...
2014-06-04 09:00:00-04:00 ... ...
2014-06-04 10:00:00-04:00 ... ...
2014-06-04 11:00:00-04:00 ... ...
2014-06-04 12:00:00-04:00 ... ...
我需要删除没有小时 12:00:00-04:00 的日子:在我的示例中,它将是 2014-06-03。所以最终的数据框看起来像:
A B
2014-06-02 09:00:00-04:00 ... ...
2014-06-02 10:00:00-04:00 ... ...
2014-06-02 11:00:00-04:00 ... ...
2014-06-02 12:00:00-04:00 ... ...
2014-06-04 09:00:00-04:00 ... ...
2014-06-04 10:00:00-04:00 ... ...
2014-06-04 11:00:00-04:00 ... ...
2014-06-04 12:00:00-04:00 ... ...
请注意索引已本地化 (-04:00)
熊猫 0.24.2
解决方案
你可以groupby
和filter
df.groupby(df.index.date).filter(lambda s: 12 in s.index.hour)
A B
2014-06-02 09:00:00-04:00 ... ...
2014-06-02 10:00:00-04:00 ... ...
2014-06-02 11:00:00-04:00 ... ...
2014-06-02 12:00:00-04:00 ... ...
2014-06-04 09:00:00-04:00 ... ...
2014-06-04 10:00:00-04:00 ... ...
2014-06-04 11:00:00-04:00 ... ...
2014-06-04 12:00:00-04:00 ... ...
推荐阅读
- python - 分配给函数的整数 Input() 变量
- python - 为什么这种格式无效?
- wpf - MenuItems 在不同系统上的图标大小变化
- c++ - 密码管理器每次都会增加密码大小
- python - 为什么我不能在函数内部使用 vars() 来处理函数外部的变量?
- python - 使用嵌套数组打印嵌套 OrderedDict 中键和值的所有路径
- linux - ASP Net Core Linux ERR_CONNECTION_REFUSED
- javascript - MathJax 未正确显示动态添加(使用 js)矩阵
- javascript - 如何在 Vue CLI 组件中使用 Multi External CDN JavaScript 文件
- laravel - Laravel Eloquent 查询返回非对象