【问题标题】:time data mm/dd/YYYY doesn't match format specified时间数据 mm/dd/YYYY 与指定的格式不匹配
【发布时间】:2021-10-28 18:29:30
【问题描述】:

我有一列格式如下:

原始格式:

mm/dd/YYYY
10/28/2021
10/28/2021

之后的输出: print(df['mm/dd/YYYY'])

0 2021-10-28 00:00:00

1 2021-10-28 00:00:00

但是,当我尝试转换为日期时间时,出现以下错误:

pd.to_datetime(df['mm/dd/YYYY'], format='%Y-%m-%d %H:%M:%S')

时间数据 mm/dd/YYYY 与指定格式不匹配

【问题讨论】:

  • df 中的值似乎没有对齐,也许那里有一些空白字符?试试 pd.to_datetime(df['mm/dd/YYYY'].str.strip(), format='%Y-%m-%d %H:%M:%S')。并且请不要发布数据的图片。查看here 获取一些指南
  • 您好,感谢您的回复。我现在已经编辑了我的问题。我尝试了您的解决方案,但这没有帮助。原始文件中没有空白字符。
  • pandas推断格式即可;使用pd.to_datetime(df['mm/dd/YYYY'])

标签: python pandas datetime


【解决方案1】:

您传递的格式错误。试试
pd.to_datetime(df['mm/dd/YYYY'], format='%m/%d/%Y')

【讨论】:

  • ValueError: 时间数据 '2021-10-28 00:00:00' 与格式 '%m/%d/%Y' 不匹配(匹配)
  • 嗨,请检查df.dtypes,我认为“mm/dd/YYYY”列已经是 datetime64 格式。如果您想将其转换为另一种格式(字符串),请使用 .dt.strftime() 如 df['mm/dd/YYYY'].dt.strftime('%m-%d-%Y')
猜你喜欢
  • 2021-02-12
  • 2017-07-10
  • 1970-01-01
  • 2015-10-08
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
  • 2017-07-09
  • 2023-03-15
相关资源
最近更新 更多