addressparser中文地址提取工具,支持中国三级区划地址(省、市、区)提取和映射。

!pip3 install addressparser==0.2.1



省市区提取

默认采用全文模式,不进行分词,直接全文匹配,这样速度慢,准确率高。

import addressparser as addr


locations = ["徐汇区虹漕路461号58号楼5楼", 
             "泉州市洛江区万安塘西工业区", 
             "朝阳区北苑华贸城"]

df1 = addr.transform(locations)
df1

addressable 场景怎么管理_css



地址经纬度、省市县级联关系查询

## 查询经纬度信息
addr.latlng[('北京市','北京市','朝阳区')]
(39.95895316640668, 116.52169489108084)
## 查询含有"鼓楼区"的全部地址
addr.area_map.get_relational_addrs('鼓楼区')
[('江苏省', '南京市', '鼓楼区'),
 ('江苏省', '徐州市', '鼓楼区'),
 ('福建省', '福州市', '鼓楼区'),
 ('河南省', '开封市', '鼓楼区')]

注:

  • city_map可以用来查询含有某个市的全部地址,
  • province_map可以用来查询含有某个省的全部地址
## 查询含有"江苏省", "鼓楼区"的全部地址
addr.province_area_map.get_relational_addrs(('江苏省', '鼓楼区'))
[('江苏省', '南京市', '鼓楼区'), ('江苏省', '徐州市', '鼓楼区')]



大批量地址处理

#读取数据
import pandas as pd

df = pd.read_csv("addr.csv")
df.dropna(inplace=True) #去重空地址
df.head()

addressable 场景怎么管理_数据可视化_02

addr_df = addr.transform(df["原始地址"])
addr_df

addressable 场景怎么管理_网络_03

合并df 和 addr_df 两个数据

processed = pd.concat([df, addr_df], axis=1)
processed.head()

addressable 场景怎么管理_css_04