700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python分析并绘制可视化动态地图 实时查询全球疫情数据(11月最新...)

Python分析并绘制可视化动态地图 实时查询全球疫情数据(11月最新...)

时间:2018-06-22 06:10:52

相关推荐

Python分析并绘制可视化动态地图 实时查询全球疫情数据(11月最新...)

前言

大家早好、午好、晚好吖~

最近,又爆出了许多例,身在长沙得我前段时间不是在做核酸就是在做核酸得路上

虽然现在还是隔一天一捅(小声哔哔:我真的遭不住)希望疫情早日过去

疫情尚未结束,我们需要做好自己,时刻防范,不给别人添麻烦。

今天我们来尝试用Python抓取世界疫情,实现可视化地图展示。

采集数据

1、数据来源

数据来源于TX新闻,链接展示不了,就只贴图了。

2、模块

import requests import csv

requests发送请求模块, 是第三方模块,需要手动安装。

win + r输入cmd按回车打开命令提示符窗口,使用pip安装

csv是内置模块,无需安装。

pip install requests

3、代码展示

获取网页url ,我这里网址屏蔽了,不然不给过。

url = 'https://****com/newsqa/v1/automation/modules/list?modules=FAutoCountryConfirmAdd,WomWorld,WomAboard'

发送请求

response = requests.post(url)

获取数据

json_data = response.json()

解析数据

WomAboard = json_data['data']['WomAboard']for i in range(0, len(WomAboard)):name = WomAboard[i]['name']confirm = WomAboard[i]['confirm']confirmAdd = WomAboard[i]['confirmAdd']heal = WomAboard[i]['heal']dead = WomAboard[i]['dead']print(name, confirm, confirmAdd, heal, dead)

保存数据

f = open('疫情数据.csv', mode='a', encoding='utf-8', newline='')csv_writer = csv.writer(f)csv_writer.writerow([name, confirm, confirmAdd, heal, dead])

4、效果展示

完整代码及国内疫情数据抓取代码、视频讲解直接点击下方自取即可。

点击 蓝色字体 自取,我都放在这里了。

数据可视化

1、效果展示

接下来看看生成好的可视化世界疫情地图

由于地图是动态的,我就直接截图了,大家可以自己实践一下制作地图详细看。

2、代码展示

模块

import pandas as pd # 做表格操作的模块from pyecharts.charts import Map # 绘图的模块from pyecharts import options as opts

导入数据

df = pd.read_csv('疫情数据.csv')name = df['name'].tolist()confirm = df['confirm'].tolist()print(name)print(confirm)c = (Map(init_opts=opts.InitOpts(width='1400px', height='600px')).add("累计确诊", [list(z) for z in zip(name, confirm)], "world", name_map=name_map, is_map_symbol_show=False).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title="Map-世界地图"),visualmap_opts=opts.VisualMapOpts(max_=1000000, is_piecewise=True, pieces=pieces),).render("map_world.html"))

国家地区

name_map = {'Singapore Rep.': '新加坡','Dominican Rep.': '多米尼加','Palestine': '巴勒斯坦','Bahamas': '巴哈马','Timor-Leste': '东帝汶','Afghanistan': '阿富汗','Guinea-Bissau': '几内亚比绍',"Côte d'Ivoire": '科特迪瓦','Siachen Glacier': '锡亚琴冰川',"Br. Indian Ocean Ter.": '英属印度洋领土','Angola': '安哥拉','Albania': '阿尔巴尼亚','United Arab Emirates': '阿联酋','Argentina': '阿根廷','Armenia': '亚美尼亚','French Southern and Antarctic Lands': '法属南半球和南极领地','Australia': '澳大利亚','Austria': '奥地利','Azerbaijan': '阿塞拜疆','Burundi': '布隆迪','Belgium': '比利时','Benin': '贝宁','Burkina Faso': '布基纳法索','Bangladesh': '孟加拉国','Bulgaria': '保加利亚','The Bahamas': '巴哈马','Bosnia and Herz.': '波斯尼亚和黑塞哥维那','Belarus': '白俄罗斯','Belize': '伯利兹','Bermuda': '百慕大','Bolivia': '玻利维亚','Brazil': '巴西','Brunei': '文莱','Bhutan': '不丹','Botswana': '博茨瓦纳','Central African Rep.': '中非共和国','Canada': '加拿大','Switzerland': '瑞士','Chile': '智利','China': '中国','Ivory Coast': '象牙海岸','Cameroon': '喀麦隆','Dem. Rep. Congo': '刚果(金)','Congo': '刚果(布)','Colombia': '哥伦比亚','Costa Rica': '哥斯达黎加','Cuba': '古巴','N. Cyprus': '北塞浦路斯','Cyprus': '塞浦路斯','Czech Rep.': '捷克','Germany': '德国','Djibouti': '吉布提','Denmark': '丹麦','Algeria': '阿尔及利亚','Ecuador': '厄瓜多尔','Egypt': '埃及','Eritrea': '厄立特里亚','Spain': '西班牙','Estonia': '爱沙尼亚','Ethiopia': '埃塞俄比亚','Finland': '芬兰','Fiji': '斐','Falkland Islands': '福克兰群岛','France': '法国','Gabon': '加蓬','United Kingdom': '英国','Georgia': '格鲁吉亚','Ghana': '加纳','Guinea': '几内亚','Gambia': '冈比亚','Guinea Bissau': '几内亚比绍','Eq. Guinea': '赤道几内亚','Greece': '希腊','Greenland': '格陵兰','Guatemala': '危地马拉','French Guiana': '法属圭亚那','Guyana': '圭亚那','Honduras': '洪都拉斯','Croatia': '克罗地亚','Haiti': '海地','Hungary': '匈牙利','Indonesia': '印度尼西亚','India': '印度','Ireland': '爱尔兰','Iran': '伊朗','Iraq': '伊拉克','Iceland': '冰岛','Israel': '以色列','Italy': '意大利','Jamaica': '牙买加','Jordan': '约旦','Japan': '日本','Kazakhstan': '哈萨克斯坦','Kenya': '肯尼亚','Kyrgyzstan': '吉尔吉斯斯坦','Cambodia': '柬埔寨','Korea': '韩国','Kosovo': '科索沃','Kuwait': '科威特','Lao PDR': '老挝','Lebanon': '黎巴嫩','Liberia': '利比里亚','Libya': '利比亚','Sri Lanka': '斯里兰卡','Lesotho': '莱索托','Lithuania': '立陶宛','Luxembourg': '卢森堡','Latvia': '拉脱维亚','Morocco': '摩洛哥','Moldova': '摩尔多瓦','Madagascar': '马达加斯加','Mexico': '墨西哥','Macedonia': '马其顿','Mali': '马里','Myanmar': '缅甸','Montenegro': '黑山','Mongolia': '蒙古','Mozambique': '莫桑比克','Mauritania': '毛里塔尼亚','Malawi': '马拉维','Malaysia': '马来西亚','Namibia': '纳米比亚','New Caledonia': '新喀里多尼亚','Niger': '尼日尔','Nigeria': '尼日利亚','Nicaragua': '尼加拉瓜','Netherlands': '荷兰','Norway': '挪威','Nepal': '尼泊尔','New Zealand': '新西兰','Oman': '阿曼','Pakistan': '巴基斯坦','Panama': '巴拿马','Peru': '秘鲁','Philippines': '菲律宾','Papua New Guinea': '巴布亚新几内亚','Poland': '波兰','Puerto Rico': '波多黎各','Dem. Rep. Korea': '朝鲜','Portugal': '葡萄牙','Paraguay': '巴拉圭','Qatar': '卡塔尔','Romania': '罗马尼亚','Russia': '俄罗斯','Rwanda': '卢旺达','W. Sahara': '西撒哈拉','Saudi Arabia': '沙特阿拉伯','Sudan': '苏丹','S. Sudan': '南苏丹','Senegal': '塞内加尔','Solomon Is.': '所罗门群岛','Sierra Leone': '塞拉利昂','El Salvador': '萨尔瓦多','Somaliland': '索马里兰','Somalia': '索马里','Serbia': '塞尔维亚','Suriname': '苏里南','Slovakia': '斯洛伐克','Slovenia': '斯洛文尼亚','Sweden': '瑞典','Swaziland': '斯威士兰','Syria': '叙利亚','Chad': '乍得','Togo': '多哥','Thailand': '泰国','Tajikistan': '塔吉克斯坦','Turkmenistan': '土库曼斯坦','East Timor': '东帝汶','Trinidad and Tobago': '特里尼达和多巴哥','Tunisia': '突尼斯','Turkey': '土耳其','Tanzania': '坦桑尼亚','Uganda': '乌干达','Ukraine': '乌克兰','Uruguay': '乌拉圭','United States': '美国','Uzbekistan': '乌兹别克斯坦','Venezuela': '委内瑞拉','Vietnam': '越南','Vanuatu': '瓦努阿图','West Bank': '西岸','Yemen': '也门','South Africa': '南非','Zambia': '赞比亚','Zimbabwe': '津巴布韦','Comoros': '科摩罗'}pieces = [{"min": 1000000},{"min": 100000, "max": 999999},{"min": 10000, "max": 99999},{"min": 1000, "max": 9999},{"min": 100, "max": 999},{"min": 0, "max": 99},]

尾语 💝

好了,今天的分享就差不多到这里了!

完整代码及国内疫情数据抓取代码、视频讲解直接点击下方自取即可。

点击 蓝色字体 自取,我都放在这里了。

宁外给大家推荐一个好的教程:

【48小时搞定全套教程!你和大佬只有一步之遥【python教程】

有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。