用pandas将两个dataframe的房屋坐落进行模糊匹配
时间: 2024-05-13 07:16:16 浏览: 11
可以使用Python的fuzzywuzzy库实现模糊匹配。首先需要安装fuzzywuzzy库,可以通过以下命令进行安装:
```
pip install fuzzywuzzy
```
然后,可以使用以下代码实现模糊匹配:
```python
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
import pandas as pd
# 读取两个DataFrame
df1 = pd.read_csv('data1.csv')
df2 = pd.read_csv('data2.csv')
# 定义模糊匹配函数
def match_location(loc1, loc2):
return fuzz.token_set_ratio(loc1, loc2)
# 对df1中的每个房屋坐落,匹配df2中的所有房屋坐落,返回最高匹配度的房屋坐落
def match(df1_row):
loc1 = df1_row['房屋坐落']
matches = process.extract(loc1, df2['房屋坐落'], scorer=match_location)
best_match = max(matches, key=lambda x: x[1])
return best_match[0]
# 将匹配结果添加到df1中
df1['匹配房屋坐落'] = df1.apply(match, axis=1)
# 保存结果
df1.to_csv('matched.csv', index=False)
```
代码中,使用了fuzz.token_set_ratio函数计算两个字符串的匹配度,process.extract函数可以返回df2中所有房屋坐落与df1中当前房屋坐落的匹配度,并按照匹配度降序排序。最后,将最高匹配度的房屋坐落添加到df1中,并保存结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)