首页  >  文章  >  后端开发  >  如何在 Python/NumPy 中高效地对数组项进行排序而无需双重排序?

如何在 Python/NumPy 中高效地对数组项进行排序而无需双重排序?

Barbara Streisand
Barbara Streisand原创
2024-10-31 20:10:29704浏览

How to Efficiently Rank Array Items in Python/NumPy without Double Sorting?

在 Python/NumPy 中使用最小排序对数组项进行最佳排名

对数组中的数字进行排名,而无需借助计算成本高昂的双重排序

利用 NumPy 的 argsort 函数,可以在不改变原始数组的情况下确定数字的顺序:

<code class="python">order = array.argsort()</code>

随后,argsort 可以应用于order array 来获得排名:

<code class="python">ranks = order.argsort()</code>

这种方法消除了原始数组的冗余排序,从而产生更优化的排名算法。

需要注意的是,对于多维数组,为 argsort 指定正确的轴至关重要。例如,要按行对二维数组进行排名:

<code class="python">ranks = array.argsort(axis=1)</code>

以上是如何在 Python/NumPy 中高效地对数组项进行排序而无需双重排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn