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

Convert dates to %y-%m-%d format in Python

我有一个包含 'date' 列的 csv 文件,其中包含许多不同格式的日期,例如 ddmmyy、mmddyy、yymmdd。我想将所有日期转换为 y-m-d 格式

df=pd.read_csv(file)
df=df['date] .dt.strftime(%y-%m-%d)

此代码给出错误:“只能使用具有 datetimelike 值的 .dt 访问器”

步骤 0:-

你的dataframe:-

df=pd.read_csv('your file name.csv')

第一步:-

首先使用to_datetime()方法将'date'列转换为datetime:-

df['date']=pd.to_datetime(df['date'])

第 2 步:-

如果你想将它们转换成 string 这样的格式然后使用:-

df['date']=df['date'].astype(str)

现在如果你打印 df 或写 df(如果你使用的是 jupyter notebook)

Output:-

0    2020-01-01
1    2020-12-31
2    2020-06-20

您可以利用 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
>>>