You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Pandas判定数据框仅1列?Python回归课程数据读取异常

解决红酒数据集加载后列数为1的问题

嘿,我之前也踩过这个坑!这绝对不是文件的问题,而是你加载数据时没指定正确的分隔符导致的——这个红酒数据集用的是**分号;**来分隔列,而pandas的read_csv()默认用逗号,作为分隔符,所以所有列都被合并成一列了,行数1599是对的,因为每一行都被正确识别成了一条数据。

正确的加载方式

直接在read_csv里指定sep=';'参数就行:

import pandas as pd
# 本地文件加载
rwq = pd.read_csv('winequality-red.csv', sep=';')
# 或者直接从URL加载
rwq = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv', sep=';')

验证结果

运行下面的代码确认列数:

print(rwq.shape)  # 输出 (1599, 12),符合预期
print(len(rwq.columns))  # 现在会返回12了

额外排查小技巧

如果不确定分隔符是什么,可以先读取几行原始内容确认:

# 查看前几行原始内容
with open('winequality-red.csv', 'r') as f:
    print(f.readlines()[:2])

你会看到第一行是类似fixed acidity;"volatile acidity";"citric acid";...这样的格式,明显是分号分隔的。

内容的提问来源于stack exchange,提问作者Randomdude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:58:28