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
Libérer: 2024-12-07 19:48:13
original
697 Les gens l'ont consulté

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]
Copier après la connexion

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]
Copier après la connexion

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
Copier après la connexion

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!

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