日期时间的Pandas“〈=”运算符意外行为

apeeds0o  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(92)

我确实有一个列为event_datetime的分析事件表
我只想过滤掉2天的Pandas表,例如,2月1日和2日:

event_data.loc[(event_data['event_datetime'] >= '2023-02-01') &(event_data['event_datetime'] <= '2023-02-02')]

但是这段代码只返回2023-02-01的事件,尽管我写的"2023-02- 02“比它少。
在sql中它工作得很好。我错过了什么吗?在Pandas文档中没有找到任何关于它的东西。

ljsrvy3e

ljsrvy3e1#

多亏了@Galo do Leste和@Nick奥德尔的提示,问题出在列的日期时间格式上--它没有正确地转换成str格式。
因此,如果列具有datetime类型,则运算符<=无法按预期工作。在将列正确转换为字符串格式后

event_data['event_datetime'] = event_data['event_datetime'].dt.strftime('%Y-%m-%d')
  • 它工作正常。

相关问题