【问题标题】:Create a multi-labelled dataset from a redundant binary one for multi-label classification从冗余二进制数据集创建多标签数据集以进行多标签分类
【发布时间】:2017-11-08 02:19:45
【问题描述】:

我得到了一个这样的数据集(数据框):

x   y

A   a
A   b
B   c
C   g
B   g

这就是我需要的多标签分类-

x   y

A   a,b
B   c,g
C   g

我应该怎么做?

【问题讨论】:

  • 如果您有理由不接受我的回答,请告诉我,我可以解决问题。
  • @piRSquared MultiLabelBinarizer 无法固有地处理您的解决方案生成输出的方式。 df.groupby("Id").Class.apply(list) 是我需要的。
  • 啊,好的。为了将来参考,当您声明要在列元素中使用 a,b 时,假定它是一个逗号分隔的字符串。如果你想要清单并这么说,我可以很容易地提供清单。我们通常以这种方式表示列表[a, b] 我希望你能理解我们是如何产生这种误解的......祝你好运。
  • @piRSquared 道歉。会记住的:)

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


【解决方案1】:

选项 1
使用groupby ','.join

df.groupby('x').y.apply(','.join).reset_index()

   x    y
0  A  a,b
1  B  c,g
2  C    g

选项 2
使用pivot_table ','.join

df.pivot_table('y', 'x', aggfunc=','.join).reset_index()

   x    y
0  A  a,b
1  B  c,g
2  C    g

【讨论】:

    猜你喜欢
    • 2017-11-08
    • 2014-06-05
    • 2018-05-09
    • 2013-12-15
    • 1970-01-01
    • 2022-10-12
    • 2017-11-21
    • 2017-11-01
    • 2018-10-11
    相关资源
    最近更新 更多