📅  最后修改于: 2023-12-03 14:46:36.015000             🧑  作者: Mango
numpy.find()
是一个用于在数组中查找给定值的函数,它返回匹配项的索引(如果找到了)。它的语法如下:
numpy.find(array, value)
其中,
array
:需要查找的数组;value
:需要查找的值。下面是一个例子:
import numpy as np
arr = np.array([2, 3, 4, 5, 6, 7, 8])
index = np.find(arr, 5)
print(index)
# 输出:3
上面的例子中,我们在数组arr
中查找值为5
的元素,并返回索引。由于5
在数组中的位置是第四个,因此返回值为3
。
需要注意的是,如果在数组中找不到值,numpy.find()
将返回空数组,而不是-1
或其他错误值。
import numpy as np
arr = np.array([2, 3, 4, 5, 6, 7, 8])
index = np.find(arr, 9)
print(index)
# 输出:[]
在上面的例子中,由于数组中没有值为9
的元素,numpy.find()
将返回空数组。
numpy.find()
还支持一些其他参数:
start
:从这个位置开始查找,默认为0;end
:查找结束的位置,默认为数组的长度。下面是一个带参数的例子:
import numpy as np
arr = np.array([2, 3, 4, 5, 6, 7, 8])
index = np.find(arr, 5, 2, 5)
print(index)
# 输出:[]
在上面的例子中,我们从索引2
开始查找,查找结束的位置为5
,这样就只查找了4, 5, 6
这三个元素,因此返回值为空数组。
需要注意的是,numpy.where()
也可以实现类似的功能,但它会返回匹配项的位置,而不是索引。如果需要返回数组索引,则需要使用numpy.argwhere()
函数。
import numpy as np
arr = np.array([2, 3, 4, 5, 6, 7, 8])
index = np.argwhere(arr == 5)
print(index)
# 输出:[[3]]
在上面的例子中,我们使用numpy.argwhere()
函数查找值为5
的位置,并返回索引。返回值是一个包含一个元素的二维数组,需要使用[0][0]
来获取值。