numpy.unstack#
- numpy.unstack(x, /, *, axis=0)[source]#
- Split an array into a sequence of arrays along the given axis. - The - axisparameter specifies the dimension along which the array will be split. For example, if- axis=0(the default) it will be the first dimension and if- axis=-1it will be the last dimension.- The result is a tuple of arrays split along - axis.- New in version 2.1.0. - Parameters:
- xndarray
- The array to be unstacked. 
- axisint, optional
- Axis along which the array will be split. Default: - 0.
 
- Returns:
- unstackedtuple of ndarrays
- The unstacked arrays. 
 
 - See also - stack
- Join a sequence of arrays along a new axis. 
- concatenate
- Join a sequence of arrays along an existing axis. 
- block
- Assemble an nd-array from nested lists of blocks. 
- split
- Split array into a list of multiple sub-arrays of equal size. 
 - Notes - unstackserves as the reverse operation of- stack, i.e.,- stack(unstack(x, axis=axis), axis=axis) == x.- This function is equivalent to - tuple(np.moveaxis(x, axis, 0)), since iterating on an array iterates along the first axis.- Examples - >>> 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_