LabelBinarizer用于数据框

时间:2016-11-07 02:13:40

标签: python scipy scikit-learn sklearn-pandas

我有一个csv文件有25列,有些是数字的,有些是绝对的,有些像演员,导演的名字。我想在这些数据上使用回归模型。为此,我必须使用scikit包中的LabelBinarizer将分类列字符串类型转换为数值。     如何在具有多个分类数据的数据框架上使用LabelBinarize?

SampleData

基本上我想要对标签进行二值化并将它们添加到数据框中。

在下面的代码中,我检索了想要二进制化的列的列表,但是无法弄清楚如何将新列添加回df?

categorylist = ['color', 'language', 'country', 'content_rating']
for col in categorylist:
    tempdf = label_binarizer.fit_transform(df[col])

在下一步中,我想将tempdf添加到df并删除原始列df [col]。

1 个答案:

答案 0 :(得分:5)

您可以使用// to update comments $("#see-comments").html("<%= j render @comments %>"); // to update the pagination links $("#pagination-comments").html('<%= js_will_paginate @comments %>');

在单行中执行此操作
pd.get_dummies

否则,您可以tempdf = pd.get_dummies(df, columns=categorylist) 使用FeatureUnion FunctionTransformer作为sklearn pipeline - how to apply different transformations on different columns的答案

编辑:由@dukebody在评论中添加,您还可以使用sklearn-pandas包,其目的是为每个数据框列应用不同的转换。