pandas - pandas to_datetime 留下未转换的数据
问题描述
我正在尝试将包含类似于“201905011”(年/月/日)的字符串的列转换为日期时间,理想情况下显示为 05-01-2019(月/日/年)。我目前正在尝试关注,但它对我不起作用。
pd.to_datetime(data.datetime, format = '%Y%m%d%H')
这给我留下了错误:“ValueError:未转换的数据仍然存在:4”
我想知道如何正确地做到这一点。
解决方案
我创建了一个基于 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
推荐阅读
- solr - solr 架构中的复制字段不起作用
- c - 尝试运行一个程序,在运行函数 copyij() 和 copyji() 后以秒为单位跟踪经过的时间
- python - 如何在没有确定停止参数的模式时使用 slice() 获取子字符串 pandas 系列
- tcp - 如何检查非阻塞 luasocket 客户端是否丢失了连接?
- string - 如何使用 grep/sed/awk 根据匹配模式将一个文件中的行替换为另一个文件中的行?
- c# - 将用户表单输入保存到模型并在视图中显示(“对象引用未设置为对象的实例”)
- html - 使 div 的“a”项不具有相同的 css 属性
- centos7 - Postfix 邮件日志:是否可以防止某些类型的守护进程/模块事件消息被写入日志?
- regex - 在已编译的正则表达式中禁用捕获?(例如,Perl 5.22+、/n 修饰符)
- c++ - 使用 std::min_element, std::max_element 查找向量中的最小和最大元素