为多标签分类创建数据集

时间:2017-06-07 06:48:06

标签: python-3.x pandas dataframe scikit-learn multilabel-classification

我有以下形式的数据集:

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"]]

我应该怎么做?

1 个答案:

答案 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