【发布时间】:2020-01-16 08:14:23
【问题描述】:
假设我们有 2 个坐标为 ['X','Y'] 的数据框:
df1:
X Y House №
2531 2016 175
2219 2196 11
2901 3426 201
6901 4431 46
7891 1126 89
df2:
X Y Delivery office №
2534 2019 O1
6911 4421 O2
2901 3426 O3
7894.5 1120 O4
我的想法是合并它们并得到:
df3
X Y House № Delivery office №
2531 2016 175 01
2219 2196 11 NA
2901 3426 201 03
6901 4431 46 02
7891 1126 89 04
所以我们想通过阈值实现'模糊'合并(这个参数应该由用户给出)。您可以看到 11 号门牌没有得到任何送货办公室号码,因为它距离 df2 中所有显示的办公室太远了。
所以我需要 df2 中的所有行 'find' 它是最接近 df1 的行并将它的 'Cost' 值添加到它 您可以看到通常的内置 pd.merge 以及使用 levenshtein 距离等实现模糊逻辑与字符串值相关的自定义包在那里不起作用
【问题讨论】:
-
@luigigi 谢谢,但我的问题要容易得多,而且与时间/日期戳无关
标签: python pandas left-join coordinates