Home  >  Article  >  Backend Development  >  How to Efficiently Rank Array Items in Python/NumPy without Double Sorting?

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

Barbara Streisand
Barbara StreisandOriginal
2024-10-31 20:10:29710browse

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

Optimal Ranking of Array Items with Minimal Sorting in Python/NumPy

To rank numbers within an array without resorting to the computationally expensive double sorting process, a more efficient approach exists.

Utilizing NumPy's argsort function, the order of the numbers can be determined without altering the original array:

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

Subsequently, argsort can be applied to the order array to obtain the rankings:

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

This approach eliminates the redundant sorting of the original array, resulting in a more optimized ranking algorithm.

It is crucial to note that for multidimensional arrays, specifying the correct axis to argsort is essential. For instance, to rank a 2D array by rows:

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

The above is the detailed content of How to Efficiently Rank Array Items in Python/NumPy without Double Sorting?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn