将字符串列转换为DateTime格式

时间:2016-06-08 05:07:52

标签: python string datetime pandas dataframe

我有一个DataFrame列,其值为字符串类型' 2016年6月6日,6'我希望将其转换为DataTime作为' YYYY-MM-DD HH:MM'格式。

当尝试通过仅获取值进行转换时,我可以将其转换为正确的格式。

**Option1**
df['Date'] = df.Date.apply(lambda x: dt.datetime.strptime(x, "%B %d, %Y, %H").date())

**Option2**
df['Date'] = pd.to_datetime(df['Date'] = df.Date.apply(lambda x: dt.datetime.strptime(x, "%B %d, %Y, %H"))

但是当我尝试使用不同的选项在python数据帧列上应用相同的转换时,我没有及时参与转换。

const {foo} = foo

输出:两个案例都得到2016-06-06

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:2)

我认为您需要将参数format添加到to_datetime

print (pd.to_datetime('June 6, 2016, 11', format='%B %d, %Y, %H'))
2016-06-06 11:00:00

它也适用于DataFrame

df = pd.DataFrame({'Date':['June 6, 2016, 11', 'May 6, 2016, 11']})
print (df)
               Date
0  June 6, 2016, 11
1   May 6, 2016, 11

print (pd.to_datetime(df['Date'], format='%B %d, %Y, %H'))
0   2016-06-06 11:00:00
1   2016-05-06 11:00:00
Name: Date, dtype: datetime64[ns]