四、numpyはマトリクスを生成し、マトリクスのマージ、マトリクスは次元を増加し、concatenateで複数のマトリクスをマージする


python -V3.7 numpy -V 1.17
背景は前編の学習が終わった行列のインデックスに続いて、ある行のある列の要素を取って、多次元行列は1行の数列に変わって、本文は行列の合併を引き続き学習します.
1、2つのマトリクスを上下に結合し、vertical stackで、関数はvstackです.
import numpy as np

#      , vertical stack,    
A = np.array([1,1,1])
B = np.array([2,2,2])

c = np.vstack((A,B))
print(c)
# [[1 1 1]
#  [2 2 2]]

2、マトリクスを左右に合わせてhorizontal stack、関数はhstack
D = np.hstack((A,B))

print(D)  # [1 1 1 2 2 2]
print(D.shape)  # (6,)

3、次元を増やし、newaxisを通す
#     ,  newaxis
print(A)
# [1 1 1]
print(A[np.newaxis,:])
# [[1 1 1]]
print(A[np.newaxis,:].shape)
# (1, 3)

print(A[:,np.newaxis])
# [[1]
#  [1]
#  [1]]

print(A[:,np.newaxis].shape)
# (3, 1)

4、複数のマトリクスを結合し、axisは横方向か縦方向かを制御する
a = np.array([1,1,1])[:,np.newaxis]
b = np.array([2,2,2])[:,np.newaxis]
#          
e = np.concatenate((a,b,b,a),axis=0)
print(e)
f = np.concatenate((a,b,b,a),axis=1)
print(f)
# axis