numpy.unstack#
- numpy.unstack(x, /, *, axis=0)[source]#
将数组沿给定轴拆分为一系列数组。
axis
参数指定将要拆分的数组的维度。例如,如果axis=0
(默认值),它将是第一个维度,如果axis=-1
,它将是最后一个维度。结果是沿
axis
拆分的数组元组。版本 2.1.0 中的新功能。
- 参数:
- **x**ndarray
要拆分的数组。
- **axis**int, 可选
将要拆分的数组的轴。默认值:
0
。
- 返回值:
- **unstacked**ndarray 元组
拆分的数组。
参见
stack
沿新轴连接一系列数组。
concatenate
沿现有轴连接一系列数组。
block
从嵌套的块列表中组装 nd 数组。
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_