我有一个数组[0.2,0,0,0,0.3,0,0,0,0.4]
。我在用着np.argsort
对值进行排序并获取索引。
所以,对于我的例子来说,它会是这样的[1,5,9,2,3,4,6...]
。但是,我只想获取索引数组非零值.
仅在我的示例中[1,5,9]
.
我如何在 python 中实现它pandas
and numpy
?
Using np.nonzero
和索引技巧
def sparse_argsort(arr):
indices = np.nonzero(arr)[0]
return indices[np.argsort(arr[indices])]
sparse_argsort(a)
array([0, 4, 8])
一班轮:
(lambda a: (lambda a_, i_: i_[np.argsort(a_[i_])])(a,np.nonzero(a)[0]))(a)
array([0, 4, 8])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)