ValueError: Axes must be different
Я пытаюсь повернуть массив (список строк) на 90 градусов с помощью функции numpy np.rot90.
list = ['123', '456', '789']
list = np.rot90(list)
Возникает ошибка
ValueError: Axes must be different.
Почему это происходит?
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
У вас массив всего с одним измерением. Такой массив нельзя повернуть:
import numpy as np
print(np.array(['123', '456', '789']).ndim)
# 1
Для поворота нужен двумерный массив (или "матрица"). Добавим ещё скобки, чтобы получился двумерный питоновский список (список в списке):
import numpy as np
print(np.array([['123', '456', '789']]).ndim)
# 2
Окончательный код:
import numpy as np
lst = [['123', '456', '789']]
lst = np.rot90(lst)
print(lst)
Вывод:
[['789']
['456']
['123']]
Это довольно тонкий момент, но к такому вам придётся привыкать, если будете работать с Numpy.
Автор решения: Oopss
→ Ссылка
У тебя массив из трех элементов [строка1, строка2, строка3]
list = ['123', '456', '789']
наверно должно быть так?
import numpy as np
list1 = np.array([[1,2,3], [4,5,6], [7,8,9]])
list2 = np.rot90(list1,k=1,axes=(1,0))
print(list1)
print(list2)
[[1 2 3]
[4 5 6]
[7 8 9]]
[[7 4 1]
[8 5 2]
[9 6 3]]