РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pynpSpAxTA 28 of 145 menu
◀ ▶

Перестановка осей в NumPy

Задать новый порядок осей трёхмерного массива позволяет функция transpose. Она принимает кортеж номеров осей: на каждой позиции указывается, какая ось исходного массива займёт это место в результате. Длины осей переставляются вместе с ними, поэтому форма меняется предсказуемо.

Создадим трёхмерный блок формы (2, 3, 4) и переставим оси в порядке (2, 0, 1). Выведем форму до преобразования и после:

import numpy as np block = np.arange(24).reshape(2, 3, 4) print(block.shape) # выведет (2, 3, 4) ordered = np.transpose(block, (2, 0, 1)) print(ordered.shape) # выведет (4, 2, 3)

Первая ось результата взята из бывшей третьей, поэтому её длина стала 4. Остальные длины следуют за своими осями. Другой кортеж даёт другую форму при том же числе элементов:

import numpy as np cube = np.zeros((3, 2, 2)) print(cube.shape) # выведет (3, 2, 2) ordered = np.transpose(cube, (1, 0, 2)) print(ordered.shape) # выведет (2, 3, 2)

Создайте массив формы (2, 2, 3) из последовательных целых, начиная с 0. Задайте порядок осей (2, 0, 1) и выведите форму исходного массива и форму результата.

Создайте массив единиц формы (4, 1, 3). Переставьте оси в порядке (0, 2, 1) и выведите обе формы.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить