NumPy stack() 函数沿新轴连接数组序列。 axis 参数指定新轴在结果维度中的索引。例如,如果axis=0它将是第一个维度,如果axis=-1它将是最后一个维度。
语法
numpy.stack(arrays, axis=0, out=None)
参数
数组 | 必填。 指定要堆叠的数组(array_like)。每个数组必须具有相同的形状。 |
axis | 可选。 指定结果数组中输入数组堆叠的轴。 |
out | 选修的。 指定结果的输出数组。默认值为"无"。如果提供,它必须具有与输出相同的形状。 |
返回值
返回堆叠数组。它比输入数组多一维。
示例:
在下面的示例中,stack() 函数用于堆叠两个给定数组。
import numpy as np
Arr1 = np.array([[10,20],[30, 40]])
Arr2 = np.array([[50,60],[70, 80]])
#沿轴堆叠数组=0
Arr3 = np.stack((Arr1, Arr2), axis=0)
#沿轴堆叠数组=1
Arr4 = np.stack((Arr1, Arr2), axis=1)
#显示结果
print("Arr1 is:")
print(Arr1)
print("\nArr2 is:")
print(Arr2)
print("\nArr3 is:")
print(Arr3)
print("\nArr4 is:")
print(Arr4)
上述代码的输出将是:
Arr1 is:
[[10 20]
[30 40]]
Arr2 is:
[[50 60]
[70 80]]
Arr3 is:
[[[10 20]
[30 40]]
[[50 60]
[70 80]]]
Arr4 is:
[[[10 20]
[50 60]]
[[30 40]
[70 80]]]
示例:
再考虑一个示例。
import numpy as np
Arr1 = np.array([10, 20, 30])
Arr2 = np.array([40, 50, 60])
#沿轴堆叠数组=0
Arr3 = np.stack((Arr1, Arr2), axis=0)
#沿轴堆叠数组=1
Arr4 = np.stack((Arr1, Arr2), axis=1)
#显示结果
print("Arr1 is:")
print(Arr1)
print("\nArr2 is:")
print(Arr2)
print("\nArr3 is:")
print(Arr3)
print("\nArr4 is:")
print(Arr4)
上述代码的输出将是:
Arr1 is:
[10 20 30]
Arr2 is:
[40 50 60]
Arr3 is:
[[10 20 30]
[40 50 60]]
Arr4 is:
[[10 40]
[20 50]
[30 60]]