python - 通过转置和设置其他列的值重新排序数据帧(熊猫)
问题描述
给定一个数据框:
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'
,但我不完全确定如何做到这一点。
解决方案
Location-Skill
如果您希望每个组合只有一行
df.groupby(['Location', 'Skill']).first().unstack()
或者你可以使用pivot
df.pivot(index='Location', columns='Skill', values='Rate')
Noticegroupby
将仅返回每个组合的第一行,pivot
如果任何组合多于一行,则将失败。
推荐阅读
- c++ - 关于 C++ 中的默认参数
- html - CSS Style 类在 Thymeleaf html 中不起作用?
- node.js - 如何将 Alexa(echo plus) 连接到 VPN?
- ffmpeg - 如何制作在第一段中间开始播放的 MPEG-DASH MPD?
- reactjs - undefined 不是函数(评估 'RNViewShot.captureRef(view,options)')
- jmeter - 如何从邮递员集合创建 JSON 文件
- c# - C# 语法和切换通配符
- regex - 根据模式删除txt文件中的行
- java - 单击项目后,如何在 RecyclerView 的适配器内从可绘制更改 imageView 的图像?
- javascript - 为每个领域反应 OnChange - 有没有更好的方法