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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值