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

  • Post category:Python

将两个二维NumPy数组串联起来有两种方式:横向连接(水平连接)和纵向连接(垂直连接)。下面我将详细讲解这两种方式以及示例说明。

1. 横向连接

横向连接将两个二维NumPy数组按列连接。即将第一个数组的列与第二个数组的列连接,组成一个新的数组。可以使用np.hstack函数实现。

语法格式:

np.hstack((array1, array2))

其中,array1array2是要连接的两个数组对象,当它们的列数不相同时,将抛出ValueError异常。

下面是一个使用示例:

import numpy as np

# 创建两个二维NumPy数组
arr1 = np.array([[1, 2],[3, 4]])
arr2 = np.array([[5, 6],[7, 8]])

# 使用np.hstack函数横向连接两个数组
arr_hstack = np.hstack((arr1, arr2))

print(arr_hstack)

输出结果:

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

以上代码中,arr1arr2分别是两个二维NumPy数组,使用np.hstack函数将它们按列连接成一个新的二维数组arr_hstack,并将其输出。

另外,如果要连接多个数组,只需在np.hstack函数中传入一个元组,将所有要连接的数组对象依次传入即可。

2. 纵向连接

纵向连接将两个二维NumPy数组按行连接。即将第一个数组的行与第二个数组的行连接,组成一个新的数组。可以使用np.vstack函数实现。

语法格式:

np.vstack((array1, array2))

其中,array1array2是要连接的两个数组对象,当它们的行数不相同时,将抛出ValueError异常。

下面是一个使用示例:

import numpy as np

# 创建两个二维NumPy数组
arr1 = np.array([[1, 2],[3, 4]])
arr2 = np.array([[5, 6],[7, 8]])

# 使用np.vstack函数纵向连接两个数组
arr_vstack = np.vstack((arr1, arr2))

print(arr_vstack)

输出结果:

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

以上代码中,arr1arr2分别是两个二维NumPy数组,使用np.vstack函数将它们按行连接成一个新的二维数组arr_vstack,并将其输出。

另外,如果要连接多个数组,只需在np.vstack函数中传入一个元组,将所有要连接的数组对象依次传入即可。