python沿行或者沿列拼接空矩阵和其他矩阵

时间:2024-03-04 15:45:18
import numpy as np

a=[]
n=1
a=np.hstack((a,n))

n=2
a=np.hstack((a,n))
print(a)

b=np.empty((0,1),int)
n=1
b=np.vstack((b,n))

n=2
b=np.vstack((b,n))
print(b)

沿水平或者垂直方向的空矩阵和其他矩阵拼接,这里没有拼接矩阵,而用了单个数值的拼接,原理是一样的。

 

注意拼接出来的a和b都是array类型。

另外垂直拼接时,应定义空矩阵的维数b=np.empty((0,1),int),零行一列。

 

 

下来举个矩阵拼接的列子。这里拼接3行4列的矩阵

import numpy as np
c=np.empty((3,0),int)
n=np.array([[ 1000,  100,  10,  1],
       [35,  9,  1,  5],
       [22, 12,  3,  2]])
c=np.hstack((c,n))
n=np.array([[ 1000,  100,  10,  1],
       [35,  9,  1,  5],
       [22, 12,  3,  2]])
c=np.hstack((c,n))
print(c)

d=np.empty((0,4),int)
n=np.array([[ 1000,  100,  10,  1],
       [35,  9,  1,  5],
       [22, 12,  3,  2]])
d=np.vstack((d,n))
n=np.array([[ 1000,  100,  10,  1],
       [35,  9,  1,  5],
       [22, 12,  3,  2]])
d=np.vstack((d,n))
print(d)

横向拼接和竖向拼接的结果如图

 

 注意拼接时先要定义空矩阵的维数,沿行拼接时,c=np.empty((3,0),int),3行0列,沿列拼接时,d=np.empty((0,4),int),0行4列

结果的数据类型也是array

 

另外,拼接函数也支持list和str或者array和str的拼接

import numpy as np
a=np.array([1,2,3])
b=\'xx\'
c=np.hstack((a,b))

d=[1,2,3]
e=\'xx\'
f=np.hstack((d,e))

注意拼接后是array类型