使用Pandas加载Boston数据集遇换行识别异常,求排查方案
Pandas加载波士顿数据集的问题解决
问题原因
你指定sep=" "(固定两个空格)作为分隔符,但波士顿数据集的字段分隔是不定数量的空格,且部分样本数据被拆分为两行存储,导致Pandas无法正确解析列结构,触发错误。
修正代码
import pandas as pd import numpy as np # 加载数据集,自动识别任意空格分隔,跳过说明行 df = pd.read_csv( "http://lib.stat.cmu.edu/datasets/boston", skiprows=21, delim_whitespace=True, header=None ) # 合并拆分的行,还原完整样本 data = df.values # 奇数行+偶数行拼接成完整特征 X = np.hstack([data[::2], data[1::2]]) # 目标值是偶数行的最后一列 y = data[1::2, -1]
核心要点
delim_whitespace=True:替代固定分隔符,让Pandas自动识别任意数量的空格/制表符,适配数据集的格式。- 行合并:原始数据中每个样本的特征被拆分为两行,通过切片拼接奇数行和偶数行,还原完整的样本结构。
内容的提问来源于stack exchange,提问作者Scuba Steve
相关产品推荐
相关产品推荐

