You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在二维numpy数组中查找最邻近坐标的方法求助

解决方法:在NumPy中查找最邻近坐标

直接用NumPy的数组运算就能高效解决这个问题,步骤如下:

完整代码示例

import numpy as np

# 你的二维坐标数组
points = np.array([
    [77.62881735, 12.91172607],          
    [77.6464534,  12.9230648],
    [77.65330961, 12.92020244],
    [77.63142413, 12.90909731]
])

# 目标坐标
target = np.array([77.64000112, 12.91602265])

# 计算每个点与目标点的欧氏距离平方(无需开根号,不影响最小值判断)
distances_sq = np.sum((points - target) ** 2, axis=1)

# 找到距离最小的点的索引
closest_idx = np.argmin(distances_sq)

# 获取最邻近的坐标
closest_point = points[closest_idx]

print("最邻近的坐标:", closest_point)

步骤解释

  1. 导入NumPy:NumPy是处理数值数组的核心库,必须先导入。
  2. 定义数组:将你的二维坐标集合和目标坐标分别定义为NumPy数组。
  3. 计算距离平方:对每个点与目标点做差、平方后按行求和,得到每个点的欧氏距离平方(用平方代替完整欧氏距离是为了减少计算量,结果不影响最小值的选取)。
  4. 查找最小距离索引:用np.argmin()获取距离平方最小的元素对应的索引。
  5. 提取结果:通过索引从原二维数组中取出对应的坐标,就是最邻近的点。

运行上述代码,输出的结果为 [77.6464534 12.9230648],这就是与目标坐标最接近的点。

内容的提问来源于stack exchange,提问作者Sudhanwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 16:07:08