在numpy数组中找到最大值行的最安全方法

时间:2014-10-15 03:07:20

标签: python numpy

我的数据如下 -

x= np.array( ((0,0,0,0), (0,0,0,2.8) ))

我想找到包含最大值的行。在这个例子中它是1(0索引,因此1)

np.argmax(x)将该位置返回为7

我可以通过使用argmax和ndim找到最大值的行号来实现迂回方式。

我想知道是否还有其他方式

我正在使用Python 2.7。感谢。

2 个答案:

答案 0 :(得分:2)

试试这个:

In [7]: import numpy as np

In [8]: x= np.array( ((0,0,0,0), (0,0,0,2.8) ))

In [9]: np.argmax(x.max(axis=1))
Out[9]: 1

答案 1 :(得分:1)

使用np.argmax(x)获取7之后,您可以执行此操作:

>>> np.unravel_index(np.argmax(x), x.shape)
(1, 3)

这会将平面索引转换为2D索引,您可以轻松查看它是哪一行。