开发手册 欢迎您!
软件开发者资料库

Python numpy.stack函数方法的使用

NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中stack方法的使用。

numpy.stack

numpy.stack(arrays, axis=0, out=None)      [source]

沿着新的轴连接数组序列。

axis参数在结果的维度中指定新轴的索引。例如,如果axis=0,它将是第一个维度;如果axis=-1,它将是最后一个维度。

1.10.0版中的新功能。

参数 :

arrays :array_like的sequence

每个数组必须具有相同的形状。

axisint, 可选

结果数组中输入轴沿其堆叠的轴。

outndarray, 可选

如果提供,则为放置结果的目的地。 

形状必须正确,并且与未指定out参数时返回的stack相匹配。

返回值 :

stackedndarray

堆叠的数组比输入数组多一维。

例子

>>> arrays = [np.random.randn(3, 4) for _ in range(10)]>>> np.stack(arrays, axis=0).shape(10, 3, 4)
>>> np.stack(arrays, axis=1).shape(3, 10, 4)
>>> np.stack(arrays, axis=2).shape(3, 4, 10)
>>> 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]])