首页 > 解决方案 > 转换我的日期列时错误的字符串格式

问题描述

我正在尝试转换我的日期列df['CO date'],它以这种格式显示3/02/21,意思是日期/月/年,当我解析它然后将它传递给字符串时出现问题,就像这样。

df['CO date'] = pd.to_datetime(df['CO date']).dt.strftime("%d/%m/%y")

由于某种原因,在我将日期时间转换为显示格式的字符串后,它以美国格式返回我的日期,例如02/03/21,我不明白为什么会发生这种情况,我唯一能想到的是 Python 只有字符串格式 %d 将日期显示为 01,02,03,04 等,而我的 df 上的日期最初是“3”天(非填充零)。

有谁知道我该如何解决这个问题?

提前谢谢了

标签: pythonpython-3.xdate-formattingpython-datetime

解决方案


您的格式看起来正确。获得该结果的唯一方法是您的数据框包含错误或损坏的数据。您可以通过以下方式进行完整性检查:

pd.to_datetime("2021-03-02").strftime("%d/%m/%y")
>>>
'02/03/21'

我认为您在一开始就以错误的格式进行转换pd.to_datetime(df['CO date'])。如果你知道确切的格式,你应该使用format如下pd.to_datetime

pd.to_datetime("2021-02-03", format="%Y-%d-%m").strftime("%d/%m/%y")
>>>
'02/03/21'

推荐阅读