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

一、stack()

例子如下:
import numpy as np
 a = [1,2,3]
 b = [4,5,6]
 np.stack((a,b),axis=0)
 >>> array([[1, 2, 3],
       [4, 5, 6]])

 np.stack((a,b),axis=1)
 >>> array([[1, 4],
       [2, 5],
       [3, 6]])

分析:
把(a,b)看成组合数组A [[1,2,3],[4,5,6]]
当axis=0的时候,把A的0纬组合下,那依然是[[1,2,3],[4,5,6]]
当axis=1的时候,吧A的1纬组合下,那么自然是1和4组合成新元素,2和5组合成新元素,3和6组合成新元素
所以变成了[[1,4],[2,5],[3,6]]
解释简单明了,大家可以试试stack三纬数组,来验证下自己的理解程度

二、hstack()
语意理解hstack就是把两个数组都排列好,然后水平组合成新数组
import numpy as np
 a = [1,2,3]
 b = [4,5,6]
 np.vstack((a,b))
 >>> array([1, 2, 3, 4, 5, 6])



三、vstack()
语意理解vstack就是把两个数组都排列好,然后竖直组合成新数组
import numpy as np
 a = [1,2,3]
 b = [4,5,6]
 np.vstack((a,b))
 >>> array([[1, 2, 3],
       [4, 5, 6]])

你可能感兴趣的:(深度学习)