Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 ># python # 17年招聘数据可视化

# python # 17年招聘数据可视化

作者头像
滚神大人
发布于 2019-09-10 10:54:02
发布于 2019-09-10 10:54:02
72400
代码可运行
举报
文章被收录于专栏:趣Python趣Python
运行总次数:0
代码可运行

很久之前就从公司的公开网站上爬取了招聘数据的信息,直到最近才最终完成的可视化方面的事情。

爬数据的工作比较简单,用的是Scrapy,这个过程比较简单,只要有简单的web分析能力,很容易,不说了(其实是为了信息安全)。

数据清洗的工作比较麻烦,一方面是提供了招聘人数,但是有些地方写的是若干人这样的,我统一处理成3人;另一方面关于地点,有的只有省份,有的又很细,有的只写了国外,这一块的处理:只有省份的按省会,只写了其他或者国外的统一被清洗掉了。

下面主要讲可视化方面的事情:

  • 其实找了很久的可视化map和geo方面的工具,后面发现echarts有python版本:pyecharts,看了帮助,还不错,很方便用。
  • pyecharts做geo方面的图只支持国内的地理坐标,自己做了一份全球国家的geo数据。

先上成果图:

附 画图 的源码 (python 3):

其中第一个参数是数据清洗和整理后的数据,其他参数直接参考pyecharts源码或者帮助文档即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pyecharts import Geo
from world_city_coords import WORLD_CITY_GEO_COORDS
from pyecharts.constants import CITY_GEO_COORDS

def plot_geo(stat, titie, sub_title, maptype, type, render_name):
   data = []    
    for city in stat:
       data.append((city, stat[city]))
   geo = Geo(titie, sub_title,
             title_color="#fff", title_pos="center", width=1200, height=600,
             background_color='#404a59')
   attr, value = geo.cast(data)
   geo.add("", attr, value,
           maptype = maptype,
           type = type,
           effect_scale=5, # for effectScatter
           is_visualmap=True, visual_text_color='#fff', visual_range=[0, 50],
           is_map_symbol_show=True, is_legend_show=False,
           geo_cities_coords={**WORLD_CITY_GEO_COORDS, **CITY_GEO_COORDS})
   geo.show_config()
   geo.render(render_name)plot_geo(world_stat, "2017 全球招聘", "data from □□□", "world", "scatter", "world_scatter.html")
plot_geo(world_stat, "2017 全球招聘", "data from □□□", "world", "effectScatter", "world_escatter.html")
plot_geo(china_stat, "2017 国内招聘", "data from □□□", "china", "scatter", "china_scatter.html")
plot_geo(china_stat, "2017 国内招聘", "data from □□□", "china", "effectScatter", "china_escatter.html")

其中,world_city_coords是整理后的坐标数据,源码如下(world_city_coords.py):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# encoding=utf8

WORLD_CITY_GEO_COORDS = {    
    '阿富汗': [69.11, 34.28],    
    '阿尔巴尼亚': [19.49, 41.18],    
    '阿尔及利亚': [3.08, 36.42],    
    '美属萨摩亚': [-170.43, -14.16],    
    '安道尔': [1.32, 42.31],    
    '安哥拉': [13.15, -8.5],    
    '安提瓜和巴布达': [-61.48, 17.2],    
    '阿根廷': [-60, -36.3],    
    '亚美尼亚': [44.31, 40.1],    
    '阿鲁巴': [-70.02, 12.32],    
    '澳大利亚': [149.08, -35.15],    
    '奥地利': [16.22, 48.12],    
    '阿塞拜疆': [49.56, 40.29],    
    '巴哈马': [-77.2, 25.05],    
    '巴林': [50.3, 26.1],    
    '孟加拉国': [90.26, 23.43],    
    '孟加拉': [90.26, 23.43],    
    '巴巴多斯': [-59.3, 13.05],    
    '白俄罗斯': [27.3, 53.52],    
    '比利时': [4.21, 50.51],    
    '伯利兹': [-88.3, 17.18],    
    '贝宁': [2.42, 6.23],    
    '不丹': [89.45, 27.31],    
    '玻利维亚': [-68.1, -16.2],    
    '波斯尼亚和黑塞哥维那': [18.26, 43.52],    
    '博茨瓦纳': [25.57, -24.45],    
    '巴西': [-47.55, -15.47],    
    '英属维尔京群岛': [-64.37, 18.27],    
    '文莱': [115, 4.52],    
    '保加利亚': [23.2, 42.45],    
    '布基纳法索': [-1.3, 12.15],    
    '布隆迪': [29.18, -3.16],    
    '柬埔寨': [104.55, 11.33],    
    '喀麦隆': [11.35, 3.5],    
    '加拿大': [-75.42, 45.27],    
    '佛得角': [-23.34, 15.02],    
    '开曼群岛': [-81.24, 19.2],    
    '中非共和国': [18.35, 4.23],    
    '乍得': [14.59, 12.1],    
    '智利': [-70.4, -33.24],    
    '中国': [116.2, 39.55],    
    '日本': [139.691711, 35.689499],    
    '哥伦比亚': [-74, 4.34],    
    '科摩罗': [43.16, -11.4],    
    '刚果': [15.12, -4.09],    
    '刚果民主共和国': [15.12, -4.09],    
    '哥斯达黎加': [-84.02, 9.55],    
    '科特迪瓦': [-5.17, 6.49],    
    '克罗地亚': [15.58, 45.5],    
    '古巴': [-82.22, 23.08],    
    '塞浦路斯': [33.25, 35.1],    
    '捷克共和国': [14.22, 50.05],    
    '朝鲜': [125.3, 39.09],    
    '刚果(扎伊尔)': [15.15, -4.2],   
    '丹麦': [12.34, 55.41],    
    '吉布提': [42.2, 11.08],    
    '多米尼加': [-61.24, 15.2],    
    '多米尼加共和国': [-69.59, 18.3],    
    '东帝汶': [125.34, -8.29],    
    '厄瓜多尔': [-78.35, -0.15],    
    '埃及': [31.14, 30.01],    
    '萨尔瓦多': [-89.1, 13.4],    
    '赤道几内亚': [8.5, 3.45],    
    '厄立特里亚': [38.55, 15.19],    
    '爱沙尼亚': [24.48, 59.22],   
    '埃塞俄比亚': [38.42, 9.02],    
    '福克兰群岛(马尔维纳斯群岛)': [-59.51, -51.4],    
    '法罗群岛': [-6.56, 62.05],    
    '斐济': [178.3, -18.06],    
    '芬兰': [25.03, 60.15],    
    '法国': [2.2, 48.5],    
    '法属圭亚那': [-52.18, 5.05],    
    '法属波利尼西亚': [-149.34, -17.32],    
    '加蓬': [9.26, 0.25],    
    '冈比亚': [-16.4, 13.28],    
    '格鲁吉亚': [44.5, 41.43],    
    '德国': [13.25, 52.3],    
    '加纳': [-0.06, 5.35],    
    '希腊': [23.46, 37.58],    
    '格陵兰': [-51.35, 64.1],    
    '瓜德罗普岛': [-61.44, 16],    
    '危地马拉': [-90.22, 14.4],    
    '根西岛': [-2.33, 49.26],    
    '几内亚': [-13.49, 9.29],    
    '几内亚比绍': [-15.45, 11.45],    
    '圭亚那': [-58.12, 6.5],    
    '海地': [-72.2, 18.4],    
    '赫德岛和麦当劳群岛': [74, -53],    
    '洪都拉斯': [-87.14, 14.05],    
    '匈牙利': [19.05, 47.29],    
    '冰岛': [-21.57, 64.1],    
    '印度': [77.13, 28.37],    
    '印度尼西亚': [106.49, -6.09],    
    '伊朗': [51.3, 35.44],    
    '伊拉克': [44.3, 33.2],    
    '爱尔兰': [-6.15, 53.21],    
    '以色列': [35.12, 31.47],    
    '意大利': [12.29, 41.54],    
    '牙买加': [-76.5, 18],    
    '约旦': [35.52, 31.57],    
    '哈萨克斯坦': [71.3, 51.1],    
    '肯尼亚': [36.48, -1.17],    
    '基里巴斯': [173, 1.3],    
    '科威特': [48, 29.3],    
    '吉尔吉斯斯坦': [74.46, 42.54],    
    '老挝': [102.36, 17.58],    
    '拉脱维亚': [24.08, 56.53],    
    '黎巴嫩': [35.31, 33.53],    
    '莱索托': [27.3, -29.18],    
    '利比里亚': [-10.47, 6.18],    
    '利比亚': [13.07, 32.49],    
    '阿拉伯利比亚民众国': [13.07, 32.49],    
    '列支敦士登': [9.31, 47.08],    
    '立陶宛': [25.19, 54.38],    
    '卢森堡': [6.09, 49.37],    
    '马达加斯加': [47.31, -18.55],    
    '马拉维': [33.48, -14],    
    '马来西亚': [101.41, 3.09],    
    '马尔代夫': [73.28, 4],    
    '马里': [-7.55, 12.34],    
    '马耳他': [14.31, 35.54],    
    '马提尼克岛': [-61.02, 14.36],    
    '毛里塔尼亚': [57.3, -20.1],    
    '马约特岛': [45.14, -12.48],    
    '墨西哥': [-99.1, 19.2],    
    '密克罗尼西亚(联邦) ': [158.09, 6.55],    
    '摩尔多瓦共和国': [28.5, 47.02],    
    '莫桑比克': [32.32, -25.58],    
    '缅甸': [96.2, 16.45],    
    '纳米比亚': [17.04, -22.35],    
    '尼泊尔': [85.2, 27.45],    
    '荷兰': [4.54, 52.23],    
    '荷属安的列斯': [-69, 12.05],    
    '新喀里多尼亚': [166.3, -22.17],    
    '新西兰': [174.46, -41.19],    
    '尼加拉瓜': [-86.2, 12.06],    
    '尼日尔': [2.06, 13.27],    
    '尼日利亚': [7.32, 9.05],    
    '诺福克岛': [168.43, -45.2],    
    '北马里亚纳群岛': [145.45, 15.12],    
    '挪威': [10.45, 59.55],    
    '阿曼': [58.36, 23.37],    
    '巴基斯坦': [73.1, 33.4],    
    '帕劳': [134.28, 7.2],    
    '巴拿马': [-79.25, 9],    
    '巴布亚新几内亚': [147.08, -9.24],    
    '巴拉圭': [-57.3, -25.1],    
    '秘鲁': [-77, -12],    
    '菲律宾': [121.03, 14.4],    
    '菲律宾共和国': [121.03, 14.4],    
    '波兰': [21, 52.13],    
    '葡萄牙': [-9.1, 38.42],    
    '波多黎各': [-66.07, 18.28],    
    '卡塔尔': [51.35, 25.15],    
    '韩国': [126.58, 37.31],    
    '罗马尼亚': [26.1, 44.27],    
    '俄罗斯': [37.35, 55.45],    
    '俄罗斯联邦': [37.35, 55.45],    
    '卢旺达': [30.04, -1.59],    
    '圣基茨和尼维斯': [-62.43, 17.17],    
    '圣卢西亚': [-60.58, 14.02],    
    '圣皮埃尔和密克隆': [-56.12, 46.46],    
    '圣文森特和格林纳丁斯': [-61.1, 13.1],    
    '萨摩亚': [-171.5, -13.5],    
    '圣马力诺': [12.3, 43.55],    
    '圣多美和普林西比': [6.39, 0.1],    
    '沙特阿拉伯': [46.42, 24.41],    
    '阿拉伯联合酋长国': [54.366669, 24.466669],    
    '塞内加尔': [-17.29, 14.34],    
    '塞拉利昂': [-13.17, 8.3],    
    '斯洛伐克': [17.07, 48.1],    
    '斯洛文尼亚': [14.33, 46.04],    
    '所罗门群岛': [159.57, -9.27],    
    '索马里': [45.25, 2.02],    
    '比勒陀利亚': [28.12, -25.44],    
    '西班牙': [-3.45, 40.25],    
    '苏丹': [32.35, 15.31],    
    '苏里南': [-55.1, 5.5],    
    '斯威士兰': [31.06, -26.18],    
    '瑞典': [18.03, 59.2],    
    '瑞士': [7.28, 46.57],    
    '阿拉伯叙利亚共和国': [36.18, 33.3],    
    '塔吉克斯坦': [68.48, 38.33],    
    '泰国': [100.35, 13.45],    
    '马其顿': [21.26, 42.01],    
    '多哥': [1.2, 6.09],    
    '汤加': [-174, -21.1],    
    '突尼斯': [10.11, 36.5],    
    '土耳其': [32.54, 39.57],    
    '土库曼斯坦': [57.5, 38],    
    '图瓦卢': [179.13, -8.31],    
    '乌干达': [32.3, 0.2],    
    '乌克兰': [30.28, 50.3],    
    '阿联酋': [54.22, 24.28],    
    '英国': [-0.05, 51.36],    
    '坦桑尼亚': [35.45, -6.08],    
    '美国': [-77.02, 39.91],    
    '美属维尔京群岛': [-64.56, 18.21],    
    '乌拉圭': [-56.11, -34.5],    
    '乌兹别克斯坦': [69.1, 41.2],    
    '瓦努阿图': [168.18, -17.45],    
    '委内瑞拉': [-66.55, 10.3],    
    '越南': [105.55, 21.05],    
    '南斯拉夫': [20.37, 44.5],    
    '赞比亚': [28.16, -15.28],    
    '津巴布韦': [31.02, -17.43],    
    '新加坡': [103.850067, 1.28967],    
    '斯里兰卡': [79.847778, 6.93194],    
    '南非': [18.6, -34],    
    '特立尼达和多巴哥': [-60.6981989, 11.2317706],    
    'Hello World': [100, 30]
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 趣Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python苦短-世界疫情地图
爬取世界疫情地图 概述 从腾讯疫情地图上爬取世界疫情患病情况,并绘制统计地图 代码来自B站python学习者 代码 # 导入需要的数据库 import json # 处理json格式 import j
火星娃统计
2020/09/15
1.2K0
python苦短-世界疫情地图
Python爬取全球疫情数据,制作数据可视化图
前言 开发环境 python 3.8: 解释器 pycharm: 代码编辑器 requests 发送请求 pyecharts 绘制图表 pandas 读取数据 思路流程: 一. 数据来源分析: 确定需求, 采集那个网站上面什么数据 抓包分析, 通过开发者工具进行抓包分析 <浏览器自带工具>开发者工具 F12 刷新网页 清空数据, 点击选择 找相关数据包 --> 请求url 请求方式 得到数据是什么样 二. 代码实现步骤过程: 发送请求, 对于刚刚分析得到url地址发送请求 获取数据, 获取服务器返回响应
松鼠爱吃饼干
2022/12/05
8900
Python爬取全球疫情数据,制作数据可视化图
js数据如何分组排序?
前面通过两章,细致的讲解了数组的方法,而且提供了简单的例子,相信大家都有初步的了解了,而且也相信大家都有所得,今天来实战,数据如何分组呢?要应用数组的那些知识呢? 如果还没有学习前面两章的,请点击: 你对JavaScript的Array对象了解有多少? ES6中Array数组你应该知道的操作
Javanx
2019/09/04
3K0
echarts制作疫情地图
ECharts地图详解:https://blog.csdn.net/xieweikun7/article/details/52766676
陨石坠灭
2020/05/22
4.6K0
开发的小伙伴注意了!OpenAI风控升级已经有人账号被风控
其实在之前的文章中,我们也有提到 OpenAI服务仅提供部分国家使用。目前国内使用该服务必须借助代理。
网名重要么
2023/03/10
6K3
开发的小伙伴注意了!OpenAI风控升级已经有人账号被风控
echarts 实现世界地图地域流向炫酷效果
效果展示 [word-map.gif] 实现世界地图地域流向炫酷效果主要步骤: 1.引入echart.js 和 world.js <script src="echarts.min.js"></script> <script src="world.js"></script> 2.存放地图的容器 <div id="echartsMap"></div> 3.地图生成相关逻辑 let chart = echarts.init(document.getElementById('echartsMap')); // 小
微芒不朽
2022/04/28
3.2K0
pyecharts从入门到精通-地图专题Map-世界地图和中国城市地图
官方文档:https://pyecharts.org/#/zh-cn/quickstart Python使用Pyecharts画Geo地图,如何显示具体地点名称 pyecharts世界地图用:国家中英文对照表.xlsx Map中的地理坐标问题
用户2225445
2023/10/16
9510
pyecharts从入门到精通-地图专题Map-世界地图和中国城市地图
python最全画地图,可视化数据
有时我们会很希望把数据展示在地图上,来做数据可视化,使数据更加清晰明了,可谓一图胜百文。先说说我用地图做什么了:微信好友全国分布,显示票房省份数据,全国评分显示等等,我这个语言能力很是头疼啊,进入正题吧[地图会闪动,bulingbuling的那种]
Python疯子
2018/08/27
5.7K0
python最全画地图,可视化数据,pyecharts画图<一>
有时我们会很希望把数据展示在地图上,来做数据可视化,使数据更加清晰明了,可谓一图胜百文。先说说我用地图做什么了:微信好友全国分布,显示票房省份数据,全国评分显示等等,我这个语言能力很是头疼啊,进入正题吧!
Python疯子
2018/09/06
7.9K0
python最全画地图,可视化数据,pyecharts画图<一>
区域设置 ID (LCID) 表
区域性名称和标识符区域性名称遵循 RFC 1766 标准,格式为“-”,其中 是从 ISO 639-1 派生的由两个小写字母构成的代码, 是从 ISO 3166 派生的由两个大写字母构成的代码。例如,美国英语为“en-US”。在双字母语言代码不可用的情况中,将使用从 ISO 639-2 派生的三字母代码;例如,三字母代码“div”用于使用 Dhivehi 语言的区域。某些区域性名称带有指定书写符号的后缀;例如“-Cyrl”指定西里尔语书写符号,“-Latn”指定拉丁语书写符号。 区域设置描述 简写
张善友
2018/01/19
2.1K0
[710]python使用pyecharts绘制地图
pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。
周小董
2020/01/13
3.7K0
[710]python使用pyecharts绘制地图
就是这么简单,Pyecharts绘制可视化地图!
Pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。
小F
2021/04/26
2.7K0
就是这么简单,Pyecharts绘制可视化地图!
Pyecharts丨极其强大的Python数据可视化模块
昨天发了一篇关于【Matplotlib】的数据可视化文章,有一位小伙伴说可以直接使用Pyecharts,然后我就看了,发现确实,很强大,效果图也是非常的好看
IT派
2018/08/10
1.9K0
Pyecharts丨极其强大的Python数据可视化模块
pyecharts数据可视化
pyecharts 同时兼容 Python2 和 Python3 的 Jupyter Notebook 环境。所有图表均可正常显示,与浏览器一致的交互体验,简直不要太强大。
李玺
2021/11/22
1.6K0
pyecharts数据可视化
python pyecharts地理数据可视化 绘制地理图表
Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
叶庭云
2020/09/17
10.4K1
『数据可视化』基于Python的数据可视化工具「建议收藏」
pyecharts 兼容 Python2 和 Python3。目前版本为 0.1.4
全栈程序员站长
2022/06/28
6220
『数据可视化』基于Python的数据可视化工具「建议收藏」
数据可视化第二版-03部分-10章-地理特征
本系列博客为基于《数据可视化第二版》一书的教学资源博客。本文主要是第10章,地理特征可视化的案例相关。
用户2225445
2023/10/16
3050
数据可视化第二版-03部分-10章-地理特征
软件测试/人工智能|Python数据可视化神器pyecharts教程(一)
在很多时候,枯燥的数字并不能很直观的展示地域的差别,比如一个企业,想要分析产品在国内的销售情况,报表可能并不能最直接的展示差异,而一个结合地图的展示,就会直观得多,更便于大家去看到差距,更利于决策。
霍格沃兹测试开发Muller老师
2023/12/11
2510
30分钟学会pyecharts数据可视化
小明:Echarts 是一个由百度开源的数据可视化javascript库,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts诞生了。简单地说,pyecharts就是百度开源的一个强大的javascript数据可视化库Echarts的python接口。
lyhue1991
2020/07/20
2.4K0
mysql 数据_MySQL和SQL
附带国内精确到市,国外的精确到省吧。 下载这里的:https://download.csdn.net/download/luolincsdn/10675557 有的下载都没用,想一想还是放出来比较好。 这是数据表:
全栈程序员站长
2022/11/11
11.5K0
相关推荐
python苦短-世界疫情地图
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验