gpt4 book ai didi

python - np.argsort 排除零值

转载 作者:太空狗 更新时间:2023-10-30 00:38:59 26 4
gpt4 key购买 nike

我有一个数组 [0.2,0,0,0,0.3,0,0,0,0.4]。我正在使用 np.argsort 对值进行排序并获取该索引。

因此,对于我的示例,它将类似于 [1,5,9,2,3,4,6...]。但是,我只想获取非零值 的索引数组。

在我的例子中只有[1,5,9]

如何使用 pandasnumpy 在 python 中实现它?

最佳答案

使用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])

关于python - np.argsort 排除零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40857349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com