Как получить индексирование [:: - 1] для одновременного обращения ВСЕХ строк 2D-массива и ВСЕХ столбцов и строк 3D- и 4D-массивов? Я могу получить только индексирование [:: - 1], чтобы перевернуть столбцы 2D-массива. Python

import numpy as np

randomArray = np.round(10*np.random.rand(5,4))
sortedArray = np.sort(randomArray,axis=1)
reversedArray = sortedArray[::-1]
# reversedArray = np.flip(sortedArray,axis=1)

print('Random Array:')
print(randomArray,'\n')
print('Sorted Array:')
print(sortedArray,'\n')
print('Reversed Array:')
print(reversedArray)
0
Jeremy 22 Фев 2021 в 09:52

1 ответ

Лучший ответ

Вы можете изменить размер массива numpy в зависимости от того, где вы разместите ::-1.

Возьмем трехмерный массив. Для изменения первого измерения:

reversedArray = sortedArray[::-1,:,:]

Чтобы изменить второе измерение:

reversedArray = sortedArray[:,::-1,:]

Чтобы обратить третье измерение вспять:

reversedArray = sortedArray[:,:,::-1]
1
joostblack 22 Фев 2021 в 07:20