python - Pandas:将记录重塑为列
问题描述
我有一个熊猫数据框df
:
column1 column2 column3
-----------------------
a0 0.25 x1
a0 0.05 x3
a0 0.70 x2
a1 0.25 x3
a1 0.70 x2
a1 0.05 x1
试图改变df
如下:
column3 a0 a1
---------------------
x1 0.25 0.05
x2 0.7 0.70
x3 0.05 0.25
试过:
df.set_index([df.groupby('column3').cumcount(), 'column3']).column2.unstack()
解决方案
利用-
df.pivot(values='column2', index='column3', columns='column1')
输出
column1 a0 a1
column3
x1 0.25 0.05
x2 0.70 0.70
x3 0.05 0.25
用于rename_axis()
重置索引 -
df.pivot(values='column2', index='column3', columns='column1').rename_axis(None)
column1 a0 a1
x1 0.25 0.05
x2 0.70 0.70
x3 0.05 0.25
推荐阅读
- sql - 使用 date_trunc 自定义一周的范围
- netlify-cms - Netlify CMS 如何在其 UI 中对集合进行排序?
- c# - 慢正则表达式拆分
- c++ - C++:在类中声明指向数组的指针?
- kubernetes - Failed to install rook on k8s cluster
- html - 为什么盒子没有正确对齐?
- python-3.x - Apache Ignite SQL 事务管理
- machine-learning - 预测机器学习
- javascript - 如何从不同的 socket.io 事件中更新消息?
- python - How to make an if statement have a output