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)