<p><code>scipy.spatial.distance</code>是您要查看的模块。它有很多不同的规范,可以很容易地应用。</p>
<p>我建议你用加权蒙科夫斯基矩阵</p>
<p><a href="http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.wminkowski.html#scipy.spatial.distance.wminkowski" rel="noreferrer">Weighted Minkowski Metrik</a></p>
<p>您可以使用这个包中的<code>pdist</code>方法进行成对距离计算。</p>
<p>例如</p>
<pre><code>import numpy as np
from scipy.spatial.distance import pdist, wminkowski, squareform
object_1 = [0.2, 4.5, 198, 0.003]
object_2 = [0.3, 2.0, 999, 0.001]
object_3 = [0.1, 9.2, 321, 0.023]
list_of_objects = [object_1, object_2, object_3]
# make a 4x3 matrix from list of objects
X = np.array(list_of_objects)
#calculate pairwise distances, using weighted Minkowski norm
distances = pdist(X,wminkowski,2, [1,1,1,10])
#make a square matrix from result
distances_as_2d_matrix = squareform(distances)
print distances
print distances_as_2d_matrix
</code></pre>
<p>这将打印</p>
<pre><code>[ 801.00390786 123.0899671 678.0382942 ]
[[ 0. 801.00390786 123.0899671 ]
[ 801.00390786 0. 678.0382942 ]
[ 123.0899671 678.0382942 0. ]]
</code></pre>