(同维)数组组合主要有三种形式:垂直组合,水平组合,深度组合
我们先生成两个数组 a,b
In [1]: import numpy as np
In [2]: a= np.arange(11,20).reshape(3,3)
In [3]: a
Out[3]:
array([[11, 12, 13],
[14, 15, 16],
[17, 18, 19]])
In [4]: b=np.arange(11,20).reshape(3,3)
In [5]: b
Out[5]:
array([[21, 22, 23],
[24, 25, 26],
[27, 28, 29]])1)垂直组合
numpy.vstack(a,b)
numpy.concartenate((a,b),axis=0)
axis命名参数表示轴向,0表示第一维,1表示第二维,以此类推
In [6]: np.vstack((a,b))
Out[6]:
array([[11, 12, 13],
[14, 15, 16],
[17, 18, 19],
[21, 22, 23],
[24, 25, 26],
[27, 28, 29]])
In [7]: np.concatenate((a,b),axis=0)
Out[7]:
array([[11, 12, 13],
[14, 15, 16],
[17, 18, 19],
[21, 22, 23],
[24, 25, 26],
[27, 28, 29]])2)水平组合numpy.hstack((a,b))
numpy.concatenate((a,b),axis=1)
In [8]: np.hstack((a,b))
Out[8]:
array([[11, 12, 13, 21, 22, 23],
[14, 15, 16, 24, 25, 26],
[17, 18, 19, 27, 28, 29]])
In [9]: np.concatenate((a,b),axis=1)
Out[9]:
array([[11, 12, 13, 21, 22, 23],
[14, 15, 16, 24, 25, 26],
[17, 18, 19, 27, 28, 29]])3)深度组合numpy.dstack((a,b))
In [10]: c = np.dstack((a,b))
In [11]: c
Out[11]:
array([[[11, 21],
[12, 22],
[13, 23]],
[[14, 24],
[15, 25],
[16, 26]],
[[17, 27],
[18, 28],
[19, 29]]])记住,numpy.concatenate((a,b),axis=2)是错误的用法In [12]: c=np.concatenate((a,b),axis=2)
---------------------------------------------------------------------------
AxisError Traceback (most recent call last)
<ipython-input-16-73be7a9decd1> in <module>()
----> 1 c=np.concatenate((a,b),axis=2)
AxisError: axis 2 is out of bounds for array of dimension 2
本文介绍了使用NumPy进行数组操作的三种主要组合方法:垂直组合、水平组合和深度组合,并通过具体实例展示了如何利用numpy.vstack、numpy.hstack及numpy.dstack等函数实现这些组合。

2253

被折叠的 条评论
为什么被折叠?



