本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。