gpt4 book ai didi

python - 查找最接近给定值的值并返回行索引

转载 作者:行者123 更新时间:2023-12-01 15:27:24 28 4
gpt4 key购买 nike

有没有一种简单的方法可以以 numpy 的方式找到最接近的值?并获取行号作为输出?

举个例子:我想找到距离最近的行

value= [0.33, 0.66, 0.99]

我有数据

random= pd.DataFrame()
random=random.assign(data='')
random.data= np.linspace(0.1,1.0,10)

data
0 0.1
1 0.2
2 0.3
3 0.4
4 0.5
5 0.6
6 0.7
7 0.8
8 0.9
9 1.0

作为答案,该函数现在应该给出 data 最接近 value 的行

answer= [2,6,9]

我正在尝试一些事情

idx = (np.abs(random.data - value)).argmin()

但我正在努力解决循环和行问题。

谁知道一个简单的方法? :-)

最佳答案

df = pd.DataFrame({'data':np.linspace(0.1, 1.0, 10)})

values = [0.33, 0.66, 0.99]

d = np.abs(values - df.values)

np.argmin(d, axis=0)

这将返回第一个 最接近值的索引。如果您在数据框中有多个值与 values 中的值同样接近并且想要返回所有索引,您可以使用:

np.where(d == d.min(0))[0]

代替 np.argmin

关于python - 查找最接近给定值的值并返回行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59738831/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com