Fonctions de tri, de recherche et de comptage

1 h Niveau 8

Introduction

Une variété de fonctions liées au tri sont disponibles dans NumPy. Ces fonctions de tri mettent en œuvre différents algorithmes de tri, chacun d'entre eux étant caractérisé par la vitesse d'exécution, les performances dans le pire des cas, l'espace de travail requis et la stabilité des algorithmes. Le tableau suivant présente la comparaison de trois algorithmes de tri.

genre vitesse pire cas espace de travail stable
quicksort 1 O(n^2) 0 non
mergesort 2 O(n*log(n)) ~n/2 oui
heapsort 3 O(n*log(n)) 0 non

numpy.sort()

La fonction sort() renvoie une copie triée du tableau d'entrée. Elle possède les paramètres suivants

numpy.sort(a, axis, kind, order)

Où,

Paramètre et description

  • a - Tableau à trier
  • axis - L'axe le long duquel le tableau doit être trié. S'il n'y en a pas, le tableau est aplati et trié sur le dernier axe.
  • kind - La valeur par défaut est quicksort
  • order - Si le tableau contient des champs, l'ordre des champs à trier.

Exemple

import numpy as np  
a = np.array([[3,7],[9,1]]) 

print 'Our array is:' 
print a 
print '\n'

print 'Applying sort() function:' 
print np.sort(a) 
print '\n' 

print 'Sort along axis 0:' 
print np.sort(a, axis = 0) 
print '\n'  

# Order parameter in sort function 
dt = np.dtype([('name', 'S10'),('age', int)]) 
a = np.array([("raju",21),("anil",25),("ravi", 17), ("amar",27)], dtype = dt) 

print 'Our array is:' 
print a 
print '\n'  

print 'Order by name:' 
print np.sort(a, order = 'name')

Il produira le résultat suivant -

Our array is:
[
    [3 7]
    [9 1]
]

Applying sort() function:
[
    [3 7]
    [1 9]
]

Sort along axis 0:
[
    [3 1]
    [9 7]
]

Our array is:
[('raju', 21) ('anil', 25) ('ravi', 17) ('amar', 27)]

Order by name:
[('amar', 27) ('anil', 25) ('raju', 21) ('ravi', 17)]
logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus