Numpyで行や列を追加する方法を紹介します。
いくつか方法はあるのですが、今回はnp.appendとnp.concatenateを使った方法紹介します。
環境
- python 3.8.0
- numpy 1.17.3
append
では、さっそくnp.appendのサンプルコードを見てみます。
まずはてきとうにNumpy配列作成します。
>>> import numpy as np
>>> arr = np.array([[1,2],[3,4]])
>>> arr
array([[1, 2],
[3, 4]])
このNumpy配列に行や列を追加します。
行の追加
では、まず行を追加します。
まず追加したいデータを作成します。
>>> r = np.zeros((1, 2))
>>> r
array([[0., 0.]])
np.appendに元のデータ、追加したいデータと引数axisを与えます。
行を追加したい場合はaxis=0としてやることで追加できます。
>>> np.append(arr,r,axis=0)
array([[1., 2.],
[3., 4.],
[0., 0.]])
列の追加
次に列を追加します。
まずは追加したいデータを用意します。
>>> c = np.zeros((1, 2)).T
>>> c
array([[0.],
[0.]])
列を追加したい場合はaxis=1としてあげます。
>>> np.append(arr,c,axis=1)
array([[1., 2., 0.],
[3., 4., 0.]])
concatenate(おまけ)
append以外にもnp.concatenateというNumpy 配列を結合するメソッドを使っても同じように追加できます。
行の追加
>>> np.concatenate((arr,r),axis=0)
array([[1., 2.],
[3., 4.],
[0., 0.]])
列の追加
>>> np.concatenate((arr,c),axis=1)
array([[1., 2., 0.],
[3., 4., 0.]])
参考文献
https://numpy.org/doc/stable/reference/generated/numpy.append.html
https://numpy.org/doc/stable/reference/generated/numpy.concatenate.html