Maison >développement back-end >Tutoriel Python >Comment trouver la valeur la plus proche dans un tableau NumPy ?

Comment trouver la valeur la plus proche dans un tableau NumPy ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-07 19:48:13693parcourir

How to Find the Nearest Value in a NumPy Array?

Identifier la valeur la plus proche dans les tableaux NumPy

Déterminer l'élément le plus proche d'une valeur spécifiée dans un tableau NumPy peut être une tâche courante. La fonction np.find_nearest() offre une méthode pratique pour localiser une telle valeur.

Approche de fonction personnalisée

Voici une implémentation NumPy personnalisée de la fonction find_nearest() :

import numpy as np

def find_nearest(array, value):
    array = np.asarray(array)
    idx = (np.abs(array - value)).argmin()
    return array[idx]

Cette fonction prend un tableau et une valeur cible comme arguments. Il utilise la fonction np.abs() de NumPy pour calculer la différence absolue entre chaque élément du tableau et la valeur cible. La fonction argmin() est ensuite utilisée pour identifier la position d'index de la différence absolue minimale.

Exemple d'utilisation

Considérez le tableau NumPy suivant :

array = np.random.random(10)
print(array)
# [ 0.21069679  0.61290182  0.63425412  0.84635244  0.91599191  0.00213826
#   0.17104965  0.56874386  0.57319379  0.28719469]

Pour rechercher la valeur la plus proche de 0,5, on peut appeler find_nearest() fonction :

print(find_nearest(array, value=0.5))
# 0.568743859261

La fonction identifie correctement l'élément du tableau avec la plus petite différence par rapport à la valeur cible de 0,5.

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!

Déclaration:
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