最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)疫情地圖可視化

 更新時間:2021年02月05日 10:57:58   作者:TrainingL  
這篇文章主要介紹了Python如何實現(xiàn)疫情地圖可視化,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

一、 json模塊

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

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

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

二、通過Python實現(xiàn)疫情地圖可視化

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

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

import requests
import json
# 國內疫情數(shù)據(jù)
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/',
}
# 發(fā)起get請求,獲取響應數(shù)據(jù)
response = requests.get(China_url,headers=headers).json()
data = json.loads(response['data'])
# 保存數(shù)據(jù)
with open('./2021-02-03國內疫情.json','w',encoding='utf-8') as f:
 # 不采用ASCII編碼
 f.write(json.dumps(data,ensure_ascii=False,indent=2))

爬取的數(shù)據(jù)保存格式為json,開頭的部分數(shù)據(jù)如下:

2.將json格式的數(shù)據(jù)保存到Excel

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

生成的數(shù)據(jù)模式如下:

將以上的數(shù)據(jù)進行處理,獲得Excel表一樣規(guī)范的數(shù)據(jù)格式。

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

# 將整體數(shù)據(jù)chinaTotalData中的today和total數(shù)據(jù)添加到DataFrame中
# 處理total字典里面的各個數(shù)據(jù)項
# ======================================================================
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
# ===================================================================
# 創(chuàng)建全國today數(shù)據(jù)
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)

處理好的數(shù)據(jù)結構如下表:

3.應用pyecharts進行數(shù)據(jù)可視化

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

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

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.根據(jù)繪制國內總疫情圖(確診)
data = df.groupby(by='province',as_index=False).sum()
data_list = list(zip(data['province'].values.tolist(),data['confirm'].values.tolist()))
# 數(shù)據(jù)格式[(黑龍江,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")

最終的運行效果如下:

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

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

相關文章

  • python3將變量輸入的簡單實例

    python3將變量輸入的簡單實例

    在本篇文章里小編給大家整理的是一篇關于python3將變量輸入的簡單實例內容,有需要的朋友們可以參考下。
    2020-08-08
  • jupyter實現(xiàn)重新加載模塊

    jupyter實現(xiàn)重新加載模塊

    這篇文章主要介紹了jupyter實現(xiàn)重新加載模塊,具有很好的價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python的 元組(Tuple)詳解

    Python的 元組(Tuple)詳解

    Python的元組與列表類似,不同之處在于元組的元素不能修改,元組使用小括號,列表使用方括號,元組創(chuàng)建很簡單,只需要在括號中添加元素,并使用逗號隔開即可
    2021-10-10
  • 在CentOS7下安裝Python3教程解析

    在CentOS7下安裝Python3教程解析

    這篇文章主要介紹了在CentOS7下安裝Python3教程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Python 二進制字節(jié)流數(shù)據(jù)的讀取操作(bytes與bitstring)

    Python 二進制字節(jié)流數(shù)據(jù)的讀取操作(bytes與bitstring)

    本文主要介紹了Python 二進制字節(jié)流數(shù)據(jù)的讀取操作(bytes與bitstring),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • python之broadcast和numpy.sum()函數(shù)用法及說明

    python之broadcast和numpy.sum()函數(shù)用法及說明

    這篇文章主要介紹了python之broadcast和numpy.sum()函數(shù)用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Django結合ajax進行頁面實時更新的例子

    Django結合ajax進行頁面實時更新的例子

    今天小編就為大家分享一篇Django結合ajax進行頁面實時更新的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 利用python求相鄰數(shù)的方法示例

    利用python求相鄰數(shù)的方法示例

    相鄰數(shù)是數(shù)學名詞,意思是在從小到大依次排列的自然數(shù)中,一個數(shù)前面和后面相互鄰近的兩個數(shù)就是該數(shù)的相鄰數(shù)。下面這篇文章主要給大家介紹了利用python求相鄰數(shù)的方法示例,需要的朋友可以參考下。
    2017-08-08
  • WINDOWS 同時安裝 python2 python3 后 pip 錯誤的解決方法

    WINDOWS 同時安裝 python2 python3 后 pip 錯誤的解決方法

    這篇文章主要給大家分享的是在WINDOWS下同時安裝 python2 python3 后 pip 錯誤的解決方法,非常的實用,有需要的小伙伴可以參考下
    2017-03-03
  • python變量類型、輸入、輸出運算符介紹舉例

    python變量類型、輸入、輸出運算符介紹舉例

    Python是一種功能強大的編程語言,支持多種數(shù)據(jù)類型和運算符,它強調代碼的可讀性和簡潔性,變量在Python中是動態(tài)類型的,不需要顯式聲明類型,這篇文章主要介紹了python變量類型、輸入、輸出運算符的相關資料,需要的朋友可以參考下
    2024-11-11

最新評論

莱芜市| 瑞安市| 壶关县| 胶南市| 石狮市| 渝中区| 玉门市| 新干县| 澎湖县| 满城县| 马山县| 嘉兴市| 大关县| 松溪县| 平顺县| 团风县| 沂南县| 西充县| 铜山县| 阿克苏市| 东明县| 富平县| 商城县| 涞水县| 合肥市| 旬邑县| 芜湖县| 松溪县| 仙游县| 西乡县| 聂荣县| 洪泽县| 灯塔市| 宁明县| 江安县| 丰都县| 儋州市| 珠海市| 铅山县| 桐城市| 宣化县|