确定数组中 N 个非零最小值的索引
Determine indices of N number of non-zero minimum values in array
我有一个 x 大小的数组,需要确定 n 个最小值的索引。我发现这个 link (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:
import numpy as np
y = np.argsort(x)
y[np.array(x)[y]!=0][:n]
array([5, 7, 3])
我有一个 x 大小的数组,需要确定 n 个最小值的索引。我发现这个 link (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:
import numpy as np
y = np.argsort(x)
y[np.array(x)[y]!=0][:n]
array([5, 7, 3])