我正在尝试将此时间格式转换为datetime:
Date Hour
05/12/17 2:15 p
05/12/17 2:20 p
05/12/17 2:25 p
使用:
pd.to_datetime(df['Hour'], format="%I:%M %p")
出现此错误:
ValueError: time data '05/12/17 2:15 p' does not match format '%d/%m/%y %I:%M %p' (match)
答案 0 :(得分:2)
df = pd.DataFrame({
'Date': ['05/12/17'] * 3,
'Hour': ['2:15 p', '2:20 p', '2:25 a']})
>>> pd.to_datetime(
df['Date']
+ " "
+ df['Hour'].str.replace('p', 'PM').str.replace('a', 'AM')
)
0 2017-05-12 14:15:00
1 2017-05-12 14:20:00
2 2017-05-12 02:25:00
dtype: datetime64[ns]
请注意,我将第三项从“ p”更改为“ a”以显示其对AM的工作方式。我还假设'AM'和'PM'是您所在地区的正确表示形式。
您可以添加format='%m/%d/%y %I:%M %p'
作为参数,以使转换更加明确。