Stack,VStack,HStack


In [1]:
import numpy as np

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

In [3]:
a.shape, a, b


Out[3]:
((3,), array([1, 2, 3]), array([4, 5, 6]))

In [4]:
aa = np.array([[1], [2], [3]])
bb = np.array([[4], [5], [6]])

In [5]:
aa.shape, aa, bb


Out[5]:
((3, 1), array([[1],
        [2],
        [3]]), array([[4],
        [5],
        [6]]))

numpy.stack


In [6]:
np.stack((a, b), axis=0)


Out[6]:
array([[1, 2, 3],
       [4, 5, 6]])

In [7]:
np.stack((a, b), axis=1)


Out[7]:
array([[1, 4],
       [2, 5],
       [3, 6]])

In [8]:
np.stack((aa, bb), axis=0)


Out[8]:
array([[[1],
        [2],
        [3]],

       [[4],
        [5],
        [6]]])

In [9]:
t = np.stack((aa, bb), axis=1)
t.shape, t


Out[9]:
((3, 2, 1), array([[[1],
         [4]],
 
        [[2],
         [5]],
 
        [[3],
         [6]]]))

numpy.vstack


In [10]:
# 行拼接
np.vstack((a, b)) # = np.stack(axis=0)


Out[10]:
array([[1, 2, 3],
       [4, 5, 6]])

In [11]:
np.vstack((aa, bb))


Out[11]:
array([[1],
       [2],
       [3],
       [4],
       [5],
       [6]])

numpy.hstack


In [12]:
# 列拼接
np.hstack((a, b))


Out[12]:
array([1, 2, 3, 4, 5, 6])

In [13]:
np.hstack((aa, bb))


Out[13]:
array([[1, 4],
       [2, 5],
       [3, 6]])

numpy.concatenate


In [14]:
np.concatenate((a, b), axis=0)


Out[14]:
array([1, 2, 3, 4, 5, 6])

In [15]:
np.concatenate((aa, bb), axis=0)


Out[15]:
array([[1],
       [2],
       [3],
       [4],
       [5],
       [6]])

In [16]:
np.concatenate((aa, bb), axis=1)


Out[16]:
array([[1, 4],
       [2, 5],
       [3, 6]])

一维行列拼接


In [17]:
np.column_stack((a, b))


Out[17]:
array([[1, 4],
       [2, 5],
       [3, 6]])

In [18]:
np.row_stack((a,b))


Out[18]:
array([[1, 2, 3],
       [4, 5, 6]])

In [19]:
c = np.array([7,8,9,0])
a1 = a.reshape((3,1))
b1 = b.reshape((3,1))
c1 = c.reshape((4,1))
# 行合并, 必须保证列维度相同, 行维度可以不一样
a1, b1, np.row_stack((a1,b1,c1))


Out[19]:
(array([[1],
        [2],
        [3]]), array([[4],
        [5],
        [6]]), array([[1],
        [2],
        [3],
        [4],
        [5],
        [6],
        [7],
        [8],
        [9],
        [0]]))