首页 > 解决方案 > 分类系列到分类数据框

问题描述

我有一系列分类值:

y = [A , A , B, C]

我想将其转换为数据框,每个类别都有一列,如果存在此类别,则为 1:

df = [A B C]
     [1 0 0]
     [1 0 0]
     [0 1 0]
     [0 0 1]

最好的方法是什么?

标签: pythonpandasdataframecategories

解决方案


get_dummies与 一起使用list

y = ['A','A','B','C']

df = pd.get_dummies(y)

或者MultiLabelBinarizer

from sklearn.preprocessing import MultiLabelBinarizer

mlb = MultiLabelBinarizer()
df = pd.DataFrame(mlb.fit_transform(y),columns=mlb.classes_)
print (df)
   A  B  C
0  1  0  0
1  1  0  0
2  0  1  0
3  0  0  1

推荐阅读