python 数组最大值的索引_python – 使用NumPy查找数组中最大值的索引

Numpy有一个argmax函数返回,尽管你必须手动处理nans.没有人总是被排序到数组的末尾,所以记住你可以做的:

a = np.random.rand(10000)

a[np.random.randint(10000, size=(10,))] = np.nan

a = a.reshape(100, 100)

def nanargmax(a):

idx = np.argmax(a, axis=None)

multi_idx = np.unravel_index(idx, a.shape)

if np.isnan(a[multi_idx]):

nan_count = np.sum(np.isnan(a))

# In numpy < 1.8 use idx = np.argsort(a, axis=None)[-nan_count-1]

idx = np.argpartition(a, -nan_count-1, axis=None)[-nan_count-1]

multi_idx = np.unravel_index(idx, a.shape)

return multi_idx

>>> nanargmax(a)

(20, 93)

你可能感兴趣的:(python,数组最大值的索引)