list, np配列操作

numpyの配列において、行と列の抽出を毎回調べているのでメモしておきます。
主にやっていることは
・numpy配列を用いて行・列をそれぞれ抽出する。
・文字が代入された配列の操作
・配列の場合の特定行、列の削除方法
・配列とlistの相互の変換

です。

参考サイトは
https://qiita.com/supersaiakujin/items/d63c73bb7b5aac43898a
https://qiita.com/HajimeKawahara/items/02c288667f0a893e8761
https://note.nkmk.me/python-numpy-delete/
https://note.nkmk.me/python-numpy-list/

配列は次元に支配されています。基本的には1次元からはじまり、2. 3. 4...と増えていきます。3次元までは空間座標をイメージすればいいかと思います。
以下に例を示します。

np.array([1, 2, 3]) #1次元(x軸だけ:行だけ)
np.array([[1, 2, 3], [4, 5, 6]]) #2次元(x軸、y軸:行と列)
np.array([[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) #3次元(x軸、y軸、z軸)

抽出方法は簡単です。
例えば list1 = np.array([[1, 2, 3], [4, 5, 6]]) について考えると、
list1[0] = np.array([1, 2, 3])
list1[:,0] = np.array([[1], [4])
のように行だけ抽出、列だけ抽出することも可能です。
あとは転置を行うlist1.Tやlist1.reshape()、削除list1.delete()などがあります。(基本的には()内で関数, 何番目, 次元を指定します)

あとはリストと配列の相互変換について

np.array(リスト) → 配列
配列.tolist() → リスト

に変換できます。

この記事が気に入ったらサポートをしてみませんか?