【问题标题】:Parsing date with pandas fails in Python在 Python 中使用 pandas 解析日期失败
【发布时间】:2019-10-05 18:14:55
【问题描述】:

所以我有这样格式的日期

'05/03/2016 晚上 11:40:00'

我想在我的 Python 应用程序中解析它。但是由于 pandas 不接受我提供的格式,所以我在解析时遇到了堆栈。

我也浏览过关于 pandas 和 stackoverflow 教程的文档,但这里没有任何解决方案对我有用。

import pandas as pd

df = pd.read_csv("crimes12-18.csv")
df.Date = pd.to_datetime(df.Date, format='%d/%m/%Y %H:%M:%S %p')
df.index = pd.DatetimeIndex(df.Date)

df['time_hour'] = df['Date'].apply(lambda x: x.hour)
df['month'] = df['Date'].apply(lambda x: x.month)
df['year'] = df['Date'].apply(lambda x: x.year)

df = df[df['year'] != 2017]

df.head()

在一天结束时,我遇到了这样的错误

ValueError: time data '05/03/2016 11:40:00 PM' does not match format '%d/%m/%Y %I %p' (match)

【问题讨论】:

  • 不太清楚发生了什么。在问题中,您似乎使用的格式与您在错误中收到的格式不同。无论如何,您似乎只想format='%d/%m/%Y %I:%M:%S %p'
  • @ALollz,我仍然收到同样的错误。看下面提供的截图snag.gy/jtQ3pL.jpg
  • 你的意思可能是%m/%d/%Y ... 不太清楚第 21 个月是什么。
  • @ALollz,你是救生员。非常感谢,终于成功了。

标签: python pandas date parsing


【解决方案1】:

正如@ALollz 所说,问题出在%m/%d/%Y ... 终于成功了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多