好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Python實現疫情地圖可視化

Python實現疫情地圖可視化

熱門標簽:滴滴地圖標注公司 400電話在線如何申請 甘肅高頻外呼系統 地圖標注可以遠程操作嗎 杭州房產地圖標注 江門智能電話機器人 天津塘沽區地圖標注 如何申請400電話代理 智能電話機器人調研

一、 json模塊

       JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易于閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。

  • json.loads():將json格式的str轉化成python的數據格式;
  • json.loads():將python的數據格式(字典或列表)轉化成json格式;
# 如何將json數據解析成我們所熟悉的Python數據類型?
import json
# 將json格式的str轉化成python的數據格式:字典
dic = json.loads('{"name":"Tom","age":23}')
res = json.loads('["name","age","gender"]')
print(f'利用loads將json字符串轉化成Python數據類型{dic}',type(dic))
print(f'利用loads將json字符串轉化成Python數據類型{res}',type(res))

dics = {"name":"Tom","age":23}
result = json.dumps(dics)
print(type(result))
result

二、通過Python實現疫情地圖可視化

需求:爬取疫情的數據、如何處理json數據以及根據疫情數據如何利用pyecharts繪制疫情地圖。

1.數據的獲取(基于request模塊)

import requests
import json
# 國內疫情數據
China_url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
headers = {
 # 瀏覽器偽裝
 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36',
 'referer': 'https://news.qq.com/',
}
# 發起get請求,獲取響應數據
response = requests.get(China_url,headers=headers).json()
data = json.loads(response['data'])
# 保存數據
with open('./2021-02-03國內疫情.json','w',encoding='utf-8') as f:
 # 不采用ASCII編碼
 f.write(json.dumps(data,ensure_ascii=False,indent=2))

爬取的數據保存格式為json,開頭的部分數據如下:

2.將json格式的數據保存到Excel

        無論是json數據存儲的,還是Python的基本數據類型存儲的,對于數據分析都不是很友好,所以我們可以將其數據存儲類型轉化為pandas的DataFrame類型,因為DataFrame和Excel可以更好的相互轉換。

生成的數據模式如下:

將以上的數據進行處理,獲得Excel表一樣規范的數據格式。

import pandas as pd
chinaTotalData = pd.DataFrame(china_citylist)

# 將整體數據chinaTotalData中的today和total數據添加到DataFrame中
# 處理total字典里面的各個數據項
# ======================================================================
confirmlist = []
suspectlist = []
deadlist = []
heallist = []
deadRatelist = []
healRatelist = []
# print(chinaTotalData['total'].values.tolist()[0])
for value in chinaTotalData['total'].values.tolist():
 confirmlist.append(value['confirm'])
 suspectlist.append(value['suspect'])
 deadlist.append(value['dead'])
 heallist.append(value['heal'])
 deadRatelist.append(value['deadRate'])
 healRatelist.append(value['healRate'])

chinaTotalData['confirm'] = confirmlist
chinaTotalData['suspect'] = suspectlist
chinaTotalData['dead'] = deadlist
chinaTotalData['heal'] = heallist
chinaTotalData['deadRate'] = deadRatelist
chinaTotalData['healRate'] = healRatelist
# ===================================================================
# 創建全國today數據
today_confirmlist = []
today_confirmCutslist = []
for value in chinaTotalData['today'].values.tolist():
 today_confirmlist.append(value['confirm'])
 today_confirmCutslist.append(value['confirmCuts'])

chinaTotalData['today_confirm'] = today_confirmlist
chinaTotalData['today_confirmCuts'] = today_confirmCutslist
# ==================================================================
# 刪除total、today兩列
chinaTotalData.drop(['total','today'],axis=1,inplace=True)
chinaTotalData.head()
# 將其保存到Excel中
chinaTotalData.to_excel('2021-02-03國內疫情.xlsx',index=False)

處理好的數據結構如下表:

3.應用pyecharts進行數據可視化

        pyecharts是一款將python與echarts結合的強大的數據可視化工具。繪制出來的圖比Python的Matplotlib簡單美觀。使用之前需要在Python環境中按照pycharts。在終端中輸入命令:pip install pyecharts

利用pyecharts繪制疫情地圖
        根據上面的疫情數據,我們可以利用其畫出全國的疫情地圖
在繪制前,我們需要安裝echarts的地圖包(可根據不同的地圖需求進行安裝)

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-misc-pypkg
pip install echarts-china-countries-pypkg
pip install echarts-united-kingdom-pypkg
# 導入對應的繪圖工具包
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Map

df = pd.read_excel('./2021-02-03國內疫情.xlsx')
# 1.根據繪制國內總疫情圖(確診)
data = df.groupby(by='province',as_index=False).sum()
data_list = list(zip(data['province'].values.tolist(),data['confirm'].values.tolist()))
# 數據格式[(黑龍江,200),(吉林,300),...]

def map_china() -> Map:
 c = (
  Map()
  .add(series_name="確診病例",data_pair=data_list,maptype='china')
  .set_global_opts(
   title_opts = opts.TitleOpts(title='疫情地圖'),
   visualmap_opts=opts.VisualMapOpts(is_piecewise=True,
     pieces = [{"max":9, "min":0, "label":"0-9","color":"#FFE4E1"},
       {"max":99, "min":10, "label":"10-99","color":"#FF7F50"},
       {"max":499, "min":100, "label":"100-4999","color":"#F08080"},
       {"max":999, "min":500, "label":"500-999","color":"#CD5C5C"},
       {"max":9999, "min":1000, "label":"1000-9999","color":"#990000"},
       {"max":99999, "min":10000, "label":"10000-99999","color":"#660000"},]
   )
  )
 )
 return c

d_map = map_china()
d_map.render("mapEchrts.html")

最終的運行效果如下:

注:以上的運行環境是Python3.7版本,IDE是基于瀏覽器端的Jupter Notebook。

以上就是Python實現疫情地圖可視化的詳細內容,更多關于python 疫情地圖可視化的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python用pyecharts實現地圖數據可視化
  • python-地圖可視化組件folium的操作
  • python使用pyecharts庫畫地圖數據可視化的實現
  • python用folium繪制地圖并設置彈窗
  • Python 使用folium繪制leaflet地圖的實現方法
  • python使用folium庫繪制地圖點擊框
  • Python地理地圖可視化folium標記點彈窗設置代碼(推薦)

標簽:漢中 重慶 東莞 長春 臨汾 德宏 廊坊 河池

巨人網絡通訊聲明:本文標題《Python實現疫情地圖可視化》,本文關鍵詞  Python,實現,疫情,地圖,可視化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python實現疫情地圖可視化》相關的同類信息!
  • 本頁收集關于Python實現疫情地圖可視化的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产精品激情Av久久久青桔| 国精视频一区二区视频| 欧美v亚洲V综合V国产V香蕉网| 欧美1区二区三区公司| 成人羞羞视频??免费湖北| 2020天天狠天天透天干天天怕| 羞羞视频在线观看免费观看 | 国产婬片一级A片AAA毛片AⅤ| 再深点灬舒服了灬太大了视频| 日本三级网站在线观看| 亚洲精品久久久久久久久av| 高h打屁股撅着| 女生张开腿让男人捅| 国产偷人妻精品一区| 美女污视频在线观看| 人人插人人爽| 日本人妻精品动漫H无码樱花动漫| 女友养成类游戏手游| 猛男大g又粗又长男同| 99久久久国产精品免费最新章节| 出轨nph| 致命的诱惑| 伦理2男一女3p| 婬奴生活H调教公开调教春药视频| 亚洲精品成A人在线观看| 传媒广告网站入口| 91试看| 快穿系统诱受每天被c推文| 上门服务24小时接单| 欲望岛在线观看| 国产全部视频在线播放| 国产精品无码人妻一区二区在线 | 一级做a爰片久久毛片无码免费| 他扒开我的裙底把舌头伸进去| 小骚包娇喘抽搐喷潮h动态| 摸了女朋友下面,她要和我分手| 欧美喷潮系列在线观看| 菠萝蜜视频女人体1963| 韩国三级HD中文字幕2019年| 免费无遮挡??漫画网站下载樱桃| 水滴视频破解完整版|