gpt4 book ai didi

python - Pandas - 在同一列中格式化不同格式的日期列

转载 作者:行者123 更新时间:2023-12-01 00:55:38 24 4
gpt4 key购买 nike

我正在尝试将时间戳列转换为以下格式:

预期输出:2019-05-20 13:25:00

下面是我的数据框:

item, date
item_1, 2019-05-19 22:47:51.722615
item_2, 22/05/19 9:43

我尝试执行以下操作:

pd.to_datetime(df['date'], format='%Y-%m-%d %H:%M:%S').dt.strftime(
'%Y-%m-%d %H:%M:%S')

我不断收到错误ValueError:时间数据 22/05/19 9:43 与指定的格式不匹配

最佳答案

如果可能,请删除参数格式:

df['date1'] = pd.to_datetime(df['date']).dt.strftime('%Y-%m-%d %H:%M:%S')

如果需要指定所有格式,请为 NaN 添加参数 errors='coerce' 来表示不匹配的值,然后使用 Series.round最终日期时间:

d1 = pd.to_datetime(df['date'], format='%Y-%m-%d %H:%M:%S', errors='coerce')
d2 = pd.to_datetime(df['date'], format='%d/%m/%y %H:%M', errors='coerce')

df['date2'] = d1.combine_first(d2).dt.strftime('%Y-%m-%d %H:%M:%S')
print (df)
item date date1 \
0 item_1 2019-05-19 22:47:51.722615 2019-05-19 22:47:51
1 item_2 22/05/19 9:43 2019-05-22 09:43:00

date2
0 2019-05-19 22:47:51
1 2019-05-22 09:43:00

关于python - Pandas - 在同一列中格式化不同格式的日期列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56269376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com