concatenate()函数是NumPy包中的函数。此函数实质上将NumPy数组组合在一起。此函数基本上用于沿指定轴连接两个或多个相同形状的数组。需要牢记以下几点:
- NumPy的concatenate()不同于传统的数据库联接。就像堆叠NumPy数组一样。
- 此函数可以垂直和水平操作。这意味着我们可以水平或垂直地将数组连接在一起。

concatenate()函数通常写为np.concatenate(),但我们也可以将其写为numpy.concatenate()。它取决于导入numpy软件包的方式,分别将numpy导入为np或import numpy。
语法
numpy.concatenate((a1, a2, ...), axis)
参数
1)(a1,a2,...)
此参数定义数组的顺序。这里,a1,a2,a3…是除了与轴对应的尺寸以外的形状相同的阵列。
2)axis:int(可选)
此参数定义将要沿其连接数组的轴。默认情况下,其值为0。
结果
它将返回一个包含两个数组元素的ndarray。
示例1:numpy.concatenate()
import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y)) z
在上面的代码中
- 我们导入了别名为np的numpy。
- 我们已经使用np.array()函数创建了一个数组x。
- 然后,我们使用相同的np.array()函数创建了另一个数组y。
- 我们已经声明了变量z并分配了np.concatenate()函数的返回值。
- 我们在函数中传递了数组x和y。
- 最后,我们尝试打印z的值。
在输出中,axis = 0显示两个数组的值,即" x"和" y"。
输出:
array([[ 1, 2],
[ 3, 4],
[12, 30]])
示例2:numpy.concatenate()与axis = 0
import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y), axis=0) z
输出:
array([[ 1, 2],
[ 3, 4],
[12, 30]])
示例3:numpy.concatenate()与axis = 1
import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y.T), axis=1) z
输出:
array([[ 1, 2, 12],
[ 3, 4, 30]])
在上面的示例中,".T"用于将行更改为列,并将列更改为行。
示例4:numpy.concatenate()与axis = None
import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y), axis=None) z
输出:
array([ 1, 2, 3, 4, 12, 30])
在上面的示例中,我们使用了np.concatenate()函数。此函数未保留MaskedArray输入的掩码。我们可以通过以下方式连接可以保留MaskedArray输入的掩码的数组。
示例5:np.ma.concatenate()
import numpy as np x=np.ma.arange(3) y=np.arange(3,6) x[1]=np.ma.masked x y z1=np.concatenate([x,y]) z2=np.ma.concatenate([x,y]) z1 z2
在上面的代码中
- 我们导入了别名为np的numpy。
- 我们已经使用np.ma.arrange()函数创建了一个数组x。
- 然后,我们使用相同的np.ma.arrange()函数创建了另一个数组y。
- 我们已经声明了变量z1并分配了np.concatenate()函数的返回值。
- 我们已经声明了变量z2,并分配了np.ma.concatenate()函数的返回值。
- 最后,我们尝试打印z1和z2的值。
在输出中,数组" z1"和" z2"的值都保留了MaskedArray输入的掩码。
输出:
masked_array(data=[0, --, 2],
mask=[False, True, False],
fill_value=999999)
array([3, 4, 5])
masked_array(data=[0, 1, 2, 3, 4, 5],
mask=False,
fill_value=999999)
masked_array(data=[0, --, 2, 3, 4, 5],
mask=[False, True, False, False, False, False],
fill_value=999999)