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