Numpy配列の行,列を挿入する方法

Numpy

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

 スポンサーリンク

スポンサーリンク

numpy.insert関数について

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

numpy.insertの関数書式

numpy.insert(arr, obj, values, axis=None)

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

・1次配列で要素を挿入します.

[IN]

import numpy as np
a0 = np.array([0, 1, 2, 3 , 4 ,5 ]) #元の配列
a1 = np.insert(a0, 2 , [99,99]  )  #インデクス番号2の前に配列を追加

[OUT]

[ 0  1 99 99  2  3  4  5]

インデックス番号2の前に配列を追加することができました.

・2行2列の2次元配列についてインデクス番号2の行の前に配列を挿入します.

[IN]

import numpy as np
a0 = np.array([[ 0, 1, 2],
               [ 1, 6, 6],
               [ 2, 9, 9]]) #元の配列
in_arr=np.array([7,7,7]) #挿入する配列

a1 = np.insert(a0, 2, in_arr, axis=0)  #インデクス番号2の行の前に配列を挿入
print('a0 元の配列    \n ',  a0)
print('a1 挿入後の配列 \n',  a1)

[OUT]

a0 元の配列    
  [[0 1 2]
 [1 6 6]
 [2 9 9]]
a1 挿入後の配列 
 [[0 1 2]
 [1 6 6]
 [7 7 7]
 [2 9 9]]

 insertの引数axis=0とすることで行方向に配列を挿入できました.

・2行2列の2次元配列についてインデクス番号2の列の前に配列を挿入します.

[IN]

import numpy as np
a0 = np.array([[ 0, 1, 2],
               [ 1, 6, 6],
               [ 2, 9, 9]]) #元の配列

in_arr=np.array([[7,7,7],
                [8,8,8]])  #挿入する配列

a1 = np.insert(a0, 2, in_arr, axis=1)  #インデクス番号2の列の前に配列を挿入
print('a0 元の配列    \n ',  a0)
print('a1 挿入後の配列 \n',  a1)

[OUT]

a0 元の配列    
  [[0 1 2]
 [1 6 6]
 [2 9 9]]
a1 挿入後の配列 
 [[0 1 7 8 2]
 [1 6 7 8 6]
 [2 9 7 8 9]]

 insertの引数axis=1とすることで,列方向に配列を挿入しました.挿入した配列は2行3列ですが,挿入後は3行2列になっていることが解ります.

 

・Python記事一覧

トップページへ戻る

 スポンサーリンク

コメント

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