<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          數(shù)據(jù)可視化之項目 | 疫情數(shù)據(jù)分析

          共 2986字,需瀏覽 6分鐘

           ·

          2021-10-18 22:45



          「1、爬取數(shù)據(jù)」

          「1.1——要用到的庫」

          import?request???#?爬蟲
          import?json??????#?處理數(shù)據(jù)?

          「1.2——爬取數(shù)據(jù)」

          def?getData():
          ????url?=?'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
          ????headers?=?{
          ????????'user-agent':?'Mozilla/5.0?(iPhone;?CPU?iPhone?OS?11_0?like?Mac?OS?X)?AppleWebKit/604.1.38?(KHTML,?like?Gecko)?Version/11.0?Mobile/15A372?Safari/604.1'
          ????}
          ????r?=?requests.get(url,headers)
          ????if?r.status_code?==?200:
          ?????????return?json.loads(json.loads(r.text)['data'])

          data_dict?=?getData()

          「2、數(shù)據(jù)處理」

          「2.1——要用到的庫」

          import?json??????#?處理數(shù)據(jù)?
          import?pandas?as?pd??????#?處理數(shù)據(jù)?

          「2.2——讀取列名:字典的鍵」

          keys?=?data_dict.keys()
          print(keys)

          結(jié)果:dict_keys(['lastUpdateTime', 'chinaTotal', 'chinaAdd', 'isShowAdd', 'showAddSwitch', 'areaTree'])

          「2.3——讀取國家:」

          print('現(xiàn)在有多少個國家有疫情:',len(data_dict.get('areaTree')),data_dict.get('areaTree')[0]['name'])

          「2.3——讀取省:」

          print('現(xiàn)在有多少個省有疫情:',len(data_dict.get('areaTree')[0]['children']),data_dict.get('areaTree')[0]['children'])??
          #?倒數(shù)第一個【0】是省份id,改變它,可輸出不同的省份

          **2.4——統(tǒng)計所有的省份名稱——使用for循環(huán)到省份 **

          for?province?in?data_dict.get('areaTree')[0]['children']:
          ????print(province['name'])

          **2.5——統(tǒng)計每個省當(dāng)天的數(shù)據(jù)?**

          for?province?in?data_dict.get('areaTree')[0]['children']:?print(province['name'],province['today'])?


          「2.6——統(tǒng)計每個省總的數(shù)據(jù)情況」

          for?province?in?data_dict.get('areaTree')[0]['children']:?print(province['total'])

          「# 數(shù)據(jù)說明:這些數(shù)據(jù)目前是字典,對于pandas數(shù)據(jù)分析,我們要把這些數(shù)據(jù)變成dataframe,然后可以導(dǎo)入到excel或者SQL中」

          2.7——將數(shù)據(jù)變成列表再變成dataframe

          #?1.先將數(shù)據(jù)變成列表
          province_list?=?list()
          for?province?in?data_dict.get('areaTree')[0]['children']:
          ????province_info?=?province['total']
          ????province_info['name']?=?province['name']
          ????province_list.append(province_info)

          #?2.再變成dataframe
          province_df?=?pd.DataFrame(province_list)

          「2.8——查看數(shù)據(jù)類型」

          print(province_df.info())


          「2.9——按照數(shù)據(jù)類型來刪除datafram的列」

          #按照數(shù)據(jù)類型刪除列
          #include=包含什么類型,?exclude=不包含什么類型

          province_df?=?province_df.select_dtypes(exclude=['bool'])


          **?2.10——用tolist把省份的名稱和累計確診的數(shù)據(jù)轉(zhuǎn)換成list**

          province_name?=?province_df.name.tolist()
          print(province_name)
          province_confirm?=?province_df.confirm.tolist()
          print(province_confirm)

          **?2.11——列表生成器**

          for?tup?in?zip(province_name,?province_confirm):
          ????print(tup)

          「3、交互式畫圖」

          「3.1——用到的庫:」

          from?pyecharts.charts?import?Map
          from?pyecharts?import?options?as?opts??#?配色?標(biāo)題

          「3.2——顏色配置(必須是list包裹dict)」

          pieces?=?[
          ????{'min':1,'max':9,'color':'#FFE0E0'},
          ????{'min':10,'max':99,'color':'#FFC0C0'},
          ????{'min':100,'max':999,'color':'#FF9090'},
          ????{'min':1000,'max':9999,'color':'#FF6060'},
          ????{'min':10000,'max':99999,'color':'#FF3030'},
          ????{'min':100000,'max':99999,'color':'#DD0000'},
          ????{'min':1000000,'max':999999,'color':'#660000'}]

          「3.3——定義地圖,填充數(shù)據(jù)」

          #定義地圖,填充數(shù)據(jù)
          china_map?=?Map()
          china_map.add(‘全國疫情分布’,[tup?for?tup?in?zip(province_name,province_confirm)],‘china’)
          china_map.set_global_opts(title_opts=opts.TitleOpts(title=‘中國加油!武漢加油!’),
          visualmap_opts=opts.VisualMapOpts(is_piecewise=True,pieces=pieces))


          「3.4——打印地圖,生成網(wǎng)頁」

          china_map.render(path="中國地圖.html")???#?這個生成的html?地址可以用這個path參數(shù)來修改


          4、結(jié)果展示



          瀏覽 37
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲视频免费播放 | 国产主播第一页 | 99无码国产成人精品视频 | 天堂中文在线a | 日本调教视频 |