按索引列表为每一行选择pandas列

时间:2018-05-15 03:31:30

标签: python pandas

在下面的代码中,如何选择列索引列表mmap给出的每一行的data2元素?

data.idxmax(axis=1)

结果应该是data1 = pd.DataFrame([[1,2], [4,3], [5,6]]) data2 = pd.DataFrame([[10,20], [30,40], [50,60]]) data1.idxmax(axis=1) 的pd.Series或pd.DataFrame。

2 个答案:

答案 0 :(得分:1)

使用lookup功能:

i = data1.idxmax(axis=1)
data2.lookup(i.index, i.values)

这将为您提供包含值的数组。要将结果作为Series,只需创建它:

pd.Series(data2.lookup(i.index, i.values))

答案 1 :(得分:1)

您可以max axis = 1eqaxis = 0

一起尝试data2[data1.eq(data1.max(1),0)].stack() Out[193]: 0 1 20.0 1 0 30.0 2 1 60.0 dtype: float64
function player() {
    let pick = prompt("Rock, paper, or scissors?");
    pick = pick.toLowerCase();

    if ((pick !== 'rock') || (pick !== 'paper') || (pick !== 'scissors')) {
        return `Please pick a valid choice ${pick}`;
    } else {
        return pick;
    }
}