列を任意の順番に並べ替え python numpy

こんな配列があったとする(shape=[3,10])

arr=[[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29]]

こいつを行(列)を入れ替えたい時はインデックスのリストを指定してあげるといいらしい。

やってみる。

In > arr[[1,2,0]]

Out > array( [ [10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])

できた。

スライスもできる。

In > arr[[1,2,0],0:5]

Out > array( [ [10, 11, 12, 13, 14],
[20, 21, 22, 23, 24],
[ 0, 1, 2, 3, 4,]])

信号処理とかで使えそう。

Linux UbuntuLinuxサーバーnumpytensorflow機械学習深層学習
スポンサーリンク
Toufuをフォローする

コメント

タイトルとURLをコピーしました