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

pandas使用read_csv导入UCI银行营销数据集时索引错误如何解决

问题原因
  • 目标CSV文件本身自带表头行,代码中额外传入names参数会导致原表头被识别为第一行数据,同时覆盖原有列名
  • 你自定义的列名只有17个,但该数据集实际共有21列,列数不匹配导致数据读取出错
  • 无需额外配置index_col=None,默认参数就不会将首列设为索引
正确实现代码

方案1:直接使用数据集自带的官方列名

import pandas as pd

url = 'https://raw.githubusercontent.com/ThamuMnyulwa/bankMarketing/main/bank-additional-full.csv'
raw_dataset = pd.read_csv(url, sep=';', na_values='?', skipinitialspace=False)

方案2:需要自定义列名的场景

如果要替换官方默认列名,需要补全全部21个字段的命名,同时新增header=0参数指定原有表头行需要被覆盖:

import pandas as pd

url = 'https://raw.githubusercontent.com/ThamuMnyulwa/bankMarketing/main/bank-additional-full.csv'
# 完整21列自定义命名,可根据需求调整
column_names = ["age", "job", "marital", "education", "default", "housing", "loan", "contact", "month", "day_of_week",
                "duration", "campaign", "pdays", "previous", "poutcome", "emp_var_rate", "cons_price_idx", 
                "cons_conf_idx", "euribor3m", "nr_employed", "y"]
raw_dataset = pd.read_csv(url, sep=';', na_values='?', header=0, names=column_names, skipinitialspace=False)

读取完成后可执行raw_dataset.shape验证,输出应为(41188, 21),符合该数据集的实际规模。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:45:01