无涯教程-numpy - concatenate()函数

97 阅读4分钟

concatenate()函数是NumPy包中的函数。此函数实质上将NumPy数组组合在一起。此函数基本上用于沿指定轴连接两个或多个相同形状的数组。需要牢记以下几点:

  1. NumPy的concatenate()不同于传统的数据库联接。就像堆叠NumPy数组一样。
  2. 此函数可以垂直和水平操作。这意味着我们可以水平或垂直地将数组连接在一起。
numpy.concatenate()

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)

参考链接

www.learnfk.com/numpy/numpy…