假设我们定义了一个功能"DefaultConnection"
,支持联系as described in this solution:
argsort
我们测试它:
def argsort_with_support_for_ties(a):
rnd_array = np.random.random(a.size)
return np.lexsort((rnd_array,a))
他跟随结果:
input = np.array([5.5, 3.5, 2.0, 2.0, 7.0, 7.0, 7.0, 3.5, 6.5, 6.5, 6.5, 9.0])
output = argsort_with_support_for_ties(input)
请注意条目> np.stack([input, output], axis=0).T
array([[ 5.5, 3. ],
[ 3.5, 2. ],
[ 2. , 1. ],
[ 2. , 7. ],
[ 7. , 0. ], <--- A
[ 7. , 10. ], <--- B
[ 7. , 9. ],
[ 3.5, 8. ],
[ 6.5, 5. ],
[ 6.5, 4. ],
[ 6.5, 6. ],
[ 9. , 11. ]])
和A
如何共享相同的输入值(B
),但最终位于截然不同的位置7
和0
。
这不是我希望得到的。一个更可接受的答案是:
10
那么上面的output = np.array([4, 2, 1, 0, 8, 9, 10, 3, 5, 6, 7, 11])
失败了什么?
答案 0 :(得分:1)
我知道您要对元素进行排名,以便抢七是随机的。为此,您只需要反转<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div id="float-button" data-float-toggle="click">
<div class="top-bottom" >
<a href="#">stackoverflow</a>
</div>
</div>
:
lexsort
我的输出(由于随机性而与你的输出不同):
output = np.argsort(np.lexsort((rnd_array,a)))