Numpy配列の行または列の要素を削除したい事があるかと思います.本記事ではnumpy.delete関数を使って配列を削除する方法を解説しております.
スポンサーリンク
numpy.delet関数について
numpy.delet関数を使うと配列を削除する事ができます.設定方法は元配列のどの軸に対し配列を削除するかを引数axisで決め,削除する配列位置を引数としてインデックス番号で渡します.
・1次配列の要素を削除します.
[IN]
import numpy as np
a0 = np.array([0, 1, 2, 3 , 4 ,5 ]) #元の配列
a1 = np.delete(a0, 2) #インデクス番号2の要素を削除
print('a0 元の配列 \n ', a0)
print('a1 削除後の配列 \n', a1)
[OUT]
a0 元の配列
[0 1 2 3 4 5]
a1 削除後の配列
[0 1 3 4 5]
・2行2列の2次元配列についてインデクス番号1の行を削除します.
[IN]
import numpy as np
a0 = np.array([[ 0, 1, 2 ],
[ 1, 6, 6 ],
[ 2, 9, 9 ]]) #元の配列
a1 = np.delete(a0, 1 , axis=0) #インデクス番号1の行を削除
print('a0 元の配列 \n ', a0)
print('a1 削除後の配列 \n', a1)
[OUT]
a0 元の配列
[[0 1 2]
[1 6 6]
[2 9 9]]
a1 削除後の配列
[[0 1 2]
[2 9 9]]
deleteの引数axis=1が列方向の軸です.
・2行2列の2次元配列について,インデクス番号1の列を削除します.
[IN]
import numpy as np
a0 = np.array([[ 0, 1, 2 ],
[ 1, 6, 6 ],
[ 2, 9, 9 ]]) #元の配列
a1 = np.delete(a0, 1 , axis=1) #インデクス番号1の列を削除
print('a0 元の配列 \n ', a0)
print('a1 削除後の配列 \n', a1)
[OUT]
a0 元の配列
[[0 1 2]
[1 6 6]
[2 9 9]]
a1 削除後の配列
[[0 2]
[1 6]
[2 9]]
deleteの引数axis=0が行方向の軸です.
numpy.delete関数は比較的容易に使えたのではないでしょうか.
・Python記事一覧
スポンサーリンク
コメント