python - 整理熊猫实验的结果
问题描述
我有以下输入数据。每一行都是一个实验的结果:
instance algo profit time
x A 10 0.5
y A 20 0.1
z A 13 0.7
x B 39 0.9
y B 12 1.2
z B 14 0.6
我想生成下表:
A B
instance profit time profit time
x 10 0.5 39 0.9
y 20 0.1 12 1.2
z 13 0.7 14 0.6
我尝试使用 pivot 和 pivot_table 没有成功。有没有办法用熊猫来达到这个结果?
解决方案
首先melt
获取'profit'
和'time'
在同一列,然后使用pivot table
具有多个列级别的a
(df.melt(id_vars=['instance', 'algo'])
.pivot_table(index='instance', columns=['algo', 'variable'], values='value'))
#algo A B
#variable profit time profit time
#instance
#x 10.0 0.5 39.0 0.9
#y 20.0 0.1 12.0 1.2
#z 13.0 0.7 14.0 0.6
推荐阅读
- lisp - Lisp,计算混合表达式
- flutter - Flutter中WIFI可用时缓存和刷新API调用数据的最佳方法?
- mysql - 选择除子查询中指定的行之外的所有行
- c - 从 C 中的 Cygwin 路径中退出
- database - 计算 B+ 树内存使用量(最小值、最大值)
- javascript - 打字稿命名空间参考不起作用
- scala - 如何在 apache zeppelin 0.8.2 上使用带有 Scala 2.12 的 spark 将 spark 3.x 提交给 yarn?
- java - 为什么在尝试清除 Canvas 时出现错误(Nullpointerexception)?
- vue-component - 在单独的 Vue 组件中单击按钮加载另一个 Vue 组件
- r - R lme4模型:计算连续预测器的最大值-最小值之间的效果大小