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 willbe split. For example, ifaxis=0(the default) it will be the firstdimension and ifaxis=-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
stackJoin a sequence of arrays along a new axis.
concatenateJoin a sequence of arrays along an existing axis.
blockAssemble an nd-array from nested lists of blocks.
splitSplit array into a list of multiple sub-arrays of equal size.
Notes
unstackserves as the reverse operation ofstack, i.e.,stack(unstack(x,axis=axis),axis=axis)==x.This function is equivalent to
tuple(np.moveaxis(x,axis,0)), sinceiterating 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_