好的,我当前有一列日期的dtype是object。
输出如下:
720344 31/12/2016
720345 31/12/2016
720346 31/12/2016
720347 31/12/2016
720348 31/12/2016
然后我有一列时间,其dtype为timedelta64 [ns],其输出类似于
10 00:15:04
11 00:12:20
12 00:14:37
13 00:18:42
我已经阅读了几个线程,看来我需要以某种方式使用pd.to_datetime函数。
我尝试过:
pd.to_datetime(dfdate['INCIDENT_DATE'] + " " + dfdate['DispatchTime'])
但是我得到了错误:
TypeError: ufunc add cannot use operands with types dtype('<U11') and dtype('<m8[ns]')
我猜它不喜欢object + timedelta命令。
然后我尝试使用以下方法将时间转换为str:
pd.to_datetime(dfdate['INCIDENT_DATE'] + " " + str(dfdate['DispatchTime']))
但是现在我得到了另一个错误:
ValueError: Unknown string format
答案 0 :(得分:2)
我认为有必要将to_datetime
的列INCIDENT_DATE
转换为datetime
,然后添加DispatchTime
列,因为timedelta
s:
print (dfdate.dtypes)
INCIDENT_DATE object
DispatchTime timedelta64[ns]
dtype: object
dfdate['date'] = pd.to_datetime(dfdate['INCIDENT_DATE']) + dfdate['DispatchTime']
print (dfdate)
INCIDENT_DATE DispatchTime date
720344 31/12/2016 00:15:04 2016-12-31 00:15:04
720345 31/12/2016 00:12:20 2016-12-31 00:12:20
720346 31/12/2016 00:14:37 2016-12-31 00:14:37
720347 31/12/2016 00:18:42 2016-12-31 00:18:42