,NumPy中的合并操作是指将两个或多个数组合并成一个数组的操作。这种操作可以通过不同的函数来实现。
一、横向合并(水平合并)
横向合并是指将两个具有相同行数的数组按列方向合并成一个数组的操作。在NumPy中,可以使用hstack()函数来实现横向合并。
import numpy as np
x = np.array([[1, 2], [3, 4]])
y = np.array([[5, 6], [7, 8]])
z = np.hstack((x, y))
print(z)
上述代码将输出以下结果:
[[1 2 5 6][3 4 7 8]]
我们可以看到,原先的两个2x2的数组被合并成了一个2x4的数组。
二、纵向合并(垂直合并)
纵向合并是指将两个具有相同列数的数组按行方向合并成一个数组的操作。在NumPy中,可以使用vstack()函数来实现纵向合并。
import numpy as np
x = np.array([[1, 2], [3, 4]])
y = np.array([[5, 6], [7, 8]])
z = np.vstack((x, y))
print(z)
上述代码将输出以下结果:
[[1 2][3 4][5 6][7 8]]
我们可以看到,原先的两个2x2的数组被合并成了一个4x2的数组。
三、深度合并
深度合并是指将两个具有相同行列数的数组按深度方向合并成一个三维数组的操作。在NumPy中,可以使用dstack()函数来实现深度合并。
import numpy as np
x = np.array([[1, 2], [3, 4]])
y = np.array([[5, 6], [7, 8]])
z = np.dstack((x, y))
print(z)
上述代码将输出以下结果:
[[[1 5][2 6]][[3 7][4 8]]]
我们可以看到,原先的两个2x2的数组被合并成了一个2x2x2的三维数组。
四、列向合并
列向合并是指将两个数组按列方向合并成一个二维数组的操作。在NumPy中,可以使用column_stack()函数来实现列向合并。
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
z = np.column_stack((x, y))
print(z)
上述代码将输出以下结果:
[[1 4][2 5][3 6]]
我们可以看到,原先的两个一维数组被合并成了一个二维数组。
五、行向合并
行向合并是指将两个数组按行方向合并成一个二维数组的操作。在NumPy中,可以使用row_stack()函数来实现行向合并。
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
z = np.row_stack((x, y))
print(z)
上述代码将输出以下结果:
[[1 2 3][4 5 6]]
我们可以看到,原先的两个一维数组被合并成了一个二维数组。