Python - 使用datetime将日期字符串从YYYY-MM-DD转换为DD-MMM-YYYY?

时间:2017-10-25 20:24:19

标签: python pandas date datetime

所以我已经阅读了很多关于此问题的帖子,我仍然感到难过。任何帮助都将深表感谢。

我在数据框中有一个包含日期字符串的列,或者什么也没有。字符串采用以下格式:2017-10-17,即YYYY-MM-DD

我想将这些内容转换为DD-MMM-YYYY,因此上面的内容会显示为17-Oct-2017

这是我的代码,似乎什么都不做。它没有错误,但实际上并没有修改日期;它们和以前一样。我在开头称之为:import datetime

df_combined['VisitDate'].apply(lambda x: datetime.datetime.strptime(x, '%Y-%m-%d').strftime('%d-%b-%Y') if x != "" else "")

我希望这会返回一个字符串,格式与原始字符串从列中读取时的格式不同。

2 个答案:

答案 0 :(得分:4)

您可能只需要将结果分配回列本身:

df_combined['VisitDate'] = df_combined['VisitDate'].apply(lambda x: datetime.datetime.strptime(x, '%Y-%m-%d').strftime('%d-%b-%Y') if x != "" else "")

答案 1 :(得分:2)

使用apply

无需pd.to_datetime
pd.to_datetime(df_combined['VisitDate'],errors='coerce',format='%d-%b-%Y').fillna('')