微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

转换日期列时字符串格式错误

如何解决转换日期列时字符串格式错误

我正在尝试转换名为 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”天(非填充零)。

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

非常感谢

解决方法

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

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'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。