所以我已经阅读了很多关于此问题的帖子,我仍然感到难过。任何帮助都将深表感谢。
我在数据框中有一个包含日期字符串的列,或者什么也没有。字符串采用以下格式: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 "")
我希望这会返回一个字符串,格式与原始字符串从列中读取时的格式不同。
答案 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('')