首页 > 解决方案 > 在同一单元格上具有多个类的列上的 Sklearn 编码

问题描述

假设我有以下 DataFrame:

   Column
0  A - B - C
1      A - B
2      A - C
3          A
4          B
5          C

我想对“列”进行编码,但我在同一个单元格中有多个类。使用 pandas 我可以执行以下操作来获得正确的编码输出:

df['Column'].str.get_dummies(sep=' - ')

   A  B  C
0  1  1  1
1  1  1  0
2  1  0  1
3  1  0  0
4  0  1  0
5  0  0  1

如何使用 Sklearn 进行相同的转换?

标签: pythonpandasscikit-learnone-hot-encoding

解决方案


另一种方法是使用 MultiLabelBinarizer 类,因为它支持可迭代作为输入。

df['Column'] = df['Column'].str.split(' - ')
enc = MultiLabelBinarizer()
enc.fit_transform(df['Column'])

推荐阅读