问题描述
我在具有以下格式的列中有字符串类型日期:August 14,2020
。我想将它转换为具有通常日期时间格式的日期时间对象,但使用下面的代码给了我纪元时间:
df.loc[mask,'date_added'] = df.loc[mask,'date_added'].apply(lambda x : pd.to_datetime(x))
我知道您可以使用 .fromtimestamp()
,但是 .to_datetime()
中是否有获取日期时间对象和格式的选项?我认为使用 .fromtimestamp()
也很难合并到一个 lambda 函数中。我还尝试将 .to_period()
添加到 lambda 函数中,这会导致格式正确,但在使用 seaborn 绘图时会导致问题。
在将字符串转换为日期时间时,有没有办法将其转换为常规日期时间格式?
示例数据:
show_id date_added
0 s1 August 14,2020
1 s2 December 23,2016
2 s3 December 20,2018
3 s4 November 16,2017
示例数据的df代码:
pd.DataFrame(([(0,'s1','August 14,2020'),(1,'s2','December 23,2016'),(2,'s3','December 20,2018'),(3,'s4','November 16,2017')]),columns=['index','id','date_added'])
解决方法
是的,你可以df['date_added']=df['date_added'].astype('datetime')