[解決済み] numpyの配列を効率的に降順でソートする?
2022-04-25 20:29:59
質問
この特定の質問がこれまでなかったことに驚きましたが、私は本当にSOでも、また
np.sort
.
例えば、整数を保持するランダムなnumpy配列があるとする。
> temp = np.random.randint(1,10, 10)
> temp
array([2, 4, 7, 4, 2, 2, 7, 6, 4, 4])
ソートすると、デフォルトで昇順になりますね。
> np.sort(temp)
array([2, 2, 2, 4, 4, 4, 4, 6, 7, 7])
でソートされるようにしたいのですが、解答は 降順 の順番になります。
今、私はいつでもできることを知っています。
reverse_order = np.sort(temp)[::-1]
が、この最後の文は
効率的
? 昇順でコピーを作成し、このコピーを反転させて逆順の結果を得るのでは?もし本当にそうだとしたら、効率的な代替手段があるのでしょうか?それは、以下のように見えません。
np.sort
は、逆順にするためにソート操作の比較の符号を変更するためのパラメータを受け付けます。
どのように解決するのですか?
temp[::-1].sort()
は配列をその場でソートするのに対し
np.sort(temp)[::-1]
は新しい配列を作成します。
In [25]: temp = np.random.randint(1,10, 10)
In [26]: temp
Out[26]: array([5, 2, 7, 4, 4, 2, 8, 6, 4, 4])
In [27]: id(temp)
Out[27]: 139962713524944
In [28]: temp[::-1].sort()
In [29]: temp
Out[29]: array([8, 7, 6, 5, 4, 4, 4, 4, 2, 2])
In [30]: id(temp)
Out[30]: 139962713524944
関連
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
PythonはWordの読み書きの変更操作を実装している
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】オブジェクトの配列をプロパティ値でソートする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコンテナのための組み込み汎用関数操作
-
python implement mysql add delete check change サンプルコード
-
Pythonショートビデオクローラーチュートリアル
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない