我有一个包含m行和n列的pandas数据帧。 我想找到每行中出现的最大值的列索引。
我尝试使用idxmax,但它只返回第一次出现的最大值。数据帧每行有多个最大值,我想获得每一行中所有最大值的索引。
答案 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)]