ParserError: Expected 14 fields in line Y saw X和Input contains NaN, infinity or a value too large fo

本文详细解析了在使用Pandas读取CSV文件时遇到的常见异常,包括字段数量不匹配及NaN值引发的错误。提供了实用的代码示例,如如何定位错误行、删除多余字段,以及如何处理缺失值,确保数据的完整性和准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

csv文件的相关异常

File "pandas\_libs\parsers.pyx", line 876, in pandas._libs.parsers.TextReader.read
  File "pandas\_libs\parsers.pyx", line 891, in pandas._libs.parsers.TextReader._read_low_memory
  File "pandas\_libs\parsers.pyx", line 945, in pandas._libs.parsers.TextReader._read_rows
  File "pandas\_libs\parsers.pyx", line 932, in pandas._libs.parsers.TextReader._tokenize_rows
  File "pandas\_libs\parsers.pyx", line 2112, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 14 fields in line 297, saw 16

按他报错提醒去对应的csv文件中的297
在这里插入图片描述
这里276行一共有16个字段,而定义的字段是14个:
在这里插入图片描述
所以需要删除两个数据,出现这一步可能是一不小心造成的

但是删除两个数据后又会出现
ValueError: Input contains NaN, infinity or a value too large for dtype(‘float64’).
的错误
解决方法:
这是导入的文件

heart_data = pd.read_csv('heart.csv')

首先找到错误参数:

ta=np.isnan(heart_data).any()
print(ta)`在这里插入代码片`

打印出数据中对应的列如果有缺失就会出现 “列名 True”,
这时候执行下一步:

heart_data.dropna(inplace=True)

将数据中对应属性数据缺失的那一行自动删除
如下图,这时结果已经运行出来了
在这里插入图片描述

也可以根据需要对缺失值进行填充处理,填充值自己选择:
train.fillna(‘100’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值