Pythonは多次元配列ソートを実装しています

複合で多次元配列をソートする方法

配列など:

import numpy as np
 data = np.array([[2,2,5],[2,1,3],[1,2,3],[3,1,4]])
  data
array([[2,2,5],[2,1,3],[1,2,3],[3,1,4]])

配列を最初の列の昇順、2番目の列の昇順、および3番目の列の昇順で並べ替えます。

 idex=np.lexsort([data[:,2], data[:,1], data[:,0]])
 sorted_data = data[idex,:]
 sorted_data
array([[1,2,3],[2,1,3],[2,2,5],[3,1,4]])

次に、最初の列の降順、2番目の列の昇順、3番目の列の昇順で配列を並べ替えます。

 idex=np.lexsort([data[:,2], data[:,1],-1*data[:,0]])
 sorted_data = data[idex,:]
 sorted_data
array([[3,1,4],[2,1,3],[2,2,5],[1,2,3]])

補足拡張:python:多次元配列の降順

残念ながら、pythonでは、指定された次元に従って多次元配列を降順でソートする方法はありません。

ただし、1次元配列には降順があり、これで十分です。

# Author: Right.Q
# 多次元マトリックスの逆順配置を実現
 
def descend_sort(array):'''3次元配列を逆の順序で並べ替えます'''[height, width, channel]= array.shape
 sortArray = np.zeros([height, width, channel])for h inrange(height):for w inrange(width):
 sortArray[h, w,:]=sorted(array[h, w,:], reverse=True)return sortArray

正式なパラメータは、指定された3次元配列です。さらに次元がある場合は、次元を自動的に識別できます。

上記の多次元配列(配列)ソートのpython実装は、エディターによって共有されるすべてのコンテンツです。参照を提供したいと思います。

Recommended Posts

Pythonは多次元配列ソートを実装しています
Pythonは10の古典的なソートアルゴリズムを実装しています
python印刷配列
Pythonはスーパーマリオを実装しています
Pythonはtic-tac-toeゲームを実装しています
Pythonはtic-tac-toeゲームを実装しています
python array add array_Python add array
Pythonはマンマシンゴバンを実装します
PythonはTetrisゲームを実装しています
Pythonはminesweeperゲームを実装しています
Pythonはスキャンツールを実装しています
Pythonはしきい値回帰を実装します
Pythonは地雷除去ゲームを実装しています
Pythonは電子辞書を実装しています
Pythonは推測ゲームを実装しています
Pythonは単純なタンクバトルを実装します
Pythonはudpチャットウィンドウを実装します
PythonはWeChat飛行機ゲームを実装しています
Pythonは単語推測ゲームを実装しています
Pythonは推測ゲームを実装しています
Pythonはデジタル爆弾ゲームを実装しています
PythonはTCPファイル転送を実装します
Pythonnumpyはローリングケースを実装します
Pythonは単純なtic-tac-toeゲームを実装しています
Pythonはパスワード強度検証を実装します
Pythonはコードブロックフォールディングを実装します
Pythonはパノラマ画像スティッチングを実装しています
PythonはSMTPメール送信を実装します
PythonがFTP機能を実装する方法
Pythonは平均シフトクラスタリングアルゴリズムを実装しています
Pythonは検証コード認識を実装します
Pythonは勾配降下法を実装しています
Pythonはテキストバージョンのminesweeperを実装しています
Pythonの2次元配列を正しく作成する
Pythonは画像スティッチング機能を実装しています
Pythonは実店舗のゲームを実装しています
Pythonは学生のパフォーマンス評価システムを実装しています
Pythonがメール機能を実装する方法
Pythonは単にスネークゲームを実装します
詳細な並べ替えアルゴリズム(Pythonで実装)
Python3はシングルトンデザインパターンを実装しています
Pythonは為替レート変換操作を実装します
Pythonは文字列と数値のスプライシングを実装します
PythonはユニバーサルWebフレームワークを実装しています
Pythonは、メールを送信するために126のメールボックスを実装しています
PythonはAIフェイスチェンジ機能を実装しています
Pythonは最も急な降下方法を実装します
Pythonは実際の銀行システムを実装しています
Pythonはデジタル爆弾ゲームプログラムを実装しています
Pythonはftpファイル転送機能を実装しています
Pythonはユーザー名とパスワードの検証を実装しています
Pythonがタイマー機能を実装する方法
Pythonは航空機戦争プロジェクトを実装します
Pythonは写真の水平ステッチを実装しています
PythonはGIFグラフを逆さまに実装します