Pandas to_datetime 错误“未转换的数据仍然存在”

Not*_*ame 4 python datetime pandas

我正在尝试将 Pandas DataFrame 中的日期列转换为日期时间格式。如果我不指定日期格式,它可以正常工作,但在代码中,由于时间格式不同,我会遇到问题。

10/10/2019 6:00欧洲日期格式的原始日期如下所示。

我尝试像这样指定格式:

df['PeriodStartDate'] = pd.to_datetime(df['PeriodStartDate'], 
          format="%d/%m/%Y")
Run Code Online (Sandbox Code Playgroud)

这会导致错误:unconverted data remains 6:00

然后,我尝试更新格式指令,但format="%d/%m/%Y %-I/%H"出现了另一个错误:'-' is a bad directive in format '%d/%m/%Y %-I/%H'尽管我认为to_datetime使用相同的指令,并且strftime在后者中%-I是允许的。

沮丧中,我决定砍掉绳子的末端,因为我真的不需要几小时和几分钟:

    df['PeriodStartDate'] = df['PeriodStartDate'].str[:10]
    df['PeriodStartDate'] = pd.to_datetime(df['PeriodStartDate'], 
          format="%d/%m/%Y")
Run Code Online (Sandbox Code Playgroud)

但这再次导致错误:ValueError: unconverted data remains:这当然是因为某些日期有 9 位数字,例如3/10/2019 6:00

不太确定从这里去哪里。

And*_* L. 5

格式%H:%M就可以了(不要忘记:中间的

pd.to_datetime('10/10/2019 6:00', format="%m/%d/%Y %H:%M")

Out[1049]: Timestamp('2019-10-10 06:00:00')

pd.to_datetime('3/10/2019 18:00', format="%d/%m/%Y %H:%M")

Out[1064]: Timestamp('2019-10-03 18:00:00')
Run Code Online (Sandbox Code Playgroud)