熊猫数据帧中所有对的有效k最近邻

问题描述 投票:0回答:1

我有一个具有20K行和50列的pandas数据框。我想根据列的欧几里得距离找到此数据框中每行的5个最近邻居。因此,结果是20K * 5的矩阵,其中列是数据帧中最近邻居的ID。]

我正在寻找一种解决方案,以尽可能高效地执行此操作,最好使用熊猫,并行操作或向量化操作提供的索引。 Scipy KD树非常慢。

任何想法?

我有一个具有20K行和50列的pandas数据框。我想根据列的欧几里得距离找到此数据框中每行的5个最近邻居。因此结果是...

python pandas nearest-neighbor
1个回答
0
投票

确实看起来Scipy的kd树在您的情况下很慢;查询单个点大约需要80毫秒,我想这将导致整个数据集的总计算时间约为0.08 * 20_000 = 1600s。

© www.soinside.com 2019 - 2024. All rights reserved.