熊猫数据框重复行与类中的列表分离?



我有一个数据框的行/记录如下:

数据:

id age sex weight class
0  30  1   65     ['AA', 'BB']
1  40  0   76     ['AA', 'CC', 'DD']

我的类是一个有多个值的列表,我想复制每一行留下一个列表值的行。

期望结果:

id age sex weight class
0  30  1   65     ['AA']
1  30  1   65     ['BB']
2  40  0   76     ['AA']
3  40  0   76     ['CC']
4  40  0   76     ['DD']

我怎么能做到这一点在整个数据框架,有这样的行结构?

id的顺序无关紧要。

您可以explode类列:

df2 = df.set_index('id').explode('class').reset_index(drop=True)
df2['class'] = df2['class'].apply(lambda x: [x])
df2
age  sex  weight class
0   30    1      65  [AA]
1   30    1      65  [BB]
2   40    0      76  [AA]
3   40    0      76  [CC]
4   40    0      76  [DD]

最新更新