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]]
本文详细介绍了使用Python的NumPy库进行数组合并的方法,包括纵向合并(vstack),横向合并(hstack),以及使用concatenate函数在指定维度上的合并。通过实例展示了如何通过增加维度将一维数组转换为矩阵,并进行有效的合并操作。
924

被折叠的 条评论
为什么被折叠?



