如何移除Hugging Face Billsum Dataset中的列?遇AttributeError报错
解决Hugging Face Billsum数据集移除列时的AttributeError问题
核心原因 & 解决方案
版本过低导致方法缺失:
remove_columns是Hugging Face Datasets库较新版本才引入的方法,旧版本的Dataset对象没有这个属性。
解决:升级Datasets库pip install --upgrade datasets针对旧版本的替代方案:如果暂时无法升级,可使用
select_columns反向保留需要的列,效果等同于移除其他列。示例:from datasets import load_dataset # 加载Billsum数据集(默认返回DatasetDict,包含train/test/validation子集) billsum = load_dataset("billsum") # 仅保留train集中的text和summary列,自动移除其他列 billsum["train"] = billsum["train"].select_columns(["text", "summary"])
注意事项
- Billsum数据集默认加载后是DatasetDict类型,而非单个Dataset对象。如果要移除所有子集的某列,需遍历操作或直接对DatasetDict调用方法(升级后的版本支持):
# 升级后可直接对DatasetDict移除指定列,作用于所有子集 billsum = billsum.remove_columns(["title"]) - 若仍报错,检查对象类型:执行
print(type(billsum["train"]))确认是否为datasets.arrow_dataset.Dataset,如果是其他自定义类型,需转换为标准Dataset后再操作。
内容的提问来源于stack exchange,提问作者jack wilson
相关产品推荐
相关产品推荐

