Heim >Backend-Entwicklung >Python-Tutorial >Wie finde ich den nächsten Wert in einem NumPy-Array?

Wie finde ich den nächsten Wert in einem NumPy-Array?

Linda Hamilton
Linda HamiltonOriginal
2024-12-07 19:48:13693Durchsuche

How to Find the Nearest Value in a NumPy Array?

Identifizieren des nächstgelegenen Werts in NumPy-Arrays

Das Bestimmen des Elements, das einem angegebenen Wert innerhalb eines NumPy-Arrays am nächsten kommt, kann eine häufige Aufgabe sein. Die Funktion np.find_nearest() bietet eine praktische Methode zum Auffinden eines solchen Werts.

Benutzerdefinierter Funktionsansatz

Hier ist eine benutzerdefinierte NumPy-Implementierung der Funktion find_nearest():

import numpy as np

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

Diese Funktion verwendet ein Array und einen Zielwert als Argumente. Es nutzt die Funktion np.abs() von NumPy, um die absolute Differenz zwischen jedem Element im Array und dem Zielwert zu berechnen. Anschließend wird die Funktion argmin() verwendet, um die Indexposition der minimalen absoluten Differenz zu identifizieren.

Beispielverwendung

Betrachten Sie das folgende NumPy-Array:

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]

Um nach dem Wert zu suchen, der 0,5 am nächsten kommt, können wir find_nearest() aufrufen Funktion:

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

Die Funktion identifiziert korrekt das Element im Array mit der kleinsten Differenz vom Zielwert von 0,5.

Das obige ist der detaillierte Inhalt vonWie finde ich den nächsten Wert in einem NumPy-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn