首頁 >後端開發 >Python教學 >如何找出 NumPy 陣列中最近的值?

如何找出 NumPy 陣列中最近的值?

Linda Hamilton
Linda Hamilton原創
2024-12-07 19:48:13693瀏覽

How to Find the Nearest Value in a NumPy Array?

識別 NumPy 數組中最接近的值

確定 NumPy 數組中最接近指定值的元素可能是一項常見任務。 np.find_nearest() 函數提供了一種方便的方法來定位此類值。

自訂函數方法

以下是find_nearest() 函數的自訂NumPy 實作:

import numpy as np

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

此函數採用陣列與目標值作為參數。它利用 NumPy 的 np.abs() 函數來計算數組中每個元素與目標值之間的絕對差。然後使用 argmin() 函數來確定最小絕對差的索引位置。

範例用法

考慮以下NumPy 陣列:

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]

要搜尋最接近0.5 的值,我們可以呼叫find_nearest()函數:

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

函數正確辨識數組中與目標值0.5 差異最小的元素。

以上是如何找出 NumPy 陣列中最近的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn