NumPy 函数

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]]