import numpy as np
#numpy的array合并
A = np.array([1,1,1])
B = np.array([2,2,2])
#纵向合并
C = np.vstack((A,B)) #vertical stack
#横向合并
D = np.hstack((A,B)) #horizontal stack
print(A)
print(B)
print(C)
print(A.shape,C.shape)
输出
[1 1 1]
[2 2 2]
[[1 1 1]
[2 2 2]]
(3,) (2, 3)
#A B只是一维序列,有3个元素,但不能通过A.T把一个序列变成矩阵
print(A)
print(A.T)
输出
[1 1 1]
[1 1 1]
#为行或列增加维度,将序列转化为矩阵
print(A[np.newaxis,:]) #为序列添加行的维度
print(A[np.newaxis,:].shape)
print(A[:,np.newaxis]) #为序列添加列的维度
print(A[:,np.newaxis].shape)
输出
[[1 1 1]]
(1, 3)
[[1]
[1]
[1]]
(3, 1)
#对A B转化后进行纵向合并
D = np.hstack((A[:,np.newaxis],B[:,np.newaxis]))
print(D)
输出
[[1 2]
[1 2]
[1 2]]
#利用np.concatenate((A,B,C,...),axis=0,1)可将多个矩阵在指定维度上进行合并
E = np.concatenate((A,B,A),axis=0)
print(E)
输出
[1 1 1 2 2 2 1 1 1]
F = np.concatenate((A[:,np.newaxis],B[:,np.newaxis],A[:,np.newaxis]),axis=1)
#此时三个矩阵均为3行1列,将三个矩阵在列方向上进行合并,输出一个3行3列的矩阵
print(F)
输出
[[1 2 1]
[1 2 1]
[1 2 1]]