使用anaconda的命令列安裝
conda install kdtree
函式名
輸入引數
函式功能
node(data, left, right)
結點資料;左子結點;右子結點
建立結點例項
node.is_leaf
-返回布林值,判斷是否為葉子結點
node.preorder
-結點處先序遍歷,返回乙個迭代器
node.inorder
-結點處中序遍歷,返回乙個迭代器
node.postorder
-結點處後序遍歷,返回乙個迭代器
node.children
-返回結點的所有孩子結點的乙個迭代器
node.set_child(index, child)
index為0表示修改左孩子結點,否則表示修改右孩子結點;child為要修改的值
修改結點的孩子結點
node.height
-返回子樹的高度
node.get_child_pos(child)
-給定孩子結點,返回其父結點的位置
函式名輸入引數
函式功能
kdnode(data=none,left=none,right=none,axis=none,sel_axis=none, dimensions=none)
資料;左子結點;右子結點;從某個維度開始進行切割;下一次切割時(即建立子結點時維度的變化方式)
建立結點例項
kdnode.add(point)
-向當前節點新增乙個點,或以迭代方式下行到其子節點之一。
kdnode.create_subnode(data)
-為當前結點建立子結點
kdnode.find_replacement()
-尋找當前結點的替代
kdnode.remove(point,node=node)
-移除指定的結點,返回子樹的新的根結點
kdnode.is_balanced
-檢測kd樹是否平衡
kdnode.rebalance
-重新平衡kd樹,並返回可能的根結點
kdnode.axis_dist(point, axis)
-計算指定維度上結點資料與給定資料的平方距離
kdnode.dist(point)
-計算結點資料與給定資料的平方距離
kdnode.search_knn(point, k, dist=none)
dist是乙個計算距離的lambda表示式
尋找給定資料的k個臨近點
kdnode.search_nn(point, dist=none)
-尋找最近鄰點
kdnode.search_nn_dist(point, distance, best=none)
-尋找給定距離範圍內的最鄰近點
kdnode.is_valid
-檢測kd樹是否有效
kdnode.extreme_child(sel_func, axis)
返回子樹的乙個孩子和它的父親
函式名輸入引數
函式功能
visualize(tree, max_level=100, node_width=10, left_padding=5)
-列印kd樹
level_order(tree, include_all=false)
include_all:如果為true則包含空結點,用none表示
返回乙個迭代器,逐層遍歷
create(point_list=none, dimensions=none, axis=0, sel_axis=none)
axis表示從某個維度開始進行切割;sel_axis是乙個lambda表示式,表示所選擇的axis
從資料列表建立kd樹
Python中numpy庫unique函式解析
a np.unique a 對於一維陣列或者列表,unique函式去除其中重複的元素,並按元素由大到小返回乙個新的無元素重複的元組或者列表。import numpy as np a 1,2,2,5,3,4,3 a np.unique a b 1,2,2,5,3,4,3 b np.unique b c...
python函式學習內容 python之函式學習
usr bin env python 位置引數說明 位置引數 通過引數傳遞的位置來決定 def echo1 x,y print x format x print y format y return x y res1 echo1 2,6 print res1 關鍵字引數 關鍵字引數 通過引數名稱來決定...
python之zip函式和sorted函式
zip 函式和sorted 函式 zip 函式 將兩個序列合併,返回zip物件,可強制轉換為列表或字典 sorted 函式 對序列進行排序,返回乙個排序後的新列表,原資料不改變 合併兩個列表,以列表型別輸出 list str a b c d list num 1,2,3,4 list new zip...