【发布时间】: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