numpy配列の連結
列方向の連結(行増加)
vstack関数または、concatenate関数を利用することで列方向の連結ができます。
IN
import numpy as np
arr1 = np.array([[1, 2, 3],
[4, 5, 6]])
arr2 = np.array([[7, 8, 9]])
np.vstack([arr1, arr2]) # またはnp.concatenate([arr1, arr2])
OUT
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
行方向の連結(列増加)
hstack関数または、concatenate関数(引数axis=1)を利用することで行方向の連結ができます。
IN
import numpy as np
arr1 = np.array([[1, 2],
[3, 4]])
arr2 = np.array([[5],
[6]])
np.hstack([arr1, arr2]) # またはnp.concatenate([arr1, arr2], axis=1)
OUT
array([[1, 2, 5],
[3, 4, 6]])
numpy配列の分割
列方向の分割(行減少)
vsplit関数を利用することで列方向の分割ができます。またはsplit関数でも可能です。
第2引数にリストで分割位置を指定できます。複数指定する場合は複数要素のリストで分割数を増やせます。
IN
import numpy as np
arr = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
arr1, arr2 = np.split(arr, [2])
OUT(arr1)
array([[1, 2, 3],
[4, 5, 6]])
OUT(arr2)
array([[7, 8, 9]])
行方向の分割(列減少)
hsplit関数を利用することで行方向の分割ができます。またはsplit関数に引数axis=1を指定することでも可能です。
IN
import numpy as np
arr = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
arr1, arr2 = np.hsplit(arr, [2]) # np.split(arr, [2], axis=1)
OUT(arr1)
array([[3],
[6],
[9]])
OUT(arr2)
array([[3],
[6],
[9]])