首页 > 解决方案 > 通过转置和设置其他列的值重新排序数据帧(熊猫)

问题描述

给定一个数据框:

   Location    |    Rate   |   Skill    
San Francisco     $56-$64    architect      
Albany            $43-$50    architect      
San Francisco     $23-$48     tester       

我试图把它变成这个预期的结果:

   Location    |  architect    |   tester   
San Francisco      $56-$64         $23-$48 
Albany             $43-$50 

我考虑过在列上进行转置'Skill',然后将其值设置为 的值'Rate',但我不完全确定如何做到这一点。

标签: pythonpandasdataframetranspose

解决方案


Location-Skill如果您希望每个组合只有一行

df.groupby(['Location', 'Skill']).first().unstack()

或者你可以使用pivot

df.pivot(index='Location', columns='Skill', values='Rate')

Noticegroupby将仅返回每个组合的第一行,pivot如果任何组合多于一行,则将失败。


推荐阅读