首页 > 解决方案 > 熊猫从时间开始选择行,而不是日期时间

问题描述

给定一个数据框:

df = pd.DataFrame({'a': [10, 20, 40, 50,60,70,80,100]},index = pd.DatetimeIndex(['2018-02-27 09:01:00','2018-02-27 09:02:00','2018-02-27 09:04:00','2018-02-27 09:05:00','2018-03-27 09:01:00','2018-03-27 09:02:00','2018-03-27 09:03:00','2018-03-27 09:05:00']))

我希望得到截至 09:04 的值,在这种情况下,它应该返回 2 行,'a' 值为 40 和 80。看来 pandas 只需要 datetime 作为 asof() 的输入,我必须做一些预先- 处理自己创建所有过滤器。我想知道 pandas 中是否已经有这样的功能,像 09:04 这样的输入就足够了,或者其他简单的方法来获得结果。

编辑:对不起,我在开始时输入了错误的 df - 第二天不应该是 09:04,因此需要 asof()。

标签: pandas

解决方案


我在用strftime

df[df.index.strftime('%H:%M')=='09:04']
Out[652]: 
                      a
2018-02-27 09:04:00  40
2018-03-27 09:04:00  90

推荐阅读