二重ソートを行わない Python/NumPy での効率的な配列ランキング
データ分析と機械学習では、配列内の項目のランキングは一般的な操作です。ただし、これを達成するために配列を 2 回ソートするのは、計算が複雑になるため非効率的です。 NumPy を使用したより最適なアプローチは次のとおりです。
再ソートを 2 回行わずに配列内の項目をランク付けするには、次の手順に従います。
例:
<code class="python">import numpy as np array = np.array([4, 2, 7, 1]) order = array.argsort() ranks = order.argsort() print("Original Array:", array) print("Ordering:", order) print("Ranks:", ranks)</code>
出力:
Original Array: [4 2 7 1] Ordering: [3 1 2 0] Ranks: [2 1 3 0]
Asご覧のとおり、ranks 配列は、二重の並べ替えを必要とせずに、元の配列内の各要素のランキングを提供します。
2D 以上の次元の配列の場合、並べ替えに使用する正しい軸を指定することが重要であることに注意してください。 argsort.
に axis 引数を提供します。以上が二重ソートを行わずに NumPy 配列内の要素を効率的にランク付けするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。