我有这个Pandas DataFrame

a     b        c            d           e           f            g
1   2022       11          12          13          14           15
2   2023       17          22          23          24           25


我想将此转换为

a     b        c
1   2022       11
2   2022       12
3   2022       13
4   2022       14
5   2022       15
6   2023       17
7   2023       22
8   2023       23
9   2023       24
10  2023       25


什么是最优化的实现方式?

最佳答案

我认为这应该是melt问题

newdf=df.melt(['a','b']).sort_values('b')
newdf
   a     b variable  value
0  1  2022        c     11
2  1  2022        d     12
4  1  2022        e     13
6  1  2022        f     14
8  1  2022        g     15
1  2  2023        c     17
3  2  2023        d     22
5  2  2023        e     23
7  2  2023        f     24
9  2  2023        g     25


如果您需要这里的0-n

newdf.a=newdf.index+1

关于python - 将多个字段转换为SIngle字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54055357/

10-11 06:22