Pandas:系列时间戳比较会产生一个类型错误

时间:2015-02-26 20:14:08

标签: python pandas python-datetime

以下代码给出了TypeError:

slicer = df.picked_up.notnull() & df.pickup_by.notnull()
df[slicer].picked_up < df[slicer].pickup_by

我在最后一行得到TypeError: can't compare datetime.datetime to long

但是当我做的时候

slicer = df.picked_up.notnull() & df.pickup_by.notnull()
df[slicer].apply(lambda x: x["picked_up"] < x["pickup_by"], axis=1)

我没有收到任何错误。问题是apply()需要很长时间,我试图尽可能地将其删除。我试图找出哪些条目存在问题,但我无法识别任何类型的条目&#34; long&#34;:

print df.picked_up.map(type).unique(), df.pickup_by.map(type).unique()

> [<class 'pandas.tslib.Timestamp'> <class 'pandas.tslib.NaTType'>] [<type 'NoneType'> <type 'datetime.datetime'>]

print df[slicer].picked_up.map(type).unique(), df[slicer].pickup_by.map(type).unique()

> [<class 'pandas.tslib.Timestamp'>] [<type 'datetime.datetime'>]

如果long函数说没有任何问题,我怎样才能确定这些有问题的type元素的位置?

使用pandas版本0.15.2

注意:预先使用pd.to_timestamp()进行转换也不起作用。

0 个答案:

没有答案