如何在python中转换不寻常的24小时日期时间格式?

时间:2016-10-21 09:47:39

标签: python python-2.7 pandas

我有一个数据帧列的完整日期时间类型,格式为

2016Oct03:14:38:33

现在,数据框的此列的数据类型是String。我想将它转换为datetime,以便能够执行一些数字操作,如减法。我尝试在使用pd.to_datetime时指定格式,但由于时间是24小时格式,因此会抛出错误。做这个的最好方式是什么?提前谢谢!

3 个答案:

答案 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')

Doc:https://docs.python.org/2/library/datetime.html