我有一个名为 numpy 的数组output,我想按降序遍历每个值。
print((output).argsort())
给我
[2 3 0 1]
的值为output:
[-0.00214862 0.05784702 -0.01105899 -0.00507164]
我想要的是遍历每个值(以 开头0.05784702)并检查某些功能。如果是真的,我可以停止检查。否则就进入下一个。
你可以做:
for a in reversed(sorted(output)):
print(a)
编辑:重新阅读您的问题并意识到您想要对其进行排序
您可以先使用numpy.sort()对其进行排序,然后使用 numpy.flip ( )翻转获得的结果,这将按降序返回数组,如下所示:
In [21]: arr
Out[21]: array([-0.00214862, 0.05784702, -0.01105899, -0.00507164])
In [22]: np.flip(np.sort(arr))
Out[22]: array([ 0.05784702, -0.00214862, -0.00507164, -0.01105899])
您可以将reverse函数中的参数设置sorted()为True:
import numpy as np
arr = np.arange(4)
for i in sorted(arr, reverse=True):
print(i)
输出:
3
2
1
0
您可以对其进行反向排序:
-np.sort(-output)
oy 你也可以反转索引
output[::-1].sort()