【问题标题】:Determine indices of N number of non-zero minimum values in array确定数组中 N 个非零最小值的索引
【发布时间】:2021-07-11 20:19:48
【问题描述】:

我有一个 x 大小的数组,需要确定 n 个最小值的索引。我发现这个链接 (I have need the N minimum (index) values in a numpy array) 讨论了如何获取多个最小值,但是当我的数组中有零时它就不能正常工作了。

例如:

x = [10, 12, 11, 9, 0, 1, 15, 4, 10]
n = 3

我需要找到 3 个最低的非零值的索引,所以结果是

non_zero_min_ind = [5, 7, 3]

它们不需要按任何顺序排列。我正在尝试在 python 3 中执行此操作。任何帮助将不胜感激。

【问题讨论】:

  • 为什么一定要用numpy?

标签: arrays python-3.x numpy minimum


【解决方案1】:

使用 numpy:

import numpy as np
y = np.argsort(x)
y[np.array(x)[y]!=0][:n]

array([5, 7, 3])

【讨论】:

  • 如果有多个0怎么办?
猜你喜欢
  • 2020-02-21
  • 2012-02-10
  • 2021-04-04
  • 2013-05-24
  • 1970-01-01
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
  • 2011-02-16
相关资源
最近更新 更多