时间数据格式不匹配


time data '07/10/2019:08:00:00 PM' does not match format '%m/%d/%Y:%H:%M:%S.%f'

我不知道怎么了。下面是我一直在使用的代码:

import datetime as dt
df['DATE'] = df['DATE'].apply(lambda x: dt.datetime.strptime(x,'%m/%d/%Y:%H:%M:%S.%f'))

下面是一个示例:

Transaction_date
07/10/2019:08:00:00 PM
07/23/2019:08:00:00 PM
3/15/2021
8/15/2021
8/26/2021

格式不正确。试一试:

df["DATE"] = pd.to_datetime(df["DATE"], format="%m/%d/%Y:%I:%M:%S %p")

您应该使用%I来指定12小时格式,而使用%p来指定AM/PM。单独使用pd.to_datetime代替导入datetime和使用apply

例子:
>>> pd.to_datetime('07/10/2019:08:00:00 PM', format="%m/%d/%Y:%I:%M:%S %p")
Timestamp('2019-07-10 20:00:00')
编辑:

要处理多种格式,可以使用pd.to_datetimefillna:

df["DATE"] = pd.to_datetime(df["DATE"], format="%m/%d/%Y:%I:%M:%S %p", errors="coerce").fillna(pd.to_datetime(df["DATE"], format="%m/%d/%Y", errors="coerce"))

相关内容

  • 没有找到相关文章

最新更新