【发布时间】:2020-06-25 14:08:57
【问题描述】:
我有一个数据框:
df = pd.DataFrame({'p1_c': [1,10,3,40],
'p2_c': [4,3,4,14],
'p3_c': [5,2,8,78],
'p1_v': [776,1776,300,600],
'p2_v': [998,98,100,100],
'p3_v': [800,80,50,500]
})
df
p1_c p2_c p3_c p1_v p2_v p3_v
0 1 4 5 776 998 800
1 10 3 2 1776 98 80
2 3 4 8 300 100 50
3 40 14 78 600 100 500
(p1_c,p1_v),(p2_c,p2_v),(p3_c,p3_v) 分组并描述相同的事物。
我想要获取具有最高 c 值的第 v 列值
例如见第 0 行:
df[[p1_c,p2_c,p3_c]].max(axis=1)
#get the max value i.e p3_c
所以我想要 p3_v 值作为输出(即 800)。相同的模式后跟第 1、2 和 3 行。
预期输出
p1_c p2_c p3_c p1_v p2_v p3_v RESULT
0 1 4 5 776 998 800 800
1 10 3 2 1776 98 80 1776
2 3 4 8 300 100 50 50
3 40 154 78 600 100 500 100
【问题讨论】:
-
先生,现在清楚了吗,我现在想要什么作为输出? @Diptangsu Goswami
-
不幸的是它不是。
-
@Amit 我很清楚。他正在尝试获取相应的最大值,即如果第 0 行中的最大值位于
p3_c列,他想在该行中获取p3_v。
标签: python python-3.x pandas