具有ValueError的日期时间转换

时间:2018-11-03 17:09:49

标签: python-3.x pandas

我有一个熊猫数据框,其中的列包含以下格式的开始和结束时间:2016-01-01 00:00:00

我想将这些时间转换为datetime对象,以便可以从另一个中减去一个以计算总持续时间。我正在使用以下内容:

import datetime

df = df['start_time'] = 
df['start_time'].apply(lambda x:datetime.datetime.strptime(x,'%Y/%m/%d/%T %I:%M:%S %p'))

但是,我有以下ValueError:

ValueError: 'T' is a bad directive in format '%Y/%m/%d/%T %I:%M:%S %p'

2 个答案:

答案 0 :(得分:1)

这会将列转换为datetime64 dtype。然后,您可以使用该列处理所需的任何内容。

df['start_time'] = pd.to_datetime(df['start_time'], format="%Y-%m-%d %H:%M:%S")

如果您想避免明确指定日期时间格式,则可以使用以下内容:

df['start_time'] = pd.to_datetime(df['start_time'], infer_datetime_format=True)

答案 1 :(得分:0)

最简单的是使用to_datetime

df['start_time'] = pd.to_datetime(df['start_time'])