Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Nilai Terdekat dalam Array NumPy?

Bagaimana untuk Mencari Nilai Terdekat dalam Array NumPy?

Linda Hamilton
Linda Hamiltonasal
2024-12-07 19:48:13691semak imbas

How to Find the Nearest Value in a NumPy Array?

Mengenal pasti Nilai Terdekat dalam Tatasusunan NumPy

Menentukan elemen yang paling hampir dengan nilai yang ditentukan dalam tatasusunan NumPy boleh menjadi tugas biasa. Fungsi np.find_nearest() menawarkan kaedah yang mudah untuk mencari nilai sedemikian.

Pendekatan Fungsi Tersuai

Berikut ialah pelaksanaan NumPy tersuai bagi fungsi find_nearest():

import numpy as np

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

Fungsi ini mengambil tatasusunan dan nilai sasaran sebagai argumen. Ia menggunakan fungsi np.abs() NumPy untuk mengira perbezaan mutlak antara setiap elemen dalam tatasusunan dan nilai sasaran. Fungsi argmin() kemudiannya digunakan untuk mengenal pasti kedudukan indeks perbezaan mutlak minimum.

Contoh Penggunaan

Pertimbangkan tatasusunan NumPy berikut:

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]

Untuk mencari nilai yang paling hampir kepada 0.5, kita boleh memanggil find_nearest() fungsi:

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

Fungsi ini mengenal pasti dengan betul elemen dalam tatasusunan dengan perbezaan terkecil daripada nilai sasaran 0.5.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Terdekat dalam Array NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn