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つを試してチャットを始めてください