Skip to main content
 首页 » 编程设计

python之将多个字段转换为单个字段

2025年05月04日12cmt

我有这个 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