2016-06-29 3 views
1

У меня есть список с 2 ячейками, каждый из которых является 3-мерным массивом, один - 3 на 4 на 5, другой - на 6 на 7 на 8. Нужно перенести подмножество в списке, как: 5 на 4 на 3 и 8 на 7 на 6, я использовал array.transpose([2,1,0]), получил ошибку axes don't match.Размер подмножества списка транспонирования?

+0

Использование 'numpy.swapaxes'. –

+0

@MadPhysicist попытается, но теперь у меня есть еще одна проблема, кажется, что одна ось отсутствует, когда я читаю файл с h5py. – xman

+0

Распечатайте форму своих массивов, команды, которые вы используете, фактические полные ошибки, которые вы получаете. Ваши комментарии не соответствуют тому, что вы говорите в вопросе. –

ответ

2

Попробуйте использовать функцию numpy.ndarray.transpose(). Похоже, это ближе к тому, что вы ищете.

Документация: http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.transpose.html

+0

Используйте ndarray, я получил ошибку: только массивы length-1 могут быть преобразованы в сканеры Python. – xman

+0

@xman Преобразуйте список в массив с помощью 'np.asarray (input_list)', а затем попробуйте 'swapaxes' или' transpose'. – Divakar

+0

@Divakar У меня есть еще одна проблема, h5py-файл, который я читал из «* .mat» с 2 ячейками (каждый из них 3 размера, 3 * 4 * 5 и 6 * 7 * 8) теперь осталось только 2-я и 3-я оси после np.array(), и размерность кажется похожей на (2 * 4 * 5) и (2 * 7 * 8). – xman

Смежные вопросы