首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为整个列从给定列表中查找最近的

为整个列从给定列表中查找最近的
EN

Stack Overflow用户
提问于 2021-07-13 04:08:35
回答 3查看 65关注 0票数 0

我有一些数字的list。我希望从list中为整个列找到最接近的值:

代码语言:javascript
运行
复制
mylist=[11,44,23,66,100]
df = pd.DataFrame(data={'Data':[11,22,33,43,52,63]})
df>>
    Data
0   11
1   22
2   33
3   43
4   52
5   63

我想要的输出:

代码语言:javascript
运行
复制
    Data    Nearest
0   11      11
1   22      23
2   33      23
3   43      44
4   52      66
5   63      66

我尝试过在min函数中使用iteraration,但是它很慢。

EN

Stack Overflow用户

发布于 2021-07-13 04:22:22

这可能管用,

代码语言:javascript
运行
复制
def nearest(a, x):
    n = [abs(i-x) for i in a]
    idx = n.index(min(n))
    return a[idx]

def nearest_alternative(a, v):
    idx = (np.abs(a-v)).argmin()
    return array[idx]

df['nearest'] = df['Data'].apply(lambda x: nearest(mylist, x))

备选方案:

O/P:

代码语言:javascript
运行
复制
   Data  nearest
0    11       11
1    22       23
2    33       23
3    43       44
4    52       44
5    63       66

解释:

  • nearest函数将接收mylist和每个数据元素。
  • 计算x和mylist
  • 返回元素之间的差异,该元素具有最小值
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68356365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档