Многомерное транспонирование Numpy не дает ожидаемого результата

У меня есть массив с размерами (2, 3, 4, 5).

Когда я делаю np.transpose(a, (0, 3, 2, 1)), я возвращаю ожидаемый результат с формой (2, 5, 4, 3).

Но когда я делаю np.transpose(a, (0, 3, 1, 2)), я ожидаю получить результат с формой (2, 4, 5, 3), но вместо этого я получаю форму (2, 5, 3, 4)...

Что здесь происходит?


person Edmonds Karp    schedule 09.08.2018    source источник


Ответы (1)


Размеры:

0: 2

1: 3

2: 4

3: 5

сначала транспонировать (0,3,2,1) -> dims=[2,5,4,3]

Второе транспонирование (0,3,1,2) -> dims=[2,5,3,4]

Что происходит, так это то, что numpy выполняет свою работу, вы просто подаете неправильную форму, вам нужно np.transpose(a, (0, 2, 3, 1))

person anishtain4    schedule 09.08.2018