首页 > 解决方案 > pandas to_datetime 留下未转换的数据

问题描述

我正在尝试将包含类似于“201905011”(年/月/日)的字符串的列转换为日期时间,理想情况下显示为 05-01-2019(月/日/年)。我目前正在尝试关注,但它对我不起作用。

pd.to_datetime(data.datetime, format = '%Y%m%d%H') 

这给我留下了错误:“ValueError:未转换的数据仍然存在:4”

我想知道如何正确地做到这一点。

标签: pandas

解决方案


我创建了一个基于 ALollz 评论的示例。我创建了一个数据框,其中第一行是正确的,第二行最后有额外的 0。如果使用该方法,它将返回数据与指定格式不匹配的行。

import pandas as pd
df = pd.DataFrame({"datefield":["201901010","20190101010"]})
df.loc[pd.to_datetime(df.datefield, format='%Y%m%d%H', errors='coerce').isnull(), 'datefield']
1    20190101010
Name: datefield, dtype: object

推荐阅读