import numpy as np
x1 = np.array([1,2,3])
x2 = np.array([4,5,6])
np.concatenate([x1, x2])
# concatenateは鎖状につなぐの意味
# array([1, 2, 3, 4, 5, 6])
np.vstack([x1, x2])
# 縦につなげることが可能
# array([[1, 2, 3],
# [4, 5, 6]])
np.hstack([x1, x2])
# 横につなげる
# array([1, 2, 3, 4, 5, 6])
## 分割
x = np.arange(10)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
x1, x2, x3 = np.split(x, [1, 2])
# x1: array([0])
# x2: array([1])
# x3: array([2, 3, 4, 5, 6, 7, 8, 9])
y = np.eye(4)
# array([[1., 0., 0., 0.],
# [0., 1., 0., 0.],
# [0., 0., 1., 0.],
# [0., 0., 0., 1.]])
np.vsplit(y, [2])
# [array([[1., 0., 0., 0.],
# [0., 1., 0., 0.]]),
# array([[0., 0., 1., 0.],
# [0., 0., 0., 1.]])]
np.hsplit(y,[2])
# [array([[1., 0.],
# [0., 1.],
# [0., 0.],
# [0., 0.]]),
# array([[0., 0.],
# [0., 0.],
# [1., 0.],
# [0., 1.]])]