python中文地址映射省市县行政区域及经纬度解析
面对这样的需求
从下面地址详情中提取其所在行政区域(省、市、县/区 ),切分为右边表格的形式。
地址详情 | 映射后地址信息 | |||
详细地址 | 省 | 市 | 县/区 | 详细地址 |
平罗县御景安家25-1-102 | 宁夏回族自治区 | 石嘴山市 | 平罗县 | 御景安家25-1-102 |
达州渠县渠江镇珠山村一组57号 | 四川省 | 达州市 | 渠县 | 渠江镇珠山村一组57号 |
兴庆区在水一方C区5-3-101 | 宁夏回族自治区 | 银川市 | 兴庆区 | 在水一方C区5-3-101 |
成都市武侯区佳灵路九峰家园2栋 | 四川省 | 成都市 | 武侯区 | 佳灵路九峰家园2栋 |
大田县集美路21号 | 福建省 | 三明市 | 大田县 | 集美路21号 |
邢台桥东区高开东汪镇西静庵村 | 河北省 | 邢台市 | 桥东区 | 高开东汪镇西静庵村 |
方法一
pip install cpca
原理是通过jieba工具先对详细地址做分词,再将结果分段对比行政地区域地址库,代码如下:
import cpca
area_str = ["平罗县御景安家25-1-102"]
df_str = cpca.transform(area_str )
df_str
结果展示:
省 | 市 | 区 | 地址 |
宁夏回族自治区 | 石嘴山市 | 平罗县 | 御景安家25-1-102 |
经纬度解析
cpca.latlng 以字典的形式将全国的行政区域经纬度保存(如下图:)
我们直接从该字典中查询行政区域对应的经纬度即可(如下:)
cpca.latlng['北京市', '北京市', '西城区']结果:('39.93428014370851', '116.37319010401802')
另一种类似的方法也可以解析地址经纬度(如下:)
方法二
pip install chinese_province_city_area_mapper
原理与方法相似,但在使用过程要比方法一更上手,很多拼写不全的地址用方法二都可以映射正确的省市县。实验以下地址的时候使用方法一解析失败,使用方法二解析成功,如下:
from chinese_province_city_area_mapper.transformer import CPCATransformer
Ca = CPCATransformer()
Ca.transform(['湖南省株洲县朱亭镇水口村跃进组12号','青海省海东地区乐都县高庙镇白崖子村42号','湖南省株洲县渌口镇凯裕名城B栋4单元301
'])
使用chinese_province_city_area_mapper解析结果:
使用cpca解析结果:
只有市级和市级以下的行政区域存在重名的情况,例如中国有很多城市的区叫“朝阳区” ,如果详细地址中没有别的地址描述的话系统是不知道应该映射到哪个“朝阳区”,所以我们需要为一些市区指定默认所属省。
有两种方式指定默认值:
# 方法一:直接通过 CPCATransformer 指定
cpca = CPCATransformer({"朝阳区":"北京市"})
df = cpca.transform(location_str)# 方法二:通过内置模块 umap 调用默认地址字典
from chinese_province_city_area_mapper import myumap
cpca = CPCATransformer(myumap.umap)
df = cpca.transform(location_str)
打印myumap.umap ,结果如下 :
{'南关区': '长春市', '南山区': '深圳市', '宝山区': '上海市', '市辖区': '东莞市',
'普陀区': '上海市', '朝阳区': '北京市', '河东区': '天津市', '白云区': '广州市',
'西湖区': '杭州市', '铁西区': '沈阳市'}
对经纬度的解析结果大体相当,代码如下:
from chinese_province_city_area_mapper.infrastructure import SuperMap
SuperMap.lat_lon_mapper.get("北京市,北京市,朝阳区")
结果:(39.92, 116.43)
绘图功能,两行代码完成:
# 绘制城市热力地图
from chinese_province_city_area_mapper import drawers
drawers.draw_locations(DF, "df.html")
chinese_province_city_area_mapper 模块还有其他功能模块,例如 SuperMap模块简要介绍如下:
from chinese_province_city_area_mapper.infrastructure import SuperMap
#地区到市的映射数据库,是一个字典类型(key为区名,value为其所属的市名),注意其中包含重复的区名
SuperMap.area_city_mapper
#重复的区名列表,列表类型,如果区名在这个列表中,则area_city_mapper的映射是不准确的
SuperMap.rep_areas
#市到省的映射数据库,字典类型(key为市的名称,value为省的名称)
SuperMap.city_province_mapper
#全国省市区的经纬度数据库,字典类型(key为"省,市,区",value为(维度,经度))
SuperMap.lat_lon_mapper
#获取北京市朝阳区的经纬度
SuperMap.lat_lon_mapper.get("北京市,北京市,朝阳区")
python中文地址映射省市县行政区域及经纬度解析相关推荐
- Python 中文注释报错解决方法
Python 中文注释报错解决方法 参考文章: (1)Python 中文注释报错解决方法 (2)https://www.cnblogs.com/cjiong/p/5881983.html 备忘一下.
- 解决python中文乱码的方法
解决python中文乱码的方法 参考文章: (1)解决python中文乱码的方法 (2)https://www.cnblogs.com/bobodeboke/p/11935876.html 备忘一下.
- python中文昵称-官方出品 Python 中文文档!拜托,别再说看不懂了
点击" 开发者技术前线 ",选择"星标�" 在看|星标|留言, 真爱 回复"666",获取一份技术人专属大礼包 作者:机器之心 参与:思源 ...
- python编码读法-python中文读法
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 而python是测试过程中最为常用的语言之一,很多测试团队的自动化代码和用例都是使 ...
- python中文解释-python注释中文
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 4.python代码注释最后更新于:2019-10-05 14:25:4 ...
- python叫什么-python中文叫什么
python中文叫什么? python中文叫蟒蛇,通常情况下,Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新 ...
- python中文叫什么意思-python中文读什么
python中文叫什么 python中文叫什么? python中文叫蟒蛇,通常情况下,Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随 ...
- python基础教程是什么语言-终于懂得python中文入门教程
Python作为一门新型的编程语言(一般常用作脚本语言)很受欢迎,毕竟相对其他的编程语言(Java ,C#等)来说比较容易入手.那么,在刚开始学习Python时有哪些疑难点需要掌握呢?以下是小编为你整 ...
- python的中文翻译-再聊聊Python中文社区的翻译
在写<学习Python,怎能不懂点PEP呢?>的时候,我已经发现国内的Python翻译环境不容乐观.这个结论可能不对,毕竟这几年Python大热,或许有不少优秀的翻译项目,只是我还不知道而 ...
最新文章
- 每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒。10元最多可喝多少瓶啤酒?
- UA MATH523A 实分析3 积分理论例题 证明函数列L1收敛的一个题目
- access重复数据累计_Access 查询同一张表中两个或以上字段含有重复项的记录
- 一个SAP开发人员的2018年终总结
- 通讯接口应用笔记2:MAX3160实现多协议通讯
- [jQuery基础] jQuery核心函数和工具方法
- Cisco Packet Tracer7.1 rip协议实验
- python怎么用散点图_怎么用Python画散点图
- 详细解决tomcat乱码 IDEA控制台乱码
- Word基础(三十六)题注与标题样式
- #10094. 「一本通 3.5 练习 2」消息的传递
- 几个内核函数:filp_open、filp_read、IS_ERR、ERR_PTR、PTR_ERR
- Windows安装Mysql提示无法定位程序输入点fesetround于动态链接库的解决方案
- 【NOI科目校 信息学知识点测评-组合计数专题】展览方案
- Personalized Federated Learning with Moreau Envelopes论文阅读+代码解析
- 剧本翻译之SHUFFLE 6月21日
- 在“绝世武功的目录”RTR4中译版出版前,先奉上“绝世武功秘籍的本体”
- 用dos命令行执行java程序的方法
- python照片转素描_python实现图片彩色转化为素描
- WEB前端-jQuery-中文文档
热门文章
- 致敬一个渐行渐远的时代!
- linux怎么编译ipa,shell技巧1 - 生成ipa文件
- 彻底解决DeLL Power Edge T640显卡不兼容导致的风扇转速狂飙
- python雪花代码讲解_Python程序:雪花+烟花
- cocos2d-lua 3.14提审itm - 90809 UIWebView处理
- 马踏棋盘算法(骑士周游列国)
- word文档中的装订线怎么设置_如何在WORD中制作装订线
- 一文讲解特征工程!经典外文PPT及中文解析
- Android及iOS黑客教程
- 【Vue】Vuex来改写MyClassroom.vue,点击【Vuex-保存】保存教室数据-20221226