numpy.unstack#
- numpy.unstack(x, /, *, axis=0)[原始碼]#
沿著給定軸將陣列分割成陣列序列。
axis
參數指定陣列將被分割的維度。例如,如果axis=0
(預設值) 它將是第一個維度,如果axis=-1
它將是最後一個維度。結果是沿著
axis
分割的陣列元組。版本 2.1.0 新增。
- 參數:
- xndarray
要解堆疊的陣列。
- axisint, optional
陣列將被分割的軸。預設值:
0
。
- 返回:
- unstackedndarray 元組
解堆疊後的陣列。
參見
stack
沿著新軸加入陣列序列。
concatenate
沿著現有軸加入陣列序列。
block
從區塊的巢狀列表組裝 nd-array。
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_