KeepColumns¶
保留数据集中选定的列。
KeepColumns
是一个 Step
,它实现了 process
方法,该方法仅保留 columns
属性中指定的列。此外,KeepColumns
提供了一个属性 columns
来指定要保留的列,这将覆盖属性 inputs
和 outputs
的默认值。
注意¶
列的提供顺序很重要,因为输出将使用提供的顺序进行排序,这在通过 PushToHub
步骤推送 dataset.Dataset
或通过 Pipeline.run
输出变量推送 distilabel.Distiset
之前非常有用。
属性¶
- columns: 包含要保留的列名称的字符串列表。
输入和输出列¶
graph TD
subgraph Dataset
subgraph Columns
ICOL0[dynamic]
end
subgraph New columns
OCOL0[dynamic]
end
end
subgraph KeepColumns
StepInput[Input Columns: dynamic]
StepOutput[Output Columns: dynamic]
end
ICOL0 --> StepInput
StepOutput --> OCOL0
StepInput --> StepOutput
输入¶
- dynamic(由
columns
属性确定):要保留的列。
输出¶
- dynamic(由
columns
属性确定):已保留的列。
示例¶
选择要保留的列¶
from distilabel.steps import KeepColumns
keep_columns = KeepColumns(
columns=["instruction", "generation"],
)
keep_columns.load()
result = next(
keep_columns.process(
[{"instruction": "What's the brightest color?", "generation": "white", "model_name": "my_model"}],
)
)
# >>> result
# [{'instruction': "What's the brightest color?", 'generation': 'white'}]