1、numpy.vstack(垂直堆叠)
numpy.vstack
用于在垂直方向(沿着行的方向)堆叠多个数组。它将多个输入数组叠加在一起,生成一个新的数组,其中行数与输入数组的行数之和相等,列数与输入数组的列数相等。结果数组的维度增加了一个,即变成了更高维度的数组。适用于具有相同列数的数组的垂直堆叠。
例如,
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 垂直堆叠
vstacked = np.vstack((arr1, arr2))
2、numpy.hstack(水平堆叠)
numpy.hstack
用于在水平方向(沿着列的方向)堆叠多个数组。它将多个输入数组叠加在一起,生成一个新的数组,其中列数与输入数组的列数之和相等,行数与输入数组的行数相等。结果数组的维度不发生变化,仍然是原始维度。适用于具有相同行数的数组的水平堆叠。
例如,
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 水平堆叠
arr3 = np.hstack((arr1, arr2))
print("水平堆叠结果:")
print(arr3)
3、numpy.stack(通用堆叠)
numpy.stack
用于在新的维度上堆叠多个数组。它需要一个额外的参数axis
,用于指定堆叠的轴(维度)。根据axis
的值,它可以在不同的维度上堆叠数组。结果数组的维度将增加,而且不仅仅是在水平或垂直方向。axis=0
时,垂直堆叠;axis=1
时,水平堆叠;axis=2
时,沿着新的第三个维度堆叠,依此类推。
例如,
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 垂直堆叠
vs = np.vstack((arr1, arr2))
# 水平堆叠
hs = np.hstack((arr1, arr2))
# 通用堆叠(在新的维度上堆叠)
st = np.stack((arr1, arr2), axis=0)
print("垂直堆叠结果:")
print(vs)
print("水平堆叠结果:")
print(hs)
print("通用堆叠结果:")
print(st)