logo

нумпи.аргсорт() у Питхон-у

Модул НумПи обезбеђује функцију аргсорт(), враћа индексе који би сортирали низ.

Модул НумПи обезбеђује функцију за обављање индиректног сортирања уз дату осу уз помоћ алгоритма одређеног кључном речи. Ова функција враћа низ индекса истог облика као 'а', који би сортирао низ.

Синтакса

 numpy.argsort(a, axis=-1, kind=None, order=None) 

Параметерс

Ово су следећи параметри у функцији нумпи.аргсорт():

стринг сплит јава

а: арраи_лике

Овај параметар дефинише изворни низ који желимо да сортирамо.

оса: инт или ништа (опционо)

Овај параметар дефинише осу дуж које се врши сортирање. Подразумевано, оса је -1. Ако овај параметар поставимо на Ништа, користи се спљоштени низ.

писпарк туториал

врста: {'куицксорт','мергесорт','хеапсорт','стабле'}(опционо)

Овај параметар дефинише алгоритам сортирања. Подразумевано, алгоритам је куицксорт . И једно и друго сортирање спајањем и стабилан користе временско сортирање испод покривача. Стварна примена ће се разликовати у зависности од типа података. Тхе сортирање спајањем опција је задржана ради компатибилности уназад.

редослед: стр или листа стр (опционо)

Ако је 'а' низ са дефинисаним пољима, овај аргумент одређује која поља треба упоредити прво, друго итд. Једно поље се може навести као стринг, а не морају се навести сва поља. Али неодређена поља ће и даље користити, редоследом којим се појављују у дтипе, да прекину везе.

Враћа: индекс_низ: ндарраи, инт

Ова функција враћа низ индекса који сортирају 'а' заједно са наведеном осом. Ако је 'а' 1-Д, а[индек_арраи] даје сортирано 'а'. Уопштеније, нп.таке_алонг_акис(арр1, индек_арраи, акис=акис) увек даје сортирано 'а', без обзира на димензионалност.

Пример 1: нп.аргсорт()

 import numpy as np a=np.array([456,11,63]) a b=np.argsort(a) b 

У горњем коду

  • Увезли смо нумпи са псеудонимом нп.
  • Направили смо низ 'а' користећи функцију нп.арраи().
  • Декларисали смо променљиву 'б' и доделили враћену вредност функције нп.аргсорт().
  • Проследили смо низ 'а' у функцију.
  • На крају, покушали смо да одштампамо вредност б.

У излазу је приказан ндарраи који садржи индексе (означава позицију елемента за сортирани низ) и дтипе.

Излаз:

 array([456, 11, 63]) array([1, 2, 0], dtype=int64) 

Пример 2: За 2-Д низ (сортира дуж прве осе (надоле))

 import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=0) indices 

Излаз:

јава једнакост објеката
 array([[0, 1], [1, 0]], dtype=int64) 

Пример 3: За 2-Д низ (алтернатива осе=0)

 import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=0) indices np.take_along_axis(a, indices, axis=0) 

У горњем коду

  • Увезли смо нумпи са псеудонимом нп.
  • Направили смо 2-Д низ 'а' користећи функцију нп.арраи().
  • Декларисали смо променљиве индексе и доделили враћену вредност функције нп.аргсорт().
  • Проследили смо 2-Д низ 'а' и осу као 0.
  • Затим смо користили функцију таке_алонг_акис() и проследили изворни низ, индексе и осу.
  • Ова функција је вратила сортирани 2-Д низ.

У излазу је приказан 2-Д низ са сортираним елементима.

Излаз:

 array([[0, 2], [3, 5]]) 

Пример 4: За 2-Д низ (сортира дуж последње осе (преко))

 import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=1) indices 

Излаз:

свитцх изјава јава
 array([[0, 1], [1, 0]], dtype=int64) 

Пример 5: За 2-Д низ (алтернатива осе=1)

 import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.argsort(a, axis=1) indices np.take_along_axis(a, indices, axis=1) 

Излаз:

 array([[0, 2], [3, 5]]) 

Пример 6: За Н-Д низ

 import numpy as np a = np.array([[0, 5], [3, 2]]) indices = np.unravel_index(np.argsort(a, axis=None), a.shape) indices a[indices] # same as np.sort(a, axis=None) 

Излаз:

 (array([0, 1, 1, 0], dtype=int64), array([0, 1, 0, 1], dtype=int64)) array([0, 2, 3, 5]) 

У горњем коду

  • Увезли смо нумпи са псеудонимом нп.
  • Направили смо 2-Д низ 'а' користећи функцију нп.арраи().
  • Декларисали смо променљиву 'индекси' и доделили враћену вредност функције нп.унравел_индек().
  • Проследили смо функцију нп.аргсорт() и облик низа 'а'.
  • Проследили смо 2-Д низ 'а' и осу као 1 у функцији аргсорт().
  • Затим смо покушали да одштампамо вредност индекса и а[индекса].

У излазу је приказан Н-Д низ са сортираним елементима.

Пример 7: Сортирање помоћу кључева

 import numpy as np a= np.array([(0, 5), (3, 2)], dtype=[(&apos;x&apos;, &apos; <i4'), ('y', ' <i4')]) a b="np.argsort(a," order="(&apos;x&apos;,&apos;y&apos;))" c="np.argsort(a," < pre> <p> <strong>Output:</strong> </p> <pre> array([(0, 5), (3, 2)], dtype=[(&apos;x&apos;, &apos; <i4'), ('y', ' <i4')]) array([0, 1], dtype="int64)" array([1, 0], < pre> <p> <strong>In the above code</strong> </p> <ul> <li>We have imported numpy with alias name np.</li> <li>We have created a 2-D array &apos;a&apos; using np.array() function with dtype=[(&apos;x&apos;, &apos; <i4'), ('y', ' <i4')].< li> <li>We have declared the variables &apos;b&apos; and &apos;c&apos; and assigned the returned value of np.argsort() function.</li> <li>We have passed the array &apos;a&apos; and order as an argument in the function.</li> <li>Lastly, we tried to print the value of &apos;b&apos; and &apos;c&apos;.</li> </i4'),></li></ul> <p>In the output, a sorted array has been shown with dtype=[(&apos;x&apos;, &apos; <i4'), ('y', ' <i4')]< p> <hr></i4'),></p></i4'),></pre></i4'),>