代码之家  ›  专栏  ›  技术社区  ›  soubh1k

如何将多标签数据集拆分为多行,每行有一个标签?

  •  1
  • soubh1k  · 技术社区  · 6 年前

    我有一个熊猫数据框,看起来像这样?

    Feature      Class
    text1        [label1, label2]
    text2        [label2, label3]
    

    最好的方法是什么?

    Feature      Class
    text1        label1
    text1        label2
    text2        label2
    text2        label3
    

    1 回复  |  直到 6 年前
        1
  •  1
  •   jezrael    6 年前

    numpy.repeat Series.str.len 并按 chain.from_iterable :

    from itertools import chain
    
    df = pd.DataFrame({
        'Feature' : df['Feature'].values.repeat(df['Class'].str.len()),
        'Class' : list(chain.from_iterable(df['Class'].values.tolist()))
    })
    print (df)
      Feature   Class
    0   text1  label1
    1   text1  label2
    2   text2  label2
    3   text2  label3