用Numpy寻找最近的值和数组中的索引

用Numpy寻找最近的值和数组中的索引

在这篇文章中,让我们来讨论用Numpy寻找最近的值和数组中的索引。我们将利用NumPy库提供的两个函数来计算最近的值和数组中的索引。这两个函数是numpy.abs()和numpy.argmin()。

示例

输入数组: [12 40 65 78 10 99 30]
最接近的值是: 85

最近的值: 78
最近的值的索引: 3

寻找最近的值和NumPy数组的索引的方法

  • 取一个数组,例如arr[]和一个元素,例如x,我们必须找到与之最接近的值。
  • 调用numpy.abs(d)函数,将d作为数组元素与x之间的差值,并将值存储在不同的数组中,例如difference_array[]。
  • 该元素,提供最小的差异将是最接近指定的值。
  • 使用numpy.argmin(),获得difference_array[]中最小的元素的索引。在有多个最小值的情况下,将返回第一个出现的值。
  • 打印最近的元素,以及它在给定数组中的索引。

示例 1:

要找到与指定值最接近的元素 85.我们从数组的每个元素中减去给定值,并将绝对值存储在另一个数组中。最小绝对差值将对应于与给定值最近的数值。因此,最小绝对差值的索引是3,原数组中索引3的元素是78。

import numpy as np
 
# array
arr = np.array([12, 40, 65, 78, 10, 99, 30])
print("Array is : ", arr)
 
# element to which nearest value is to be found
x = 85
print("Value to which nearest element is to be found: ", x)
 
# calculate the difference array
difference_array = np.absolute(arr-x)
 
# find the index of minimum element from the array
index = difference_array.argmin()
print("Nearest element to the given values is : ", arr[index])
print("Index of nearest value is : ", index)

输出:

查找最近的值和NumPy数组的索引

示例 2:

在这个例子中,最小绝对差值将对应于最接近给定数字的值。因此,最小绝对差值的索引是2,原始数组中索引为2的元素是1,因此,1与给定的数字即2最接近。

import numpy as np
 
# array
arr = np.array([8, 7, 1, 5, 3, 4])
print("Array is : ", arr)
 
# element to which nearest value is to be found
x = 2
print("Value to which nearest element is to be found: ", x)
 
# calculate the difference array
difference_array = np.absolute(arr-x)
 
# find the index of minimum element from the array
index = difference_array.argmin()
print("Nearest element to the given values is : ", arr[index])
print("Index of nearest value is : ", index)

输出:

查找最近的值和NumPy数组的索引

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程