如何转储熊猫数据框中的字符串列表,使目标列保持不变?

问题描述

我有一个数据框,其中第一列Text包含字符串列表,而其他两列(Label1Label2)包含标签。数据框如下所示:

|Text                |Label1  |  Label2 |
----------------------------------------- 
| ['text1','text2',|  0     |    0 
   'text3']
-----------------------------------------
| ['text4','text5',|  1     |    1 
   'text6']
-----------------------------------------
    ....         ..           .. 

现在,我想将这些字符串与列表分开,以便列表内的每个文本都使其单独的行保持其标签相同。例如,我的输出数据框应如下所示:

|  Text              |Label1  |  Label2 |
----------------------------------------- 
|  text1             |  0     |    0    |
-----------------------------------------
|  text2             |  0     |    0    |
-----------------------------------------
|  text3             |  0     |    0    |
-----------------------------------------
|  text4             |  1     |    1    |
-----------------------------------------
|  text5             |  1     |    1    |
-----------------------------------------
|  text6             |  1     |    1    |
-----------------------------------------
    ....         ..           .. 

我不确定该问题的标题是什么。但是我该如何使用熊猫解决这个问题。

解决方法

在数据框上使用.explode

df = pd.DataFrame({'Text' : [['text1','text2','text3'],['text4','text5','text6']],'Label1' : [0,1],'Label2' : [0,1]})

df_exploded = df.explode('Text') #explode on column 'Text'

结果:

    Text  Label1  Label2
0  text1       0       0
0  text2       0       0
0  text3       0       0
1  text4       1       1
1  text5       1       1
1  text6       1       1
,

我认为这是explode

df.explode('Text')