У меня есть массив, отсортированный по последнему столбцу, где я хочу использовать / показать 3 верхние отсортированные строки.
Работает нарезка и работает обратное 2-е измерение (2-й пример).Однако, когда я хочу изменить 1-е измерение (3-й пример), я получаю пустой отпечаток.
Я реплицировал эти примеры, но когда я ввожу срез и -1 для реверса, я также получаю пустой вывод.
Вероятно, действительно очевидно, чего мне не хватает ...
arr = np.array ([[8, 2, 4, 6],
[8, 3, 1, 8],
[3, 7, 6, 1],
[9, 4, 2, 4],
[4, 7, 5, 8],
[1, 9, 3, 5],
[1, 3, 9, 111],
[3, 6, 7, 111],
[2, 8, 2, 111],
[4, 5, 9, 3]])
print(arr[0:10,:])
print("###")
# Sort by column 4, then by column 3
lexsorted_index = np.lexsort((arr[:, 2], arr[:, 3]))
a = arr[lexsorted_index]
print(a[0:10:1,::]) #0-10th row each step, all columns
print("###")
print(a[0:10:1,::-1]) #0-10th row each step, all columns reversed
print("###")
print(a[0:3:-1,::]) #0-3rd row reversed, all columns