在 Python 中将日期转换为 %y-%m-%d 格式

Uss*_*u20 1 python datetime-format dataframe pandas

我有一个 csv 文件,其中包含“日期”列,其中包含许多不同格式的日期,例如 ddmmyy、mmddyy、yymmdd。我想将所有日期转换为 ymd 格式

df=pd.read_csv(file)
df=df['date] .dt.strftime(%y-%m-%d)
Run Code Online (Sandbox Code Playgroud)

此代码给出错误:“只能将 .dt 访问器与 datetimelike 值一起使用”

在此输入图像描述

Vae*_*hav 5

您可以利用pd.to_datetime -

>>> import pandas as pd
>>> 
>>> df = pd.DataFrame(['1/2/2020','12/31/2020','20-Jun-20'],columns=['Date'])
>>> df
         Date
0    1/2/2020
1  12/31/2020
2   20-Jun-20
>>> 
>>> df['Date'] = pd.to_datetime(df['Date'])
>>> df
        Date
0 2020-01-02
1 2020-12-31
2 2020-06-20
>>> 
>>> df['Date'] = pd.to_datetime(df['Date']).dt.strftime('%y-%m-%d')
>>> 
>>> df
       Date
0  20-01-02
1  20-12-31
2  20-06-20
>>> 


Run Code Online (Sandbox Code Playgroud)