python – 如何在Pandas系列中找到输入数字中最接近的值?
发布时间:2020-12-20 10:34:58 所属栏目:Python 来源:网络整理
导读:我见过: how do I find the closest value to a given number in an array? How do I find the closest array element to an arbitrary (non-member) number?. 这些与香草Python有关,而不是熊猫. 如果我有这个系列: ix num 0 11 62 43 54 2 我输入3,我怎样
我见过:
> how do I find the closest value to a given number in an array? 这些与香草Python有关,而不是熊猫. 如果我有这个系列: ix num 0 1 1 6 2 4 3 5 4 2 我输入3,我怎样才能(有效地)找到? >如果在系列中找到,则索引为3 IE浏览器.使用上面的系列{1,6,4,5,2}和输入3,我应该得到带有索引(2,4)的值(4,2). 解决方法
您可以使用argsort()之类的
比如说,输入= 3 In [198]: input = 3 In [199]: df.ix[(df['num']-input).abs().argsort()[:2]] Out[199]: num 2 4 4 2 df_sort是具有2个最接近值的数据帧. In [200]: df_sort = df.ix[(df['num']-input).abs().argsort()[:2]] 对于索引, In [201]: df_sort.index.tolist() Out[201]: [2,4] 对于价值观, In [202]: df_sort['num'].tolist() Out[202]: [4,2] 细节,对于上面的解决方案df是 In [197]: df Out[197]: num 0 1 1 6 2 4 3 5 4 2 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |