numpy.unstack#
- numpy.unstack(x, /, *, ось=0)[источник]#
Разделение массива на последовательность массивов вдоль заданной оси.
The
axisПараметр определяет размерность, по которой массив будет разделен. Например, еслиaxis=0(по умолчанию) это будет первое измерение, и еслиaxis=-1это будет последнее измерение.Результат — это кортеж массивов, разделённых вдоль
axis.Новое в версии 2.1.0.
- Параметры:
- xndarray
Массив для развертывания.
- осьint, необязательный
Ось, вдоль которой массив будет разделен. По умолчанию:
0.
- Возвращает:
- развернутыйкортеж ndarrays
Неуложенные массивы.
Смотрите также
stackОбъедините последовательность массивов вдоль новой оси.
concatenateОбъединить последовательность массивов вдоль существующей оси.
blockСобрать n-мерный массив из вложенных списков блоков.
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_