当前位置: 代码迷 >> 综合 >> Python Numpy.hstack() 和 Numpy.vstack()解释
  详细解决方案

Python Numpy.hstack() 和 Numpy.vstack()解释

热度:5   发布时间:2024-02-25 07:48:52.0

简单说:
hstack()就是把两个行相同的数组或者矩阵的列从左到右排列起来,也就是把列水平排列起来。

import numpy as npa=[[1],[2],[3]]
b=[[4],[5],[6]]c = np.array(a)
d = np.array(b)print(c.shape)#形状(3,1)
print(d.shape)#形状(3,1)
#这两个numpy数组的行是相同的,即3行e = np.hstack((a,b))
#把他们的列水平排列起来,行不变
print(e)
#结果
#[[1 4]#[2 5]#[3 6]]
print(e.shape)#(3,2)

再来个例子

import numpy as npa=[1,2,3]
b=[4,5,6]c = np.array(a)
d = np.array(b)print(c.shape)#(3,),提示对于一维数据,其shape就是这种样式,表示共3个元素
print(d.shape)#(3,)
#这两个numpy数组的行是相同的,即1行e = np.hstack((a,b))#把他们的列水平排起来,a一共3列,b也3列,所以排列起来之后共6列,行不变,共1行
print(e)#[1 2 3 4 5 6]
print(e.shape)#(6,)

hstack()还有个兄弟,就是vstack()
vstack()就是把两个列相同的数组或矩阵的行从上到下排列起来,也就是把行从竖直排列起来。

import numpy as npa=[1,2,3]
b=[4,5,6]c = np.array(a)
d = np.array(b)print(c.shape)#(3)
print(d.shape)#(3)
#这两个numpy数组的列是相同的,都是3列e = np.vstack((a,b))#把他们的行从上到下排列,a共1行,b共1行,所以加起来共两行
print(e)
#[[1 2 3]#[4 5 6]]
print(e.shape)#(2,3)