Pytorch从数据集中删除要素列

sf6xfgos  于 2023-01-26  发布在  其他
关注(0)|答案(1)|浏览(211)

我在下面有一个数据集,希望***删除要素***从A到F,数据集是从python数据框转换而来的

dataset = datasets.DatasetDict({"train":Dataset.from_pandas(X_train),
                        "test":Dataset.from_pandas(X_test),
                        "val":Dataset.from_pandas(X_val),
                      })

数据集输出如下所示

DatasetDict({
train: Dataset({
    features: ['A', 'B', 'C', 'D', 'E', 'F', 'text', '__index_level_0__', 'label'],
    num_rows: 1173
})
test: Dataset({
    features: ['A', 'B', 'C', 'D', 'E', 'F', 'text', '__index_level_0__', 'label'],
    num_rows: 1369
})
val: Dataset({
    features: ['A', 'B', 'C', 'D', 'E', 'F', 'text', '__index_level_0__', 'label'],
    num_rows: 1369
})

})
结果如下

DatasetDict({
train: Dataset({
    features: ['text', '__index_level_0__', 'label'],
    num_rows: 1173
})
test: Dataset({
    features: ['text', '__index_level_0__', 'label'],
    num_rows: 1369
})
val: Dataset({
    features: ['text', '__index_level_0__', 'label'],
    num_rows: 1369
})

})

0x6upsns

0x6upsns1#

你需要的是来自数据集的remove_columns()方法。如果你想在这一层删除一些列,而不是以前在Pandas中,这个方法可以在任何Dataset()对象上工作。

dataset = dataset.remove_columns("label")

对于您的情况,它将是:

dataset = dataset.remove_columns(['A', 'B', 'C', 'D', 'E', 'F'])

你可以看看这里:https://huggingface.co/docs/datasets/process

相关问题