Numpy配列の行または列に要素や配列を挿入したい事があるかと思います.本記事ではnumpy.insert関数を使って配列を挿入する方法を解説しております.
スポンサーリンク
numpy.insert関数について
numpy.insert関数を使うと配列を挿入する事ができます.設定方法は元配列のどの軸に対し配列を挿入するかを引数axisで決め,挿入する配列の位置をインデックス番号を引数で渡します.
・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記事一覧
スポンサーリンク
コメント