Почему .reshape(a, b) != .reshape(b, a).T?Python

Программы на Python
Гость
Почему .reshape(a, b) != .reshape(b, a).T?

Сообщение Гость »


Я столкнулся с этой проблемой при выравнивании изображений. Рассмотрим следующий массив

>>> импортировать numpy как np >>> arr = np.array([[[1, 2], [3, 4]], [[1, 2], [3, 4]]]) >>> форма формы (2, 2, 2) Я хочу преобразовать это в массив 4x2, где каждый вертикальный фрагмент представляет собой сплющенное изображение.
1. Использование .reshape(2, 4).T
Это позволит достичь желаемого результата

>>> arr_flatten = arr.reshape(2, 4).T >>> arr_flatten [[1 1] [2 2] [3 3] [4 4]] 2. Использование .reshape(4, 2) Это не дает желаемого результата

>>> arr_flatten = arr.reshape(4, 2) >>> arr_flatten [[1 2] [3 4] [1 2] [3 4]] Почему второй подход не работает?

Вернуться в «Python»