跳到内容

KeepColumns

保留数据集中选定的列。

KeepColumns 是一个 Step,它实现了 process 方法,该方法仅保留 columns 属性中指定的列。此外,KeepColumns 提供了一个属性 columns 来指定要保留的列,这将覆盖属性 inputsoutputs 的默认值。

注意

列的提供顺序很重要,因为输出将使用提供的顺序进行排序,这在通过 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'}]