Skip to main content
 首页 » 编程设计

python之数据框内的 Pandas 转置

2025年05月04日15虾米哥

我现在有这个数据:

animal   age             count 
dogs     1               49 
         2              134 
         3              147 
         4              154 
cats     1              189 
         2              254 
         3              259 
         4              261 

我想将年龄列转换为每个年龄的 4 个年龄列:

animal   age1 age2 age3 age4  
dogs      49   134  147  154   
cats     ....................    

我试过 df.T 和 df.transpose() 但它们都返回我原来的列。

请您参考如下方法:

你可以使用 pd.pivot :

In [25]: result = df.pivot(index='animal', columns='age', values='count') 
 
In [26]: result 
Out[26]:  
age       1    2    3    4 
animal                     
cats    189  254  259  261 
dogs     49  134  147  154 
 
In [27]: result.columns = ['age{:d}'.format(col) for col in result.columns] 
 
In [28]: result 
Out[28]:  
        age1  age2  age3  age4 
animal                         
cats     189   254   259   261 
dogs      49   134   147   154