Numpy中stack(),hstack(),vstack()函数详解

来自:https://blog.csdn.net/csdn15698845876/article/details/73380803

np.vstack:按垂直方向(行顺序)堆叠数组构成一个新的数组

In[3]:
import numpy as np

In[4]:
a = np.array([[1,2,3]])
a.shape
Out[4]:
(1, 3)

In [5]:
b = np.array([[4,5,6]])
b.shape
Out[5]:
(1, 3)

In [6]:
c = np.vstack((a,b)) # 将两个(1,3)形状的数组按垂直方向叠加
print(c)
c.shape # 输出形状为(2,3)
[[1 2 3]
 [4 5 6]]
Out[6]:
(2, 3)

In [7]:
a = np.array([[1],[2],[3]])
a.shape
Out[7]:
(3, 1)

In [9]:
b = np.array([[4],[5],[6]])
b.shape
Out[9]:
(3, 1)

In [10]:
c = np.vstack((a,b))  # 将两个(3,1)形状的数组按垂直方向叠加
print(c)
c.shape # 输出形状为(6,1)
[[1]
 [2]
 [3]
 [4]
 [5]
 [6]]
Out[10]:
(6, 1)

np.hstack:按水平方向(列顺序)堆叠数组构成一个新的数组

In[11]:
a = np.array([[1,2,3]])
a.shape
Out[11]:
(1, 3)

In [12]:
b = np.array([[4,5,6]])
b.shape
Out[12]:
(1, 3)

In [16]:
c = np.hstack((a,b)) # 将两个(1,3)形状的数组按水平方向叠加
print(c)
c.shape  # 输出形状为(1,6)
[[1 2 3 4 5 6]]
Out[16]:
(1, 6)

In [17]:
a = np.array([[1],[2],[3]])
a.shape
Out[17]:
(3, 1)
In [18]:
b = np.array([[4],[5],[6]])
b.shape
Out[18]:
(3, 1)
In [19]:
c = np.hstack((a,b)) 将两个(3,1)形状的数组按水平方向叠加
print(c)
c.shape  # 输出形状为(3,2)
[[1 4]
 [2 5]
 [3 6]]
Out[19]:
(3, 2)
原文地址:https://www.cnblogs.com/keye/p/8955011.html