我有一个熊猫数据帧,其中列带有日期(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
编辑:添加示例 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
"日期"不包含任何 Nan 或 Nat 的
日期列为 yyyy-mm-dd(如 2018-09-12(。
是的,但这不是它们的存储方式。您看到的是datetime
对象的特定字符串表示形式。在内部,datetime
值存储为整数。
我想将其转换为 dd-mm-yyyy,但我尝试的似乎没有 工程
正确,因为pd.to_datetime
转换为datetime
对象。您需要将系列转换为一系列字符串,这些字符串将具有object
dtype:
df['date'] = df['date'].dt.strftime('%d-%m-%Y')
您需要将使用to_datetime
解析的日期转换为所需表示形式的字符串。您现在看到的显示格式是用于Datetime
对象的默认格式:
In [10]: frame = {'date': ['2018-09-12', '2016-10-02']}
In [11]: pd.to_datetime(frame['date']).strftime('%d-%m-%Y')
Out[11]: Index(['12-09-2018', '02-10-2016'], dtype='object')