python - 如何使用 numpy "allclose" 返回一个公共值数组?
问题描述
我想比较两个一维高度数组的共同值。
但是,我不想只找到它们之间的精确高度——“足够接近”的高度也应该被计算在内。就我而言,彼此相距 2 米以内的高度应被视为“相等”。
我尝试使用 allclose 开始:
rtol = 2
atol = 2
common_altitudes = np.allclose(altitude_array_1,altitude_array_2,atol,rtol)
返回“真”
但是,我想得到一个阵列,其中包括一个阵列中的所有这些常见(或 2 米内)高度。这样做的最佳方法是什么?
解决方案
要取回具有公共值的数组,您需要过滤原始数组中的值:
a = np.array([10, 11, 13, 15])
b = np.array([10, 9, 9, 11])
common = a[np.isclose(a,b,atol=2,rtol=0)]
# [10 11]
推荐阅读
- javascript - 如何让两个输入都与搜索栏一起使用?
- javascript - 使用反应的进度条
- heroku - Heroku 帐户因内置身份验证而锁定失败
- python - discord.py TypeError:对象锁不能用于“等待”表达式
- unity3d - 切换 ARFoundatin (ARCore / ARKit) <-> Google Cardboard 不起作用
- javascript - 如何添加到数组其他数组
- c# - 在不同环境的 Windows 服务中发布 ASP.Net Core
- database - 通过终端设置 Magento 时数据库连接被拒绝
- c - 低功耗模式下的变量
- sql - 根据 SQL Server 中可用的最新日期定义车辆当前状况