numpy.vstack()||stack()||hstack()结构及用法

  • numpy.vstack(tup) 官方文档

垂直方向堆叠阵列(按行排列)

垂直方向堆叠,列数不变,行数改变。就像搭积木,是垂直搭,越搭越高,但是并没有变宽。

参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组。

>>> a = np.array([1, 2, 3])
>>> b = np.array([2, 3, 4])
>>> np.vstack((a,b))
array([[1, 2, 3],
       [2, 3, 4]])
       
>>> a = np.array([[1], [2], [3]])
>>> b = np.array([[2], [3], [4]])
>>> np.vstack((a,b))
array([[1],
       [2],
       [3],
       [2],
       [3],
       [4]])

以上是最简单的例子,如果tup作为list里面每个元素是series,会把series先转化为list,然后再运行。(是通过例子的出来的黑盒结论,没有看过源代码,所以不保证正确)举例如下:
numpy.vstack()||stack()||hstack()结构及用法_第1张图片

  • numpy.stack() 官方文档

>>> a = np.array([1, 2, 3])
>>> b = np.array([2, 3, 4])
>>> np.stack((a, b))
array([[1, 2, 3],
       [2, 3, 4]])
>>> np.stack((a, b), axis=-1)
array([[1, 2],
       [2, 3],
       [3, 4]])
  • numpy.hstack(tup) 官方文档

按行堆叠,列数改变,行数不变,与vstack()对应存在。

>>> a = np.array((1,2,3))
>>> b = np.array((2,3,4))
>>> np.hstack((a,b))
array([1, 2, 3, 2, 3, 4])
>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[2],[3],[4]])
>>> np.hstack((a,b))
array([[1, 2],
       [2, 3],
       [3, 4]])
  • Reference

  1. Numpy中stack(),hstack(),vstack()函数详解
  2. Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()

你可能感兴趣的:(小白学Python)