📜  Python numpy.concatenate()

📅  最后修改于: 2020-10-27 04:11:44             🧑  作者: Mango

Python的numpy.concatenate()

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)轴: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’。
  • 最后,我们尝试print’z’的值。

在输出中,两个数组的值,即按轴= 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()函数的返回值。
  • 最后,我们尝试print’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)