Maison > développement back-end > Tutoriel Python > Comment trouver les indices de plusieurs valeurs maximales dans un tableau NumPy ?

Comment trouver les indices de plusieurs valeurs maximales dans un tableau NumPy ?

Linda Hamilton
Libérer: 2024-12-29 18:08:14
original
306 Les gens l'ont consulté

How to Find the Indices of Multiple Maximum Values in a NumPy Array?

Récupération d'indices de plusieurs valeurs maximales dans un tableau NumPy

Les tableaux NumPy fournissent la fonction np.argmax pour localiser l'index de l'élément maximum . Cependant, si vous avez besoin des indices de N valeurs maximales, envisagez les solutions suivantes :

Versions récentes de NumPy :

Pour les versions NumPy 1.8 et supérieures, la fonction argpartition propose une méthode efficace :

import numpy as np

a = np.array([9, 4, 4, 3, 3, 9, 0, 4, 6, 0])

# Get top 4 indices
n_max = 4
ind = np.argpartition(a, -n_max)[-n_max:]

# Retrieve top 4 values
top_max = a[ind]
Copier après la connexion

NumPy plus ancien Versions :

Avant NumPy 1.8, vous pouvez utiliser la fonction argsort comme suit :

# Get top 4 indices
n_max = 4
ind = np.argsort(a)[-n_max:]

# Retrieve top 4 values
top_max = a[ind]
Copier après la connexion

Tri des index :

Par défaut, argpartition renvoie des index non triés. Si vous avez besoin d'index triés, utilisez :

ind[np.argsort(a[ind])]
Copier après la connexion

Complexité temporelle :

  • argpartition : O(n) dans le pire des cas case
  • argsort : O(n log n)
  • Approche combinée (indices triés) : O(n k log k) pour les éléments triés top-k

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal