在pandas数据帧中查找最大值的索引

时间:2018-05-28 21:30:39

标签: python pandas

我有一个包含m行和n列的pandas数据帧。 我想找到每行中出现的最大值的列索引。

我尝试使用idxmax,但它只返回第一次出现的最大值。数据帧每行有多个最大值,我想获得每一行中所有最大值的索引。

1 个答案:

答案 0 :(得分:0)

以下是numpy的示例:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0, 5, (3, 10)))

print(df)

   0  1  2  3  4  5  6  7  8  9
0  3  0  0  2  2  4  0  2  1  2
1  3  4  0  4  4  1  1  0  2  3
2  4  1  3  4  4  4  0  3  1  0

res = [np.where(i == np.max(i)) for i in df.values]

print(res)

[array([5], dtype=int64),
 array([1, 3, 4], dtype=int64),
 array([0, 3, 4, 5], dtype=int64)]