numpy.unstack#
- numpy.unstack(x, /, *, axis=0)[源代码]#
沿给定轴将数组拆分为一系列数组。
axis参数指定将数组拆分的维度。例如,如果 `axis=0`(默认值),则为第一个维度;如果 `axis=-1`,则为最后一个维度。结果是沿 `axis` 拆分的数组元组。
新版本: 2.1.0。
- 参数:
- xndarray
待解包的数组。
- axisint, optional
将数组拆分的轴。默认值:`0`。
- 返回:
- unstackedndarray 元组
解包后的数组。
另请参阅
stack沿新轴连接数组序列。
concatenate沿现有轴连接数组序列。
block从嵌套块列表中组装 ndarray。
split将数组分割成多个大小相等的子数组列表。
备注
unstack是 `stack` 的逆操作,即 `stack(unstack(x, axis=axis), axis=axis) == x`。此函数等效于 `tuple(np.moveaxis(x, axis, 0))`,因为在数组上进行迭代是沿第一个轴进行的。
示例
>>> arr = np.arange(24).reshape((2, 3, 4)) >>> np.unstack(arr) (array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]), array([[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]])) >>> np.unstack(arr, axis=1) (array([[ 0, 1, 2, 3], [12, 13, 14, 15]]), array([[ 4, 5, 6, 7], [16, 17, 18, 19]]), array([[ 8, 9, 10, 11], [20, 21, 22, 23]])) >>> arr2 = np.stack(np.unstack(arr, axis=1), axis=1) >>> arr2.shape (2, 3, 4) >>> np.all(arr == arr2) np.True_