Pandas:无法将日期时间 YYYY-mm-dd 转换为 dd-mm-YYYY

J-m*_*man 2 python string datetime series pandas

我有一个 pandas 数据框,其中包含日期列(datetime64[ns] 格式),日期列为 yyyy-mm-dd (如 2018-09-12)。我想将其转换为 dd-mm-yyyy 但我尝试的似乎不起作用:

pd.to_datetime(df['date'], format='%d-%m-%Y')
0    2018-09-12
1    2018-09-12
Run Code Online (Sandbox Code Playgroud)

编辑:添加示例 df

df.head(3)
        date      nr
0   2018-09-12   144
1   2018-09-12    37
2   2018-09-12    28

df.info()
date   datetime64[ns]
nr     int
Run Code Online (Sandbox Code Playgroud)

“日期”不包含任何 Nan 或 Nat

jpp*_*jpp 5

日期列为 yyyy-mm-dd(如 2018-09-12)。

是的,但这不是它们的存储方式。您所看到的是对象的特定字符串表示形式datetime。在内部,datetime存储为整数

我想将其转换为 dd-mm-yyyy 但我尝试的似乎不起作用

正确,因为pd.to_datetime转换为datetime对象。您需要将系列转换为一系列字符串,其object数据类型为:

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