擅长:python、mysql、java
<p>尝试使用scipy中的<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.cdist.html" rel="nofollow noreferrer">computed distance</a></p>
<pre><code>from scipy.spatial.distance import cdist
hausdorff_distance = cdist(df[['latitude', 'longitude']], df[['latitude', 'longitude']], lambda u, v: directed_hausdorff(u, v)[0])
hausdorff_distance_df = pd.DataFrame(hausdorff_distance)
</code></pre>
<p>不过,值得注意的是,无论您最终使用什么方法,都需要花费大量的时间来计算,这仅仅是因为数据量太大。问问你自己,如果你真的需要每一对距离。在</p>
<p>实际上,这类问题是通过将配对的数量限制在一个可管理的数量来解决的。例如,将数据帧分成更小的集合,每个集合限制在一个地理区域内,然后找到该地理区域内的距离对。在</p>
<p>超级市场使用上述方法来确定新店的位置。他们并不是在计算他们拥有的每一家商店和他们的竞争对手之间的距离。首先,他们限制了区域,那里总共只有5-10家商店,然后才开始计算距离。在</p>