我有一个数据帧列的完整日期时间类型,格式为
2016Oct03:14:38:33
现在,数据框的此列的数据类型是String。我想将它转换为datetime,以便能够执行一些数字操作,如减法。我尝试在使用pd.to_datetime时指定格式,但由于时间是24小时格式,因此会抛出错误。做这个的最好方式是什么?提前谢谢!
答案 0 :(得分:4)
时间格式似乎没有任何异常; 24小时绝对标准。
正常的strptime很好:
datetime.strptime(my_date, '%Y%b%d:%H:%M:%S')
答案 1 :(得分:1)
您需要to_datetime
参数format
:
df = pd.DataFrame({'dates':['2016Oct03:14:38:33',
'2016Oct03:14:38:33',
'2016Oct03:14:38:33']})
print (df)
dates
0 2016Oct03:14:38:33
1 2016Oct03:14:38:33
2 2016Oct03:14:38:33
df.dates = pd.to_datetime(df.dates, format='%Y%b%d:%H:%M:%S')
print (df)
dates
0 2016-10-03 14:38:33
1 2016-10-03 14:38:33
2 2016-10-03 14:38:33
答案 2 :(得分:0)
重复的问题
使用datetime.strptime
例如:
from datetime import datetime
date_object = datetime.strptime('2016Oct03:14:38:33', '%Y%b%d:%H:%M:%S')