日期时间12小时格式熊猫Python

时间:2018-08-23 23:34:11

标签: python pandas datetime

我正在尝试将此时间格式转换为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)

1 个答案:

答案 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'作为参数,以使转换更加明确。