【发布时间】:2019-08-16 18:56:37
【问题描述】:
我有浮点数的数据框。我想找到紧密匹配的数字索引。
df =
index value
0 10.53
1 20.23
2 12.34
3 34.12
4 5.67
5 19.56
我想找到与 9.5 最匹配的值索引
matc_idx = df['value'].index.get_loc(9.5)
输出:
KeyError:
如何找到紧密匹配的索引。在这种情况下,我期待
print(matc_idx)
0
以前接受的答案使用了已折旧的ix。
【问题讨论】:
-
df.iloc[(df['value']-9.5).abs().argsort()[:1]].index来自这个thread -
@politicalscientist 我试过你的方法,得到以下回复
AttributeError: 'DataFrame' object has no attribute 'argsort' -
对不起,如果我错过了什么。我复制了你的 df 并运行了上述代码,它按预期工作,所以不确定是什么问题:(
-
df['value'].sub(9.5).abs().sort_values().index[0]或df['value'].sub(9.5).abs().idxmin()