python-3.x - 创建用于多标签分类的数据集

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

我该怎么办?

最佳答案

你需要apply 列表:

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

关于python-3.x - 创建用于多标签分类的数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44405433/

相关文章:

python - 访问文字上的属性适用于所有类型,但不适用于 `int` ;为什么?

python - 向 pandas DataFrame 添加新列时引发 TypeError

python - 按日期顺序组织数据行 Pandas Python

R将列类从一个数据帧分配(或复制)到另一个

python - 强制字典将列表读取为元组

python - 计数子串

python-3.x - SAM Lambda : [ERROR] Runtime. ImportModuleError:无法导入模块 'index':没有名为 'pg8000' 的模块

python - 基于键列和值列创建新列

python - Pandas 列随时间的变化

apache-spark - PHOENIX SPARK - 将表加载为 DataFrame