Порядок осей результата в NumPy
Буквы справа от стрелки идут в том порядке, в каком оси должны появиться в массиве ответа. Те же буквы, что слева, но в другой последовательности, переставляют оси без изменения самих чисел.
Запись 'ij->ji' меняет местами
строки и столбцы, как транспонирование.
Сначала посмотрим форму исходной
таблицы:
import numpy as np
table = np.array([[1, 2, 3],
[4, 5, 6]])
print(table.shape) # выведет (2, 3)
Та же таблица после перестановки
букв в ответе имеет форму с длинами
3 и 2:
import numpy as np
table = np.array([[1, 2, 3],
[4, 5, 6]])
swapped = np.einsum('ij->ji', table)
print(swapped.shape) # выведет (3, 2)
print(swapped) # выведет [[1 4]
# [2 5]
# [3 6]]
Создайте таблицу формы (2, 4)
из последовательных целых, начиная
с 0. Переставьте оси формулой
'ij->ji' и выведите форму
до преобразования и форму результата.
Для таблицы баллов [[1, 2], [3, 4]]
получите транспонированную таблицу
формулой с переставленными буквами
справа от стрелки и выведите форму
ответа.