兩個矩陣或序列進行合並
A=np.array([1,1,1]) B=np.array([2,2,2]) print(np.vstack(A,B))# 上下合並 vertical stack D=np.hstack((A,B))#左右合並 horizontal stack
上下合並結果為
[[1,1,1],
[2,2,2]]
左右合並[1,1,1,2,2,2]
注意A.T不能轉換成豎向的序列
要采用
A.[np.newaxis,:]冒號在右邊則代表在行上加了一個維度
A.[:,np.newaxis]冒號在左邊則代表在列上加了一個維度,可實現轉換成豎向的序列。
[
[1],
[1],
[]]
]
故如果想要轉換成下圖所示
uploading-image-788153.png
則
A=np.array([1,1,1])[:,np.newaxis]
B=np.array([2,2,2])[:,np.newaxis]
np.hstack(A,B)
np.concatenate((A,B,B,A),axis=0)可對多個序列或矩陣進行合並,合並后矩陣.0表示上下合並成列向。
1表示左右合並行向。
從橫向分割或縱向分割
如果無法按此規則分割,則程序報錯。
故np.split()不支持不等量分割。
這里需要用np.array_split()來進行不等量分割。
會將無法等量分割,分割一個一個一維的序列或矩陣
np.vsplit(A,3)縱向分成3塊(僅支持等量分割,與np.split()相似,只是不用傳axis參數,即等於axis=0)
np.hsplit(A,2)橫向分成2塊。(僅支持等量分割,與np.split()相似,只是不用傳axis參數,即等於axis=1)、