Сортування масиву NumPy | Як сортувати масив NumPy

Сортування масиву є дуже важливим кроком в аналізі даних, оскільки воно допомагає впорядкувати дані, полегшує пошук і очищення.

У цьому підручнику ми навчимося як сортувати масив у NumPy . Ви можете сортувати масив у NumPy:

  • Використання функції np.sort().
    • сортування в рядку
    • сортування по різних осях
  • Використання функції np.argsort().
  • Використання функції np.lexsort().

Використання функції sort().

Метод sort() сортує елемент даної структури даних (тут масив). Викличте функцію сортування з об’єктом масиву, щоб відсортувати елементи.

Існує два випадки сортування масиву за допомогою методу sort():

  • Сортування масиву NumPy на місці
  • Сортування масиву NumPy по осях

Ми розглянемо обидва ці методи на прикладі нижче:

Сортування масиву на місці

Сортування масиву на місці означає пряме сортування вихідних елементів масиву.

Він не створює нову копію масиву та дуже ефективно використовує пам’ять.

приклад

Використання методу sort() для сортування елементів у масиві NumPy на місці.

Python3




# importing libraries> import> numpy as np> > a> => np.array([> 12> ,> 15> ,> 10> ,> 1> ])> print> (> 'Array before sorting'> ,a)> a.sort()> print> (> 'Array after sorting'> ,a)>

Вихід:

Array before sorting [12 15 10 1] Array after sorting [ 1 10 12 15] 

Сортування масиву вздовж різних осей

Цей метод створює відсортовану копію даного масиву NumPy.

Здебільшого він використовується в багатовимірному масиві, коли потрібно сортувати за заданим виміром.

приклад

Використання методу sort() для елементів у масиві NumPy уздовж осі

Python3




# importing libraries> import> numpy as np> # sort along the first axis> a> => np.array([[> 12> ,> 15> ], [> 10> ,> 1> ]])> arr1> => np.sort(a, axis> => 0> )> print> (> 'Along first axis : '> , arr1)> # sort along the last axis> a> => np.array([[> 10> ,> 15> ], [> 12> ,> 1> ]])> arr2> => np.sort(a, axis> => -> 1> )> print> (> ' Along first axis : '> , arr2)> a> => np.array([[> 12> ,> 15> ], [> 10> ,> 1> ]])> arr1> => np.sort(a, axis> => None> )> print> (> ' Along none axis : '> , arr1)>

Вихід:

Along first axis : [[10 1] [12 15]]Along first axis : [[10 15] [ 1 12]]Along none axis : [ 1 10 12 15] 

Використання argsort()

метод argsort(). це непрямий спосіб сортування масиву NumPy уздовж заданої осі.

Він повертає an масив індексів що відсортує вихідний масив у порядку зростання.

приклад

Використання argsort() для сортування елементів у масиві NumPy

Python3




import> numpy as np> > # Numpy array created> a> => np.array([> 9> ,> 3> ,> 1> ,> 7> ,> 4> ,> 3> ,> 6> ])> > # unsorted array print> print> (> 'Original array: '> , a)> > # Sort array indices> b> => np.argsort(a)> print> (> 'Sorted indices of original array->'> , b)> > # To get sorted array using sorted indices> # c is temp array created of same len as of b> c> => np.zeros(> len> (b), dtype> => int> )> for> i> in> range> (> 0> ,> len> (b)):> > c[i]> => a[b[i]]> print> (> 'Sorted array->'> , c)>

Вихід:

Original array:  [9 3 1 7 4 3 6] Sorted indices of original array->[2 1 5 4 6 3 0] Відсортований масив-> [1 3 3 4 6 7 9]>>   

Використання послідовності ключів

Сортування масиву за допомогою послідовності ключів дозволяє сортувати масив на основі кількох критеріїв.

Ви можете використовувати цей метод із функцією np.lexsort(). Функція lexsort() повертає масив індексів, які сортують вихідний масив.

приклад

Отримайте стабільне сортування за допомогою послідовності ключів.

Python3




import> numpy as np> > # Numpy array created> # First column> a> => np.array([> 9> ,> 3> ,> 1> ,> 3> ,> 4> ,> 3> ,> 6> ])> > # Second column> b> => np.array([> 4> ,> 6> ,> 9> ,> 2> ,> 1> ,> 8> ,> 7> ])> print> (> 'column a, column b'> )> for> (i, j)> in> zip> (a, b):> > print> (i,> ' '> , j)> > # Sort by a then by b> ind> => np.lexsort((b, a))> print> (> 'Sorted indices->'> , ind)>

Вихід:

column a, column b 9 4 3 6 1 9 3 2 4 1 3 8 6 7 Sorted indices->[2 3 1 5 4 6 0] 

Також перевірте: Сортування, пошук і підрахунок у NumPy

Висновок

Сортування масиву NumPy полегшує пошук повторюваних, максимальних і мінімальних елементів. Це важлива операція маніпулювання даними, яка полегшує роботу з даними.

У цьому посібнику ми розглянули три методи сортування масиву в NumPy, тобто sort(), argsort() і lexsort(). Усі ці методи надають різні функції для сортування ndarray у NumPy. Ми пояснили методи простими словами з прикладами, щоб дати вам повне розуміння теми.