Numpy(Python)のsortとargsortの違いについて

numpy.sortとnumpy.argsortはどちらもNumpyのライブラリ関数ですが、使用する目的が異なります。

本記事ではnumpy.sortとnumpy.argsortの違いを例題を使って、解説します。

目次

numpy.sort

numpy.sortは、配列そのものをソートして新しい配列を返しますが、元の配列は変更されません。

以下のように使用します。

以下のように使用します。

import numpy as np

array = np.array([10, 2, 9, -1])
sorted_array = np.sort(array)

print('元の配列:', array)
print('ソートされた配列:', sorted_array)

出力

元の配列: [10 2 -1]
ソートされた配列: [-1 2 9 10]

numpy.sortを使って、配列を昇順に並べ替えていますが、元の配列(array)は変更をされず、
変更後の配列(sorted_array)のみ変更されていことが分かります。

numpy.argsort

numpy.argsortは、配列の要素をソートするためのインデックスを返します。

numpy.sortと同様に元の配列は変更されませんが、numpy.argsortの場合は返されたインデックスを使用して配列をソートすることができます。

以下のように使用します。

入力

import numpy as np

array = np.array([10, 2, 9, -1])
sorted_indices = np.argsort(array)

print('元の配列:', array)
print('ソートされた配列のインデックス:', sorted_indices)
print('ソートされた配列:', array[sorted_indices])

出力

元の配列: [10 2 9 -1]
ソートされた配列のインデックス: [3 1 2 0]
ソートされた配列: [-1 2 9 10]

まとめ

numpy.sortを使用すると、元配列を並べ替えた結果を直接配列で返す

numpy.argsortを使用すると、元配列を並べ替えた結果のインデックスを返す

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次