【发布时间】:2020-11-11 12:23:31
【问题描述】:
我有两个数据框,df1 和 df2,其中包含有关投票站的信息。数据帧具有不同的长度。两个数据框都有一个名为ps_name 的列,这是投票站的名称,还有一个名为district 的列,表示投票站位于哪个区。
我正在尝试匹配ps_name 列上的字符串,同时阻塞district 列,因此我可以将匹配项上的geolocations(纬度和经度)列从df1 复制到df2。
到目前为止,我已经尝试在阈值 0.88 处使用 jaro-winkler 来比较字符串。
# Matched:
**df1:** AGRICULTURAL OFFICE ATTOCK (MALE) I (P)
**df2:** AGRICULTURAL OFFICE ATTOCK (MALE) (P)
# Did not match:
**df1:** govt girls high school peoples colony attock ii
**df2:** high school peoples colony attock ii
我应该使用什么字符串距离算法?我已经尝试过 jaro-winkler 并且还在考虑 smith-waterman。
【问题讨论】:
-
我还有一个问题:其中一对正在匹配但不应匹配的投票站具有以下格式:'government high school X','government high school Y'。它们被匹配是因为 X 和 Y 是短词。我正在考虑将字符串分成“government high school”和“X”,“Y”以匹配“X”和“Y”而不是整个字符串,但我想知道这对其余的字符串如何工作没有这个问题。
标签: python pandas dataframe string-matching jaro-winkler