我有一系列的分类值:
y = [A , A , B, C]
我想将其转换为数据框,每个类别具有一列,如果存在此类别,则为1:
df = [A B C]
[1 0 0]
[1 0 0]
[0 1 0]
[0 0 1]
最好的方法是什么?
答案 0 :(得分:2)
将get_dummies
与list
一起使用:
y = ['A','A','B','C']
df = pd.get_dummies(y)
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