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

Python 如何将多标签数据集拆分为多行,每行有一个标签?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个熊猫数据框,看起来像这样 Feature Class text1 [label1, label2] text2 [label2, label3] 最好的方法是什么 Feature Class text1 label1 text1 label2 text2 label2 text2 label3 注意:在初始表中,类值是包含标签的Python列表。您可以通过以下方式使用并展平列表:

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

Feature      Class
text1        [label1, label2]
text2        [label2, label3]
最好的方法是什么

Feature      Class
text1        label1
text1        label2
text2        label2
text2        label3
注意:在初始表中,类值是包含标签的Python列表。

您可以通过以下方式使用并展平列表:

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