有关基于datatime列过滤数据帧的奇怪行为

时间:2017-03-03 16:51:22

标签: python pandas datetime dataframe timedelta

下面的代码我有一个奇怪的情况。如您所见,似乎没有 timestamp_day 值小于下面代码中指示值的数据:

print myDF.shape
> (447609, 20)

print myDF[myDF['timestamp_day'] < timedelta(2014, 7, 26, 2, 0)].shape
> (0, 20)

但是,当我检查 timestamp_day 的最小值(见下文)时,我发现上面的代码应该返回一些行。

myDF['timestamp_day'].min()
> datetime.datetime(2014, 5, 21, 12, 0)

任何人都有任何想法为什么会这样?

1 个答案:

答案 0 :(得分:1)

尝试提取一些练习值来测试你的不平等是否有意义。

datetime.datetime(2014, 5, 21, 12, 0) < timedelta(2014, 7, 26, 2, 0)
TypeError: unorderable types: datetime.datetime() < datetime.timedelta()

您是否尝试过将datetime.datetime与?进行比较?

datetime.datetime(2014, 5, 21, 12, 0) < datetime.datetime(2014, 7, 26, 2, 0)
True
相关问题