Aks*_*nde 5 python scipy scikit-learn sklearn-pandas
我有一个csv文件有25列,有些是数字的,有些是绝对的,有些像演员,导演的名字.我想在这些数据上使用回归模型.为此,我必须使用scikit包中的LabelBinarizer将分类列字符串类型转换为数值.如何在具有多个分类数据的数据框上使用LabelBinarize?
基本上我想要将标签二值化并将它们添加到数据帧中.
在下面的代码中,我检索了我想要binarize的列的列表,但是无法弄清楚如何将新列添加回df?
categorylist = ['color', 'language', 'country', 'content_rating']
for col in categorylist:
tempdf = label_binarizer.fit_transform(df[col])
Run Code Online (Sandbox Code Playgroud)
在接下来的步骤,我想加入tempdf到df并删除原始列DF [COL].
您可以在单行中执行此操作pd.get_dummies:
tempdf = pd.get_dummies(df, columns=categorylist)
Run Code Online (Sandbox Code Playgroud)
否则,你可以使用FeatureUnion与FunctionTransformer在答案,sklearn管道-如何在不同的列应用不同的转换
编辑:由@dukebody在评论中添加,您还可以使用sklearn-pandas包,其目的是能够对每个数据帧列应用不同的转换.
| 归档时间: |
|
| 查看次数: |
4265 次 |
| 最近记录: |