将两个二维 NumPy 数组串联起来有多种方法,下面我们将介绍其中的三种常见方法。
方法一:使用 numpy.concatenate() 函数
通过 numpy.concatenate() 函数可以将两个二维数组水平或垂直拼接起来。函数的语法如下:
numpy.concatenate((a1, a2, ...), axis)
其中,a1、a2、…表示要进行拼接的 NumPy 数组,必须形状相同(除了指定的拼接轴)。axis 表示拼接轴的方向,axis=0 表示垂直拼接,axis=1 表示水平拼接。
下面是一个垂直拼接的示例:
import numpy as np
# 创建两个二维数组
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 垂直拼接
c = np.concatenate((a, b), axis=0)
# 输出结果
print(c)
运行结果:
[[1 2]
[3 4]
[5 6]
[7 8]]
下面是一个水平拼接的示例:
import numpy as np
# 创建两个二维数组
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 水平拼接
c = np.concatenate((a, b), axis=1)
# 输出结果
print(c)
运行结果:
[[1 2 5 6]
[3 4 7 8]]
方法二:使用 numpy.vstack() 和 numpy.hstack() 函数
numpy.vstack() 和 numpy.hstack() 函数是经常使用的两个函数,分别用于垂直和水平方向的拼接。函数的语法如下:
numpy.vstack((a1, a2, ...))
numpy.hstack((a1, a2, ...))
其中,a1、a2、…表示要进行拼接的 NumPy 数组,必须形状相同(除了指定的拼接轴)。
下面是一个垂直拼接的示例:
import numpy as np
# 创建两个二维数组
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 垂直拼接
c = np.vstack((a, b))
# 输出结果
print(c)
运行结果:
[[1 2]
[3 4]
[5 6]
[7 8]]
下面是一个水平拼接的示例:
import numpy as np
# 创建两个二维数组
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 水平拼接
c = np.hstack((a, b))
# 输出结果
print(c)
运行结果:
[[1 2 5 6]
[3 4 7 8]]
方法三:使用 NumPy 数组的拼接运算符
NumPy 数组支持 “+” 运算符进行拼接,同样可以水平或垂直拼接。运算符的语法如下:
np.concatenate([a1, a2, ...], axis)
其中,a1、a2、…表示要进行拼接的 NumPy 数组,必须形状相同(除了指定的拼接轴)。axis 表示拼接轴的方向,axis=0 表示垂直拼接,axis=1 表示水平拼接。
下面是一个垂直拼接的示例:
import numpy as np
# 创建两个二维数组
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 垂直拼接
c = np.vstack([a, b])
# 输出结果
print(c)
运行结果:
[[1 2]
[3 4]
[5 6]
[7 8]]
下面是一个水平拼接的示例:
import numpy as np
# 创建两个二维数组
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 水平拼接
c = np.hstack([a, b])
# 输出结果
print(c)
运行结果:
[[1 2 5 6]
[3 4 7 8]]
总结:
以上三种方法都可以将两个二维 NumPy 数组进行水平或垂直拼接,具体选择哪种方法取决于个人的爱好和需求。