python - 如何使用 pandas 弹出导致错误的日期记录?
问题描述
我有一个如下所示的数据框
df = pd.DataFrame({'date': ['45:42.7','11/1/2012 0:00','20/1/2012 2:48','15/1/2012 0:00',np.nan]})
我想将date
列转换为 type datetime
。
所以,我尝试了以下
df['date'] = pd.to_datetime(df['date'])
我收到以下错误
ValueError: hour must be in 0..23
正如我们从示例数据帧中看到的那样,NA
不是导致此错误,而是第一条记录是45:42.7
.
虽然原始 excel 文件45:42.7
在我打开文件时显示此日期值,但当我双击单元格时,它会正确显示实际日期。
如何过滤数据框以弹出第一条记录作为输出(这是导致记录的错误)?
我希望我的输出如下面的示例数据框中所示
df = pd.DataFrame({'error_date': ['45:42.7']})
解决方案
首先,如果需要查看错误值转换为日期时间并过滤缺失值,例如:
print(df[pd.to_datetime(df['date'], format='%d/%m/%Y %H:%M',errors='coerce').isna()])
我认为没问题,您需要指定列格式,如果添加参数None
,则会生成不匹配的行:NaN
errors='coerce'
df['date'] = pd.to_datetime(df['date'], format='%d/%m/%Y %H:%M',errors='coerce')
print (df)
date
0 2012-03-06 08:57:00
1 2012-01-11 00:00:00
2 2012-01-20 02:48:00
3 2012-01-15 00:00:00
4 NaT
推荐阅读
- python - 如何将风向划分为角度以绘制风玫瑰蟒
- python - Python Bsoup find_all() 空列表/查找无
- c# - C# WPF 在单击重复操作时出现气球提示问题
- testing - 难以通过 Jmeter 保存用户数据(使用 csv 数据集配置)
- mongodb - 在docker中连接mongo express服务的问题
- python - 尝试使用 pyKML 解析 KML 文件并提取数据
- redis - REDIS 发布/订阅问题
- c# - 通过在运行时在泛型方法中进行类型转换来使用递归函数
- php - 何时重新生成会话 ID Laravel?
- python - 如何跟踪点击次数而不是两次点击同一个地方