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

Python numpy.concatenate函数方法的使用

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

numpy.concatenate

numpy.concatenate((a1, a2, ...), axis=0, out=None)

沿现有轴(axis)连接一系列数组。

参数 :

a1, a2, … :array_like的sequence

数组必须具有相同的形状,

除了对应于轴的尺寸(默认为第一个)。

axisint, 可选

阵列将沿其连接的轴。 如果axis为None

则在使用前将数组展平。 默认值为0

outndarray, 可选

如果提供,则为放置结果的目的地。 形状必须正确,

并且与未指定out参数的concatenate连接的形状匹配。

返回值 :

resndarray

串联数组。

Notes

当要串联的一个或多个数组为MaskedArray时,此函数将返回MaskedArray对象而不是ndarray,但不会保留输入掩码。 如果需要使用MaskedArray作为输入,请改用MaskedArray模块中的ma.concatenate函数。

例子

>>> a = np.array([[1, 2], [3, 4]])>>> b = np.array([[5, 6]])>>> np.concatenate((a, b), axis=0)array([[1, 2],       [3, 4],       [5, 6]])>>> np.concatenate((a, b.T), axis=1)array([[1, 2, 5],       [3, 4, 6]])>>> np.concatenate((a, b), axis=None)array([1, 2, 3, 4, 5, 6])

此函数将不会保留MaskedArray输入的掩码。

>>> a = np.ma.arange(3)>>> a[1] = np.ma.masked>>> b = np.arange(2, 5)>>> amasked_array(data=[0, --, 2],             mask=[False,  True, False],       fill_value=999999)>>> barray([2, 3, 4])>>> np.concatenate([a, b])masked_array(data=[0, 1, 2, 2, 3, 4],             mask=False,       fill_value=999999)>>> np.ma.concatenate([a, b])masked_array(data=[0, --, 2, 2, 3, 4],             mask=[False,  True, False, False, False, False],       fill_value=999999)