single
配列のソート
メニューを表示するにはスワイプしてください
ソートとは、配列の要素を特定の順序で並べ替えること。
この操作は非常に有用であり、ソート済み配列での検索ははるかに高速です。なぜなら、二分探索のような効率的なアルゴリズムはソート済み配列でのみ機能するためです。
numpy.sort() 関数
NumPy には、要素を昇順で値によってソートするための組み込み関数 sort() があります。この関数の戻り値はソートされた NumPy 配列です。一般的な構文は次のとおりです:numpy.sort(a, axis=-1, kind=None, order=None)。ここで:
aは配列;axisはソートする軸(デフォルトは最後の軸(-1));kindは使用するソートアルゴリズム(デフォルトはquicksort)。
123import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
ndarray.sort() メソッド
すでに述べたように、numpy.sort() 関数はソートされた配列を返しますが、元の配列は変更しません。配列自体を変更したい場合は、array = np.sort(array) のように記述する必要があります。
一方、NumPy には代替として .sort() メソッドが用意されており、これは配列をインプレースでソートし、新しい配列は返しません(None を返すため、何も返しません)。構文は sort() 関数と似ています。
関数は、特定のタスクを実行する独立したコードブロックであり、直接呼び出すことが可能。メソッドはオブジェクトに関連付けられた関数であり、そのオブジェクトに対して.演算子を使って呼び出す。
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
.sort()メソッドを呼び出した後、array_1dはインプレースで並べ替えられ、要素は昇順で格納されている。
1次元配列の降順ソート
配列を降順でソートしたい場合があります。.sort()メソッドやsort()関数には、この機能が直接サポートされていません。しかし、ソート済み配列に対してstepを-1にしたスライスを使うことで簡単に実現できます:
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Sorting array_1d in descending order array_1d = np.sort(array_1d)[::-1] print(array_1d)
スワイプしてコーディングを開始
従業員の給与データが salaries 配列に保存されています。
- 適切な関数を使って、給与を降順に並べ替えてください。
- スライスを使い、正の
endのみを指定して上位3つの給与を表示してください。
解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください