Numpy配列の行,列を削除する方法

Numpy

 Numpy配列の行または列の要素を削除したい事があるかと思います.本記事ではnumpy.delete関数を使って配列を削除する方法を解説しております.

 スポンサーリンク

スポンサーリンク

numpy.delet関数について

numpy.delet関数を使うと配列を削除する事ができます.設定方法は元配列のどの軸に対し配列を削除するかを引数axisで決め,削除する配列位置を引数としてインデックス番号で渡します.

numpy.delete関数の書式

numpy.delete(arr, obj ,axis=None)

引数概要
arr配列または配列に準ずるもの
obj削除する要素のインデックスを指定します
axis要素を削除する軸を指定します
・2次元配列のとき
 axis=0 行方向の軸
 axis=1 列方向の軸

・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記事一覧

トップページへ戻る

 スポンサーリンク

コメント

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