Skip to main content
 首页 » 编程设计

python之从多个 ID 列创建新的 Pandas DataFrame 行

2025年05月04日14zengkefu

我有一个 Pandas 数据框,其中的行具有属性并且可能具有多个 ID。例如:

Name    Weapon    Color   ID1    ID2    ID3 
Leo     Sword     Blue    11     12 
Raph    Sai       Red     13 
Don     Bo        Purple  14     15     16 
Mike    Nunchuck  Orange  17 

我想使每个 ID 成为自己的行,同时保留行的属性。例如:

Name    Weapon    Color   ID 
Leo     Sword     Blue    11 
Leo     Sword     Blue    12 
Raph    Sai       Red     13 
Don     Bo        Purple  14 
Don     Bo        Purple  15 
Don     Bo        Purple  16 
Mike    Nunchuck  Orange  17 

我如何使用选择的特定列来创建行以及保留哪些列的数据?

请您参考如下方法:

您可以使用:

df.melt(['Name','Weapon','Color'],value_name='ID').drop('variable',1).dropna() 

    Name    Weapon   Color    ID 
0    Leo     Sword    Blue  11.0 
1   Raph       Sai     Red  13.0 
2    Don        Bo  Purple  14.0 
3   Mike  Nunchuck  Orange  17.0 
4    Leo     Sword    Blue  12.0 
6    Don        Bo  Purple  15.0 
10   Don        Bo  Purple  16.0