我有一个熊猫数据框,其中的列包含以下格式的开始和结束时间: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'
答案 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'])