gpt4 book ai didi

python - 基于组组合列

转载 作者:行者123 更新时间:2023-12-01 04:26:44 24 4
gpt4 key购买 nike

我有一个像这样的数据框:

         POLY_KEY_I     SP1     SP2
0 FS01080100SM001 POAPRA TOXRYD
1 FS01080100SM001 NaN NaN
2 FS01080100SM001 OXRYD SYMOCC
3 FS01080100SM001 EUPESU POAPRA
4 FS01080100SM001 BOUGRA KOEPYR
5 FS01080100SM002 POAPRA EUPESU
6 FS01080100SM002 POAPRA NaN
7 FS01080100SM002 POAPRA KOEPYR

我想按POLY_KEY_I分组,然后基于此组合SP1SP2

我想要的输出是这样的:

         POLY_KEY_I      SP
0 FS01080100SM001 POAPRA
1 FS01080100SM001 TOXRYD
2 FS01080100SM001 NaN
3 FS01080100SM001 NaN
4 FS01080100SM001 OXRYD
5 FS01080100SM001 SYMOCC
6 FS01080100SM001 EUPESU
7 FS01080100SM001 POAPRA
8 FS01080100SM001 BOUGRA
9 FS01080100SM001 KOEPYR
10 FS01080100SM002 POAPRA
11 FS01080100SM002 EUPESU
12 FS01080100SM002 POAPRA
13 FS01080100SM002 NaN
14 FS01080100SM002 POAPRA
15 FS01080100SM002 KOEPYR

最佳答案

您可以使用melt从宽到长 reshape ,如下所示:

In [10]: pd.melt(df, id_vars='POLY_KEY_I', value_name='SP')
Out[10]:
POLY_KEY_I variable SP
0 FS01080100SM001 SP1 POAPRA
1 FS01080100SM001 SP1 NaN
2 FS01080100SM001 SP1 OXRYD
3 FS01080100SM001 SP1 EUPESU
4 FS01080100SM001 SP1 BOUGRA
5 FS01080100SM002 SP1 POAPRA
6 FS01080100SM002 SP1 POAPRA
7 FS01080100SM002 SP1 POAPRA
8 FS01080100SM001 SP2 TOXRYD
9 FS01080100SM001 SP2 NaN
10 FS01080100SM001 SP2 SYMOCC
11 FS01080100SM001 SP2 POAPRA
12 FS01080100SM001 SP2 KOEPYR
13 FS01080100SM002 SP2 EUPESU
14 FS01080100SM002 SP2 NaN
15 FS01080100SM002 SP2 KOEPYR

关于python - 基于组组合列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33000912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com