【发布时间】:2015-04-28 18:51:16
【问题描述】:
我有一个熊猫数据框“df_OUT”,如下所示。我正在使用 python 2.7 -
>>> df_OUT.dtypes
TRX_DATE datetime64[ns]
ACTUAL_DATE_CLOSED object
数据框中的值如下所示 -
>>> df_OUT.head(5)
TRX_DATE ACTUAL_DATE_CLOSED
0 1995-09-08 4712-12-31 00:00:00
2 2003-06-30 4712-12-31 00:00:00
3 2003-06-30 4712-12-31 00:00:00
4 2003-06-30 4712-12-31 00:00:00
6 1999-08-31 2099-08-31 00:00:00
现在我想找出“TRX_DATE”和“ACTUAL_DATE_CLOSED”在数字中带和不带日期部分的区别。
我尝试了以下 -
df_FINAL_RESULTS['TRX_DATE']-df_FINAL_RESULTS['ACTUAL_DATE_CLOSED'].map(lambda x: x.strftime('%Y-%m-%d'))
这给了我错误-
TypeError: incompatible type [object] for a datetime/timedelta operation
你能指导我吗?
谢谢。
【问题讨论】:
-
您的日期时间字符串无法被 pandas 或 datetime.strptime 解析,这些日期时间字符串是否有效?
-
我有解决方案 - df_FINAL_RESULTS['TRX_DATE'].astype(datetime) - df_FINAL_RESULTS['ACTUAL_DATE_CLOSED'].astype(datetime)。为我工作,谢谢。
-
您注意到 ACTUAL_DATE_CLOSED 年份是 4712 和 2099?
-
@Alexander - 是的,我知道数据集在这里有虚拟数据。
标签: python python-2.7 python-3.x pandas