使用pandas.read_csv导入数据到DataFrame后df.head()显示行错位求助
解决方案
你遇到的错位问题最常见的原因是红酒质量数据集的默认分隔符不是逗号,而是分号,pandas read_csv 默认使用逗号作为分隔符,就会出现列识别错误、内容错位的情况。
- 方法1:指定分隔符为分号
修改导入代码即可:
import numpy as np import pandas as pd # 新增sep参数指定分隔符为分号 df = pd.read_csv(r"C:\Users\micha\OneDrive\Dokumenty\ML\winequality-red.csv", sep=';') df.head()
- 方法2:修改分隔符后仍错位可先确认实际分隔符
如果改完sep还是不对,可以先读取文件前几行原始内容,确认实际用的分隔符:
with open(r"C:\Users\micha\OneDrive\Dokumenty\ML\winequality-red.csv", 'r', encoding='utf-8') as f: # 打印前3行原始内容,查看分隔符类型 for _ in range(3): print(repr(f.readline()))
根据打印结果里的分隔符号,给sep参数传入对应值即可。
- 方法3:特殊格式问题兼容处理
如果文件存在不规则转义、引号嵌套或者开头有多余说明行,可以加兼容参数处理:
import csv df = pd.read_csv( r"C:\Users\micha\OneDrive\Dokumenty\ML\winequality-red.csv", sep=';', quoting=csv.QUOTE_MINIMAL, engine='python', skiprows=0 # 如果开头有N行无用内容,把0改成对应数值即可 )
内容的提问来源于stack exchange,提问作者Tekier
相关产品推荐
相关产品推荐

