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)
>>> a
masked_array(data=[0, --, 2],
             mask=[False,  True, False],
       fill_value=999999)
>>> b
array([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)
推荐阅读
cjavapy编程之路首页