关于根据日期时间列过滤数据框的奇怪行为
A strange behaviour regarding filtering a dataframe based on the datatime column
我遇到以下代码的奇怪情况。如您所见,似乎没有 timestamp_day 值小于以下代码中指定值的数据:
print myDF.shape
> (447609, 20)
print myDF[myDF['timestamp_day'] < timedelta(2014, 7, 26, 2, 0)].shape
> (0, 20)
但是,当我检查 timestamp_day 的最小值(见下文)时,我发现上面的代码应该 return 一些行。
myDF['timestamp_day'].min()
> datetime.datetime(2014, 5, 21, 12, 0)
有人知道为什么会这样吗?
尝试提取一些实践值来测试您的不等式是否有意义。
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
我遇到以下代码的奇怪情况。如您所见,似乎没有 timestamp_day 值小于以下代码中指定值的数据:
print myDF.shape
> (447609, 20)
print myDF[myDF['timestamp_day'] < timedelta(2014, 7, 26, 2, 0)].shape
> (0, 20)
但是,当我检查 timestamp_day 的最小值(见下文)时,我发现上面的代码应该 return 一些行。
myDF['timestamp_day'].min()
> datetime.datetime(2014, 5, 21, 12, 0)
有人知道为什么会这样吗?
尝试提取一些实践值来测试您的不等式是否有意义。
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