2017-04-20 56 views
-1

我想匹配2個獨立數據集中的字段。他們都是地址字段。一個數據集可能包含「532 Sheffield Dr」之類的內容,另一個數據集可能只包含「Sheffield Dr」。另一個例子是「US21 Ramp and Hays RD」與「US 21」,「N 25th St and Danville RD」以及「25th St」等。因此,基本上,即使第一個數據集中的數據可能包含一些額外的文本/數字,第二個數據集中列中的所有文本/數字都應該與第一個數據集中的文本/數字匹配。我一直在嘗試使用RegEx,但一直未能找出適當的代碼。我如何去做這件事?非結構化文本/數字合併

+2

歡迎的StackOverflow!請閱讀[我如何問一個好問題](https://stackoverflow.com/help/how-to-ask) –

+0

您能否提供一些額外的細節?你在使用Python列表嗎? numpy數組?熊貓數據框? – billett

+0

@billett不幸的是,我對編碼非常陌生。我一直在尋找解決方案,我遇到了'pyparsing'。我一直在嘗試使用'https://regex101.com/'來提供相關的代碼。 – Cyclops

回答

0

根據你的例子,我的理解最簡單的方法是一樣的東西:

s1 = ["532 Sheffield Dr", "US21 Ramp and Hays RD", "N 25th St and Danville RD"] 
s2 = ["Sheffield Dr", "US 21", "25th St"] 

for item2 in s2: 
    for item1 in s1: 
     if item2 in item1 or item2.replace(' ', '') in item1: 
      print('%s in %s' % (item2, item1))