python - 检查列表中拼写错误的单词
问题描述
我想使用我在 df 中的官方城市列表获取datos中的位置名称。
barha = pd.read_csv('https://wms.ign.gob.ar/geoserver/bahra/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=bahra%3Alocalidad_bahra&outputFormat=csv')
datos = pd.DataFrame([['1','La Plata Buenos Aires'],['2','Lanús'],['3','lanus'],['4','Agua de Buenos Aires'],['5','mar del Plata'],['6','Gas SAN ISIDRO']],
columns = ['id', 'desc'])
我试着这样做
datos['localidad'] = datos['desc'].apply(lambda x: next(iter([i for i in barha['nombre_geografico'] if i in x]), None))
预期的结果是:
ID | 描述 | 本地化 |
---|---|---|
1 | 拉普拉塔布宜诺斯艾利斯 | 拉普拉塔 |
2 | 拉努斯 | 拉努斯 |
3 | 兰纳斯 | 拉努斯 |
4 | 阿瓜德布宜诺斯艾利斯 | 没有任何 |
5 | 马德普拉塔 | 马德普拉塔 |
6 | 圣伊西德罗 | 圣伊西德罗 |
但我得到的结果是:
ID | 描述 | 本地化 |
---|---|---|
1 | 拉普拉塔布宜诺斯艾利斯 | 解放军 |
2 | 拉努斯 | 拉努斯 |
3 | 兰纳斯 | 没有任何 |
4 | 阿瓜德布宜诺斯艾利斯 | 没有任何 |
5 | 马德普拉塔 | 解放军 |
6 | 圣伊西德罗 | 没有任何 |
我知道它使用了确切的词,但我该如何解决这个问题?
解决方案
推荐阅读
- excel - VBA中的无效过程调用和参数错误
- java - 一个参数(@RequestParam 字符串选项卡) - 许多方法
- python - Python Tornado - 从 HTML 中的表单输入访问值时出现问题
- python - 熊猫按连续值过滤?
- timestamp - 如何更改 Db2 中的时间戳?
- html - 根据空状态显示和隐藏标签
- python - 使用 linux 或 python 查找 mp3 声音样本的时间戳
- javascript - 如何在标签重新加载时实现状态持久性?
- javascript - 如何删除 Bang Bang?
- delphi - 如何从 TWebBrowser 获取图像到 TImage