0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python pacp模块:自动识别文字中的省市区并将其绘图

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-06-27 17:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块。

举个例子:

["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘西工业区"]
        ↓ 转换
|省    |市   |区    |地址                 |
|上海市|上海市|徐汇区|虹漕路461号58号楼5楼  |
|福建省|泉州市|洛江区|万安塘西工业区        |

注:“地址”列代表去除了省市区之后的具体地址

也可以将大段文本中所有提到的地址提取出来,并且自动将相邻的存在所属关系的地址归并到一条记录中(0.5.5版本新功能):

"分店位于徐汇区虹漕路461号58号楼5楼和泉州市洛江区万安塘西工业区以及南京鼓楼区"
        ↓ 转换
|省    |市   |区    |
|上海市|上海市|徐汇区|
|福建省|泉州市|洛江区|
|江苏省|南京市|鼓楼区|

代码目前仅仅支持python3

pip install cpca

注:cpca是chinese province city area的缩写

如果觉得本模块对你有用的话,施舍个star,谢谢。

常见安装问题:

在 windows 上可能会出现类似如下问题

Building wheel for pyahocorasick (setup.py) ... error

先去下载 Microsoft Visual C++ Build Tools, 安装完成后,再重新使用 pip install cpca 安装,即可解决问题

开始使用

本模块中最主要的方法是cpca.transform,该方法可以输入任意的可迭代类型(如list,pandas的Series类型等),然后将其转换为一个DataFrame,下面演示一个最为简单的使用方法:

location_str = ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘西工业区", "北京朝阳区北苑华贸城"]
import cpca
df = cpca.transform(location_str)
df

输出的结果为(adcode为官方地址编码):

   省     市    区          地址              adcode
0 上海市 上海市  徐汇区     虹漕路461号58号楼5楼  310104
1 福建省 泉州市  洛江区     万安塘西工业区        350504
2 北京市 市辖区  朝阳区     北苑华贸城           110105

如果你想获知程序是从字符串的那个位置提取出省市区名的,可以添加一个pos_sensitive=True参数:

location_str = ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘西工业区", "北京朝阳区北苑华贸城"]
import cpca
df = cpca.transform(location_str, pos_sensitive=True)
df

输出如下:

     省    市    区        地址               adcode        省_pos  市_pos 区_pos
0  上海市  上海市  徐汇区  虹漕路461号58号楼5楼   310104     -1     -1      0
1  福建省  泉州市  洛江区  万安塘西工业区         350504     -1      0      3
2  北京市  市辖区  朝阳区  北苑华贸城            110105     -1     -1      0

从大段文本中提取多个地址(0.5.5版本新功能):

import cpca
df = cpca.transform_text_with_addrs("分店位于徐汇区虹漕路461号58号楼5楼和泉州市洛江区万安塘西工业区以及南京鼓楼区")
df

结果为(注意 transform_text_with_addrs 获得的数据,“地址”列都是空的):

    省     市     区    地址   adcode
0  上海市  市辖区  徐汇区       310104
1  福建省  泉州市  洛江区       350504
2  江苏省  南京市  鼓楼区       320106

transform_text_with_addrs 还支持和 transform 类似的 index, pos_sensitive 以及 umap 参数

绘图:

模块中还自带一些简单绘图工具,可以在地图上将上面输出的数据以热力图的形式画出来.

这个工具依赖folium,为了减小本模块的体积,所以并不会预装这个依赖,在使用之前请使用pip install folium .

代码如下:

import cpca
from cpca import drawer
df = cpca.transform_text_with_addrs("分店位于徐汇区虹漕路461号58号楼5楼和泉州市洛江区万安塘西工业区以及南京鼓楼区")
drawer.draw_locations(df[cpca._ADCODE], "df.html")

绘图展示

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自动识别
    +关注

    关注

    3

    文章

    233

    浏览量

    23858
  • python
    +关注

    关注

    57

    文章

    4860

    浏览量

    89661
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    没有专利的opencv-python 版本

    所有 官方发布的 opencv-python 核心版本(无 contrib 扩展)都无专利风险——专利问题仅存在于 opencv-contrib-python 扩展模块的少数算法(如
    发表于 12-13 12:37

    新大陆自动识别马来西亚智造基地顺利量产

    马来西亚槟城,历来是海外华人的创业福地。作为海外华商网络历经百年沉淀的关键节点,其不仅延续着深厚的百年商脉,更传承着华人坚韧不拔的开拓精神。如今,在这片热土上,新大陆自动识别公司与当地领先的电子制造服务商NationGate正式启动量产合作,共同见证中国智造扬帆远航的重要时刻。
    的头像 发表于 10-11 17:53 1459次阅读

    新大陆自动识别2025上海工博会圆满收官

    近日,中国最具影响力的工业展——2025 中国工业博览会(以下简称 “工博会”)在国家会展中心(上海)圆满落幕。作为全球智能制造领域的重要参与者,新大陆自动识别以“AI驱动 开拓工业识别新大陆”为主
    的头像 发表于 10-11 17:51 1451次阅读

    新大陆自动识别亮相2025开源鸿蒙技术大会

    字经济发展的核心价值。作为开源鸿蒙生态在自动识别领域的重要推动者,公司集中展示了多款搭载开源鸿蒙系统的智能终端产品,展现了在国产化技术路线上的持续深耕与阶段性成果。
    的头像 发表于 09-30 15:26 687次阅读

    新大陆自动识别亮相2025国国际工业博览会

    9月23日,工业领域年度盛会——CIIF2025国工业博览会正式拉开帷幕!新大陆自动识别聚焦工业制造核心需求,以“AI驱动 开拓工业识别新大陆”为主题,携 AI 驱动的智能识别产品组
    的头像 发表于 09-30 15:24 774次阅读

    【EASY EAI Orin Nano开发板试用体验】PP-OCRV5文字识别实例搭建与移植

    参数填上dec模型的路径,在第三个参数填上rec模型的路径,在第四个参数填上需要进行文字识别的源图片: 看看效果: RK3588
    发表于 08-18 16:57

    基于LockAI视觉识别模块:手写数字识别

    手写数字识别是一种经典的模式识别和图像处理问题,旨在通过计算机自动识别用户手写的数字。本文将教会你如何使用基于RV1106的LockAI视觉识别模块
    的头像 发表于 06-30 15:44 893次阅读
    基于LockAI视觉<b class='flag-5'>识别</b><b class='flag-5'>模块</b>:手写数字<b class='flag-5'>识别</b>

    揭秘单装自动识别铭牌:基于RFID的毫秒级非接触群读如何革新大型装备管理

    单装自动识别铭牌安装于大型装备的规定位置,采用射频识别技术,用于装备的远距离自动识别。该设备的核心功能是依托RFID技术,实现目标个体身份及关键属性数据的自动化、非接触式采集与
    的头像 发表于 06-25 15:55 466次阅读
    揭秘单装<b class='flag-5'>自动识别</b>铭牌:基于RFID的毫秒级非接触群读如何革新大型装备管理

    工信部电子信息司领导莅临行芯科技调研

    近日,工业和信息化部电子信息司王世江副司长一行到行芯科技进行专题调研,省市区经信部门相关负责人随行陪同。
    的头像 发表于 06-11 10:38 1278次阅读

    新大陆自动识别亮相印尼市场行业盛会

    这个5月,新大陆自动识别(Newland AIDC)携手印尼合作伙伴,以一场硬核科技盛宴掀起东南亚智能浪潮!作为本次活动的金牌赞助商,新大陆自动识别全面展示了在智能数据采集方面的最新成果。来自制造、物流、汽车等多领域的行业决策者和技术专家齐聚,见证数据赋能的无限可能。
    的头像 发表于 05-29 16:14 684次阅读

    # 基于LockAI视觉识别模块:C++寻找色块

    在传统计算机视觉场景,颜色识别是目标检测和分割的重要手段之一。通过识别特定颜色的色块,可以在相对纯净的背景下快速定位目标区域。本实验提供了一个简单的色块识别案例,
    的头像 发表于 05-12 14:27 510次阅读
    # 基于LockAI视觉<b class='flag-5'>识别</b><b class='flag-5'>模块</b>:C++寻找色块

    新大陆自动识别2025印度合作伙伴大会成功举办

    近日,新大陆自动识别总部(中国·福州)迎来了一场跨越国界的智慧碰撞——2025印度合作伙伴大会圆满举办!印度核心伙伴线上线下齐聚一堂,以“共创·共建·共赢(Innovate. Collaborate. Accelerate.)”为号角,共探发展新机遇!
    的头像 发表于 04-22 17:26 824次阅读

    rfid技术是如何应用在集装箱自动识别的呢?

    在现代集装箱物流管理,快速、准确地识别集装箱号码是提升港口、堆场和海关运作效率的关键。随着技术的发展,RFID(射频识别)技术与OCR视觉识别相结合,为集装箱
    的头像 发表于 04-18 10:13 674次阅读
    rfid技术是如何应用在集装箱<b class='flag-5'>自动识别</b>的呢?

    火车车号自动识别系统如何应对夜间识别难题?

    在铁路运输领域,火车车号自动识别系统已成为提升管理效率和运输安全的重要工具。然而,夜间环境光线不足、车体反光、天气干扰等因素,给车号识别带来了巨大挑战。针对这些问题,现代识别系统通过多维度技术创新
    的头像 发表于 04-16 09:59 534次阅读
    火车车号<b class='flag-5'>自动识别</b>系统如何应对夜间<b class='flag-5'>识别</b>难题?

    MS7026 新一代视频解码芯片

    MS7026 是一颗 NTSC、PAL,视频解码的产品。基于内部的模式检测模块,对输入信号进行自动识别并将其转换成数字 8-Bit ITU-RBT656 信号。MS7026 功能支持 3D 视频解码和隔行到逐行视频的转换。
    发表于 04-14 18:04