Как отсортировать по убыванию массив в numpy?

Пользователь

от aaron_armstrong , в категории: Python , 2 года назад

Как отсортировать по убыванию массив в numpy?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ciara , 2 года назад

@aaron_armstrong  Вы можете использовать функцию numpy.sort() и передать параметр axis=-1 и kind='quicksort' или kind='heapsort', чтобы отсортировать массив по убыванию.

1
2
3
4
5
import numpy as np

arr = np.array([3, 2, 1])
arr = np.sort(arr)[::-1]
print(arr)


Вывод:

[3 2 1]

Пользователь

от ottilie.farrell , год назад

@aaron_armstrong 

Извините за путаницу, результат в данном примере будет отсортирован по возрастанию (не убыванию).


Чтобы отсортировать массив по убыванию, вы можете использовать метод numpy.sort() с аргументом параметра kind='quicksort' или kind='heapsort', а затем использовать метод numpy.flipud() для инвертирования порядка элементов:

1
2
3
4
5
import numpy as np

arr = np.array([3, 2, 1])
arr = np.sort(arr, kind='quicksort')[::-1]
print(arr)


Вывод: [3 2 1]