如何将两个二维NumPy数组串联起来

  • Post category:Python

要将两个二维NumPy数组串联起来,可以使用numpy.concatenate()函数。numpy.concatenate()函数可接收两个参数,第一个参数为要串联起来的数组,第二个参数为数组串联的轴。

以下是完整的步骤:

  1. 导入NumPy模块。
import numpy as np
  1. 创建要串联的两个二维NumPy数组。
# 创建第一个数组
arr1 = np.array([[1, 2], [3, 4]])

# 创建第二个数组
arr2 = np.array([[5, 6], [7, 8]])
  1. 使用numpy.concatenate()函数将两个数组串联起来。
# 使用 numpy.concatenate() 函数将两个数组串联起来
result = np.concatenate((arr1, arr2), axis=0)

在此示例中,使用axis=0参数将两个二维数组沿着行方向(vertical)串联起来,返回结果为:

array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8]])

注意事项:

  • 要将两个数组串联起来,它们在串联的轴上的形状必须完全匹配。
  • 如果两个数组的形状不匹配,则将引发ValueError异常。

下面是一个更复杂的示例,展示了如何串联三个不同形状的NumPy数组:

# 创建三个NumPy数组
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8], [9, 10]])
arr3 = np.array([[11, 12]])

# 将三个数组串联起来,沿着不同的轴
result = np.concatenate((arr1, arr2, arr3.T), axis=0)

# 打印结果
print(result)

在此示例中,我们创建三个NumPy数组,并使用numpy.concatenate()函数将它们沿着不同的轴进行了串联。arr3使用了.T方法转置,以使其可串联到arr1arr2的列中,而不是它们的行中。该示例的输出结果如下:

array([[ 1,  2],
       [ 3,  4],
       [ 5,  6],
       [ 7,  8],
       [ 9, 10],
       [11, 12]])