一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四

聯系我們 - 廣告服務 - 聯系電話:
您的當前位置: > 關注 > > 正文

全球即時:天佑武漢 天佑種花家!爬之分析之各省數據入口

來源:CSDN 時間:2023-02-07 10:23:59

一、前言

最近在家隔離,每天起床第一件事就是看看各地情況,好在目前情況有了些許好轉。天佑武漢!天佑種花家! 偶然間在技術貼看到一數據入口,點開一看,如獲至寶,爬之分析之!

數據以json的模樣展現在我們面前,各省入口是省名稱。(因為一些原因不能在博客上貼出數據,可視化上也將數據屏蔽,畢竟實現方法是最重要的,見諒!) url = "https://lab.isaaclin.cn/nCoV/api/area?latest=0&province={0}".format(province)想要獲取全國的數據只要遍歷省份進行請求解析就好了。各省的數據我只截取到1月24號(除夕)。 現在開始請求


(資料圖片僅供參考)

二、爬蟲

1. 請求

def spider_virus(url):    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"    }    html = requests.get(url=url,headers=headers)    html.encoding = "utf-8"    html.raise_for_status()

只要掛個UA就能請求通~ 推薦給大伙一個UA包,很好用,不用每次都去粘UA,省了很多事

from fake_useragent import UserAgent

只要"User-Agent": UserAgent().random,就可以了,方便得很。

2. Json解析

解析json這里就很簡單了

# 省級            provinceName = results["provinceName"]            provinceShortName = results["provinceShortName"]+"全部統計"            confirmedCount = results["confirmedCount"]            suspectedCount = results["suspectedCount"]            curedCount = results["curedCount"]            deadCount = results["deadCount"]            # locationId = results["locationId"]            #  13位時間戳轉換            updateTimenum = results["updateTime"]            timeStamp = float(int(updateTimenum) / 1000)            timeArray = time.localtime(timeStamp)            # otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)            updateTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)            province_list.append((provinceName, provinceShortName, confirmedCount, suspectedCount,                                  curedCount, deadCount,updateTime))

# 市級            try:                cities = results["cities"]                for city_data in cities:                    # print(city_data)                    cityName = city_data["cityName"]                    confirmedCount = city_data["confirmedCount"]  # 確診人數                    suspectedCount = city_data["suspectedCount"]  # 疑似感染人數                    curedCount = city_data["curedCount"]  # 治愈人數                    deadCount = city_data["deadCount"]  # 死亡人數                    # locationId = city_data["locationId"]                    province_list.append((provinceName, cityName, confirmedCount, suspectedCount,                                          curedCount, deadCount, updateTime))            except Exception as e :                cities = "未知"                cityName = "未知"                confirmedCount = 0000                suspectedCount = 0000                curedCount = 0000                deadCount = 0000                province_list.append((provinceName, cityName, confirmedCount, suspectedCount,                                      curedCount, deadCount, updateTime))    To_MySQL("Virus", province_list)

3. 數據存儲(Mysql)

最后的數據我存到了mysql里,建表也是在python里寫好的,就不貼了

def Insert_Data(datas_into, table_name):    try:        # print(datas_into)        db = pymysql.connect(host="手動打碼", user="root", password="*******", db="liu*手動打碼", charset="utf8")        cursor = db.cursor()        # for data_tups in list(datas_into):        sql_insert = """insert into {0} (Province,city,confirmedCount,suspectedCount,curedCount,deadCount,updataTime) values (%s, %s, %s, %s, %s, %s, %s);""".format(table_name)        cursor.executemany(sql_insert, datas_into)        db.commit()    except Exception as e:        db.rollback()        print(e)    finally:        cursor.close()        db.close()

因為采集下來的數據有各省總人數及其地級市、區等,所以在city這一列總體水平我用了“全部的統計”,以便區分。

截止目前只有40000多條數據,時間設的2秒,沒寫多進程,就是單機這樣跑,畢竟自己用嘛~

三、可視化與分析

我使用的是Jupyter notebook

1. 數據處理

import time,pymysqlimport pandas as pdimport numpy as npfrom pyecharts.charts import Pie, Bar, Map, WordCloud,Line,Gridfrom pyecharts import options as optsfrom pyecharts.globals import SymbolTypefrom pyecharts.globals import ThemeType

db = pymysql.connect(host="*****",                      user="root",                      password="*****",                      db="liu*****",                      charset="utf8")df_all = pd.read_sql("SELECT * FROM virus", con=db)df_all = pd.read_sql("SELECT * FROM virus", con=db)db.close()df_all.to_excel("原始數據.xls")

修改了中文列名,方便識別,但是實際開發中并不推薦

df_all.columns = ["id","省份","城市","確診人數","疑似感染人數","治愈人數","死亡人數","更新時間"]df_all.isnull().sum()df_all.info()df_all["更新時間"] = pd.to_datetime(df_all["更新時間"])df_all.head()

修改日期格式,增加了周幾一列

df_all["更新日期"] = pd.to_datetime(df_all["更新時間"].map(str).str[0:10], format ="%Y-%m-%d")df_all["更新日期"]=df_all["更新日期"].dt.strftime("%m-%d")df_all["周幾"]=df_all["更新時間"].dt.dayofweek+1

提取各省總體數據

df_ProAll = pd.DataFrame(columns=["id","省份","城市","確診人數","疑似感染人數",                                  "治愈人數","死亡人數","更新時間","更新日期","周幾"])for province in province_list:    df_pro=df_pro_all.loc[df_pro_all["省份"]==province,:]    #提取相同日期第一條    df_pro=df_pro.drop_duplicates(subset=["更新日期"],keep="first")    df_ProAll = pd.concat([df_ProAll,df_pro],ignore_index=False,axis=0)col=["id","省份","城市","確診人數","疑似感染人數","治愈人數","死亡人數","更新時間","更新日期","周幾"]df_ProAll=df_ProAll[col]#修改類型df_ProAll[["確診人數","疑似感染人數","治愈人數","死亡人數"]]=df_ProAll[["確診人數","疑似感染人數","治愈人數","死亡人數"]].astype(int)#重置索引df_ProAll.index = range(len(df_ProAll.index))

gp_time=df_ProAll.groupby("更新日期")[["確診人數","疑似感染人數","治愈人數","死亡人數"]].sum()cols = gp_time.columns.tolist()for col in cols:    num_list = gp_time[col].tolist()    new_list = [0]    for i in range(len(num_list)-1):        b= num_list[i+1]-num_list[i]        new_list.append(b)    gp_time["{}增減".format(col)]=new_listgp_time

2. 可視化

2.1 全國情況

2.1.1) 全國治愈與死亡走勢

line = (        Line()        .add_xaxis(gp_time.index.tolist())        .add_yaxis("治愈人數", gp_time["治愈人數"].tolist())        .add_yaxis("死亡人數", gp_time["死亡人數"].tolist())        .set_global_opts(            title_opts=opts.TitleOpts(title="全國治愈與死亡走勢"),            tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),            yaxis_opts=opts.AxisOpts(name="人數"),            xaxis_opts=opts.AxisOpts(name="時間(日)")            )            .set_series_opts(label_opts=opts.LabelOpts(is_show=False))        )line.render_notebook()

2.1.2) 全國確診、死亡、治愈增幅

line = (        Line()        .add_xaxis(gp_time.index.tolist())        .add_yaxis("確診", gp_time["確診人數增減"].tolist())        .add_yaxis("治愈", gp_time["治愈人數增減"].tolist())        .add_yaxis("死亡", gp_time["死亡人數增減"].tolist())        .set_global_opts(            title_opts=opts.TitleOpts(title="全國確診、死亡增幅"),            tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),            yaxis_opts=opts.AxisOpts(name="人數"),            xaxis_opts=opts.AxisOpts(name="時間(日)")            )        )line.render_notebook()

2.1.3) 全國確診走勢

2.1.4) 全國top10省份

time_list = [list(z) for z in zip(df_pro_new["省份"].tolist()[:10],                                  df_pro_new["確診人數"].tolist()[:10])]pie = (    Pie()            .add("", time_list).set_global_opts(title_opts=opts.TitleOpts(title=""))        .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")))pie.render_notebook()

2.1.5) 全國確診/治愈/死亡對比

gp_timeday = gp_time.index.tolist()aaa=gp_time["確診人數增減"].tolist()bbb=gp_time["治愈人數增減"].tolist()ccc=gp_time["死亡人數增減"].tolist()ddd=gp_time["疑似感染人數增減"].tolist()grid = Grid()bar = Bar()# grid.theme = ThemeType.PURPLE_PASSIONline = Line()bar.add_xaxis(day)bar.add_yaxis("治愈增減",bbb,label_opts=opts.LabelOpts(is_show=False))bar.add_yaxis("死亡增減",ccc,label_opts=opts.LabelOpts(is_show=False))bar.extend_axis(yaxis=opts.AxisOpts(type_="value",                                     name="確診人數增減",                                     min_=0,                                     max_=16000,                                     position="right",                                                         axislabel_opts=opts.LabelOpts(formatter="{value}人"),                                     ))bar.set_global_opts(yaxis_opts=opts.AxisOpts(                                            name="治愈/死亡增減",                                            type_="value",                                            axislabel_opts=opts.LabelOpts(formatter="{value}人")                                            ), #                     xaxis_opts=opts.AxisOpts(name="日期"),# 太擠不好顯示                    title_opts=opts.TitleOpts("全國每日確診/治愈/死亡對比"),                    tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),                   ) # 交叉指向工具line.add_xaxis(day)line.add_yaxis("確診增減",aaa,yaxis_index = 1,label_opts=opts.LabelOpts(is_show=False))# line.add_yaxis("疑似感染增減",ddd,yaxis_index = 1,label_opts=opts.LabelOpts(is_show=False))# 把line添加到bar上bar.overlap(line)# 這里如果不需要grid也可以,直接設置bar的格式,然后顯示bar即可#bar.render_notebook()grid.add(chart = bar,grid_opts = opts.GridOpts(),is_control_axis_index = True)grid.render_notebook()

2.1.6) 除湖北省,各省市情況

gp_pro_time_cop=gp_pro_time.copy().reset_index()df_no_hubei=gp_pro_time_cop.loc[gp_pro_time_cop["省份"]!="湖北省",:]# df_no_hubei["省份"].value_counts()gp_no_hubei=df_no_hubei.groupby("更新日期")[["確診人數","治愈人數","死亡人數",                                         "確診人數增減","治愈人數增減","死亡人數增減"]].sum()gp_no_hubei

2.1.7) 全國情況結論

2月1號后治愈水平逐步與離開水平拉大距離。在連續三天下降后,2月13號,確診病例突然增加15139例,武漢市那天將疑似未確診病例計入,這是件好事,相關報道也做了說明。top10中北方省份只有兩個,河南和山東,也是兩個勞務輸出大省,其中河南省因為緊鄰湖北省,達到914例,人們也更愿意選擇離家近的發達地區工作。自2月4號開始各省確診病例逐漸下降,死亡人數增幅較緩

2.2 天津市情況

數據處理

"""天津市基本情況"""df_tianjin_all=df_all.loc[(df_all["省份"]=="天津市")&(df_all["城市"]!="全部統計"),:]df_tianjin_all.index = range(len(df_tianjin_all.index))df_tianjin_all.head()city_list=[]for city in df_tianjin_all["城市"].tolist():    if city=="外地來津":        city="外地來津人員"        city_list.append(city)    elif city=="待明確":        city="待明確地區"        city_list.append(city)      else:        city_list.append(city)df_tianjin_all["城市"]=city_list"""檢索天津市現有數據每區每日最后一條數據"""df_tianjin_last=df_tianjin_all.iloc[df_tianjin_all.groupby(["城市",                                   "更新日期"]).apply(lambda x: x["確診人數"].idxmax())]df_tianjin_last.index = range(len(df_tianjin_last.index))df_tianjin_last.head()"""檢索天津市各區最新確診數據"""gp_tianjin=df_tianjin_last.groupby(["城市","更新日期"])["確診人數","疑似感染人數",                                                  "治愈人數","死亡人數"].sum()df_tj_daynew=gp_tianjin.reset_index()df_tj_daynew=df_tj_daynew.iloc[df_tj_daynew.groupby(["城市"]).apply(lambda x: x["確診人數"].idxmax())]df_tj_daynew=df_tj_daynew.sort_values(by="確診人數",ascending=False)df_tj_daynew

首先對數據做了下處理,把外地和待明確歸納

2.2.1) 各區縣最新確診人數

2.2.2) 確診、治愈、死亡情況

2.2.3) 寶坻區與天津市各區趨勢

2.2.4) 天津市情況結論

寶坻區有50病例,占到天津1/3,緊接著是河東區15例天津市市內6區 top占了4位,較為發達的和平、南開也在之內,河東,河北相對其他區,外來人口也相對較多。

以上代碼就是對此次疫情的很粗略分析,其實可以分析的地方太多了,也能獲得很多別的信息,比如,按各省面積人口算一下致病率,各省確診連續下滑時長等等,方法其實都是一樣,就看分析的思路了。 可視化使用的pyecharts,畫出來的圖也比較好看。 云玩家第一次發博,見笑~·

責任編輯:

標簽: 死亡人數

相關推薦:

精彩放送:

新聞聚焦
Top 一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四
亚洲国产精品成人精品| 国产日韩精品视频一区| 欧美有码视频| 欧美亚洲色图校园春色| 亚洲一级二级| 久久男人av资源网站| 欧美大学生性色视频| 国产精品videosex极品| 国产一区二区三区直播精品电影| 黄色成人在线| 日韩午夜在线电影| 欧美一区二区私人影院日本| 欧美成人精品| 国产精品久久久久久久久久免费看 | 欧美视频在线观看免费网址| 国产老肥熟一区二区三区| 激情成人av在线| 亚洲女性裸体视频| 欧美国产成人在线| 国产一区二区三区最好精华液| 亚洲理伦电影| 浪潮色综合久久天堂| 国产精品日韩欧美一区二区三区| 亚洲激情中文1区| 亚洲精品欧洲| 久久久综合免费视频| 国产精品高清在线| 亚洲人成在线播放网站岛国| 欧美尤物巨大精品爽| 欧美午夜视频网站| 亚洲区在线播放| 久久久一本精品99久久精品66| 国产精品久久久久久久久搜平片| 亚洲日本欧美| 免费视频亚洲| 在线观看日韩| 久久亚裔精品欧美| 国产在线欧美日韩| 午夜影院日韩| 国产精品国产精品国产专区不蜜| 亚洲精品色婷婷福利天堂| 免费看亚洲片| 尤物在线观看一区| 久久久高清一区二区三区| 国产精品制服诱惑| 欧美一区=区| 国产精品一区二区三区久久久| 另类欧美日韩国产在线| 国产精品免费小视频| 国模精品一区二区三区| 91久久精品一区二区三区| 久久精品国产精品亚洲综合| 久久亚洲影院| 亚洲视频在线播放| 国产精品国产福利国产秒拍| 99re热精品| 亚洲专区一二三| 久久永久免费| 国产伦理一区| 在线精品一区| 亚洲人成网站在线播| 中文欧美在线视频| 久久久久久久久久久久久9999| 免费欧美在线| 国产精品久久久久久久午夜片| 亚洲麻豆一区| 国产欧美日韩一区二区三区在线 | 欧美色视频一区| 亚洲国产裸拍裸体视频在线观看乱了中文| 午夜精品久久久久| 国产日韩欧美三级| 欧美在线视频不卡| 在线欧美电影| 欧美日韩大片一区二区三区| 亚洲视频你懂的| 国产农村妇女毛片精品久久麻豆| 欧美一区免费视频| 亚洲成人在线| 欧美日韩美女在线| 亚洲愉拍自拍另类高清精品| 国产精品色午夜在线观看| 亚洲欧美综合国产精品一区| 国产日韩精品在线播放| 麻豆av福利av久久av| 亚洲高清自拍| 欧美视频久久| 亚洲乱码日产精品bd| 欧美午夜免费| 久久精品99无色码中文字幕 | 欧美日韩在线大尺度| 亚洲欧美国产高清| 黄色精品免费| 欧美日韩国产成人高清视频| 亚洲欧美经典视频| 亚洲第一视频网站| 国产精品久久7| 久久一区二区三区av| 在线一区二区三区四区| 伊人成年综合电影网| 国产精品www| 六月婷婷一区| 欧美一区二区三区视频在线观看 | 国产日韩av在线播放| 欧美专区日韩专区| 一区二区av| 亚洲高清成人| 国产一区二区高清| 欧美日韩一级大片网址| 久久久美女艺术照精彩视频福利播放 | 国产精品99久久久久久www| 国产一区二区三区在线观看视频 | 久久艳片www.17c.com| 中文国产成人精品| 亚洲第一区在线观看| 国产欧美精品日韩区二区麻豆天美| 欧美 日韩 国产在线| 久久国产主播| 亚洲欧美一区二区激情| 日韩午夜在线播放| 国语对白精品一区二区| 国产精品国产三级国产专播品爱网 | 亚洲啪啪91| 国内精品国产成人| 国产精品久久久久久久久搜平片| 老司机久久99久久精品播放免费 | 亚洲国产成人精品女人久久久| 欧美精品久久久久a| 久久伊人亚洲| 亚洲欧美一区二区三区极速播放| 一区二区欧美日韩视频| 在线看欧美日韩| 欲色影视综合吧| 国产精品免费网站在线观看| 欧美日韩中文在线| 免费黄网站欧美| 美女久久网站| 久久国产精品毛片| 欧美一区二区视频在线观看| 日韩系列欧美系列| 一区二区三区四区国产| 国产老肥熟一区二区三区| 国产精品video| 亚洲尤物在线视频观看| 一区二区三区色| 亚洲作爱视频| 亚洲三级影片| 国产日韩视频| 国产精品伊人日日| 国产精品v亚洲精品v日韩精品| 欧美国产精品中文字幕| 久久亚洲精品一区| 亚洲一区成人| 99天天综合性| 亚洲美女尤物影院| 亚洲精品一区二区在线| 亚洲激情黄色| 亚洲视频视频在线| 一区二区国产精品| 午夜精品三级视频福利| 亚洲在线一区| 久久久久久尹人网香蕉| 美国十次成人| 欧美大胆成人| 国产精品国产三级国产普通话三级 | 国产欧美91| 黑人操亚洲美女惩罚| 国内外成人免费激情在线视频网站| 在线观看av一区| 亚洲电影免费| 99成人在线| 在线性视频日韩欧美| 校园春色综合网| 午夜精品亚洲一区二区三区嫩草| 久久久另类综合| 蜜桃av综合| 国产精品性做久久久久久| 99re成人精品视频| 午夜精品99久久免费| 美女主播一区| 欧美精品在线网站| 国产亚洲欧洲| 在线精品国精品国产尤物884a| 一区二区三区四区精品| 亚洲欧美成人网| 欧美成人三级在线| 欧美日韩国产麻豆| 伊人色综合久久天天五月婷| 欧美精品在线视频| 国产手机视频一区二区| 日韩一级裸体免费视频| 亚洲在线一区二区三区| 美日韩精品免费| 欧美日韩精品伦理作品在线免费观看 | 噜噜噜在线观看免费视频日韩| 久久人人97超碰国产公开结果 | 一区二区三区我不卡| 亚洲一级免费视频| 久久久久久午夜| 国产女同一区二区| 欧美日本视频在线|