本文简要介绍 python 语言中 scipy.spatial.cKDTree.query
的用法。
用法:
cKDTree.query(self, x, k=1, eps=0, p=2, distance_upper_bound=np.inf, workers=1)#
查询最近邻居的kd-tree
- x: 数组,最后一维 self.m
要查询的点数组。
- k: 整数或整数列表
要返回的k-th 最近邻居列表。如果 k 是整数,则将其视为 [1, ... k] (range(1, k+1)) 的列表。请注意,计数从 1 开始。
- eps: 非负浮点数
返回近似最近邻; k-th 返回值保证不超过 (1+eps) 乘以与真实 k-th 最近邻居的距离。
- p: 浮点数,1<=p<=无穷大
使用哪个 Minkowski p-norm。 1 是 sum-of-absolute-values “Manhattan” 距离 2 是通常的欧几里德距离 无穷大是 maximum-coordinate-difference 距离 如果可能发生溢出,有限的大 p 可能会导致 ValueError。
- distance_upper_bound: 非负浮点数
仅返回此距离内的邻居。这用于修剪树搜索,因此如果您正在执行一系列nearest-neighbor 查询,它可能有助于提供到最近点的最近邻居的距离。
- workers: 整数,可选
用于并行处理的工作人员数量。如果指定 -1,则使用所有 CPU 线程。默认值:1。
- d: 浮点数数组
到最近邻居的距离。如果
x
具有形状tuple+(self.m,)
,则d
具有形状tuple+(k,)
。当 k == 1 时,输出的最后一个维度被压缩。缺失的邻居用无限距离表示。- i: 整数数组
self.data
中每个邻居的索引。如果x
具有形状tuple+(self.m,)
,则i
具有形状tuple+(k,)
。当 k == 1 时,输出的最后一个维度被压缩。缺少的邻居用self.n
表示。
参数 ::
返回 ::
注意:
如果 KD-Tree 是周期性的,则位置
x
将被包到框中。当输入 k 是一个列表时,将执行对 arange(max(k)) 的查询,但只保留存储请求的 k 值的列。这是以减少内存使用的方式实现的。
例子:
>>> import numpy as np >>> from scipy.spatial import cKDTree >>> x, y = np.mgrid[0:5, 2:8] >>> tree = cKDTree(np.c_[x.ravel(), y.ravel()])
要查询最近的邻居并返回压缩结果,请使用
>>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=1) >>> print(dd, ii, sep='\n') [2. 0.2236068] [ 0 13]
要查询最近的邻居并返回未压缩的结果,请使用
>>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[1]) >>> print(dd, ii, sep='\n') [[2. ] [0.2236068]] [[ 0] [13]]
要查询第二近邻并返回未压缩的结果,请使用
>>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[2]) >>> print(dd, ii, sep='\n') [[2.23606798] [0.80622577]] [[ 6] [19]]
要查询第一个和第二个最近的邻居,请使用
>>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=2) >>> print(dd, ii, sep='\n') [[2. 2.23606798] [0.2236068 0.80622577]] [[ 0 6] [13 19]]
或者,更具体
>>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[1, 2]) >>> print(dd, ii, sep='\n') [[2. 2.23606798] [0.2236068 0.80622577]] [[ 0 6] [13 19]]
相关用法
- Python SciPy cKDTree.query_ball_tree用法及代码示例
- Python SciPy cKDTree.query_ball_point用法及代码示例
- Python SciPy cKDTree.query_pairs用法及代码示例
- Python SciPy cKDTree.sparse_distance_matrix用法及代码示例
- Python SciPy cKDTree.count_neighbors用法及代码示例
- Python SciPy csc_array.diagonal用法及代码示例
- Python SciPy csgraph.csgraph_to_dense用法及代码示例
- Python SciPy coo_array.tocsr用法及代码示例
- Python SciPy csgraph.min_weight_full_bipartite_matching用法及代码示例
- Python SciPy csc_matrix.nonzero用法及代码示例
- Python SciPy contingency.relative_risk用法及代码示例
- Python SciPy csgraph.minimum_spanning_tree用法及代码示例
- Python SciPy constants.nu2lambda用法及代码示例
- Python SciPy csr_array.diagonal用法及代码示例
- Python SciPy csgraph.breadth_first_order用法及代码示例
- Python SciPy csc_matrix.diagonal用法及代码示例
- Python SciPy coo_matrix.tocsr用法及代码示例
- Python SciPy coo_matrix.tocsc用法及代码示例
- Python SciPy coo_array.diagonal用法及代码示例
- Python SciPy constants.convert_temperature用法及代码示例
- Python SciPy csr_matrix.nonzero用法及代码示例
- Python SciPy csr_matrix.dot用法及代码示例
- Python SciPy csgraph.connected_components用法及代码示例
- Python SciPy csgraph.dijkstra用法及代码示例
- Python SciPy coo_array.dot用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.spatial.cKDTree.query。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。