以下代码给出了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()
进行转换也不起作用。