将 Pandas 日期列格式从 "MMDDYYYY" 更改为"YYYY-MM-DD"



示例:10011933 ~ 1933-10-01

这是我在Pandas DataFrame中的数据:

日期
10011933
04041961
07061931
10281988

My attempt to solve:

df['date'] =  pd.to_datetime(df['date'],format='%Y%m%d')

错误信息-我得到以下错误:

ValueError:未转换数据:57

如何更正以删除错误?谢谢。

首先将字符串列解析为日期时间

df['datetime'] = pd.to_datetime(df['date'],format='%d%m%Y')

然后将日期时间格式化为所需格式的字符串

df['date_formatted'] = df['datetime'].dt.strftime('%Y%m%d')

或者你也可以在一行中完成

下面是一个可行的解决方案:

df['date_new'] = pd.to_datetime(df['date'],format='%m%d%Y').dt.strftime('%Y-%m-%d')

其中df['date_new']给出所需的输出

0    1933-10-01
1    1961-04-04
2    1931-07-06
3    1988-10-28