我有以下形式的数据集:
Id Class
1 a
2 b
2 c
3 c
3 d
3 a
3 e
3 f
4 g
我需要准备这些数据以执行多标签分类 所以我用:
df.groupby("Id").Class.apply(','.join).reset_index()
得到:
Id Class
1 a
2 b,c
3 c,d,e,f
4 g
现在MultiLabelBinarizer
无法以当前形式处理此问题,因为df.Class
表示为
("a", "b,c", "c,d,e,f", "g")
然而,它应该是
形式 [["a"], ["b","c"], ["c","d","e","f"],["g"]]
我应该怎么做?
答案 0 :(得分:2)
您需要apply
list
:
print (df.groupby("Id").Class.apply(list))
Id
1 [a]
2 [b, c]
3 [c, d, a, e, f]
4 [g]
Name: Class, dtype: object