这是列
Time CloseTime
17 09:30:00 2019-04-22 09:32:00
27 09:30:00 2019-05-13 09:32:00
36 09:30:00 15:15:00
37 09:30:00 15:15:00
44 09:30:00 2019-05-24 09:32:00
76 09:30:00 2019-06-07 09:32:00
92 09:30:00 2019-06-17 09:32:00
目前,两列的 dtype 都是 O。
我想将两列都转换为 time 以便我可以比较(减去)它们。
我试过:
df['CloseTime'] = pd.to_datetime(df['CloseTime'])
请您参考如下方法:
关闭,您需要将两列都转换为 timedeltas,第二列删除日期,以便稍后处理:
df['Time'] = pd.to_timedelta(df['Time']. astype(str))
df['CloseTime'] = pd.to_timedelta(df['CloseTime'].str.split().str[-1])
#e.g. subtract columns
df['diff'] = df['CloseTime'].sub(df['Time'])
print (df)
Time CloseTime diff
17 09:30:00 09:32:00 00:02:00
27 09:30:00 09:32:00 00:02:00
36 09:30:00 15:15:00 05:45:00
37 09:30:00 15:15:00 05:45:00
44 09:30:00 09:32:00 00:02:00
76 09:30:00 09:32:00 00:02:00
92 09:30:00 09:32:00 00:02:00
