<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>

          印度疫情,爆炸!

          共 12472字,需瀏覽 25分鐘

           ·

          2021-04-29 16:37

          昨天,印度一天暴增 35萬 確診病例!

          疫情徹底失控!

          最近十幾天,印度的日增感染人數(shù)急劇增多,從每日新增 1萬 多人,迅速增加到日增 35萬 多人。

          部分醫(yī)院徹底癱瘓,一張病床 2、3個 病人共用,氧氣嚴重告急,有些病人根本來不及發(fā)病,就活活窒息而亡。

          在印度首都新德里,大約每 5分鐘 就有一個人死于新冠肺炎,疫情形勢嚴峻讓印度的殯葬業(yè)幾乎面臨崩潰。

          由于死亡人數(shù)過于恐怖,多個火葬場發(fā)生遺體堆積,火化需要排隊,24小時輪軸轉(zhuǎn)焚燒,連設備金屬都被燒化了。

          火葬場不堪重負,甚至把公園、停車場、廣場都改造成露天焚燒場,遍地的尸體等著焚燒,紅色的火光沖天而起,連木材也出現(xiàn)短缺漲價!

          人間地獄,慘不忍睹!

          Python 分析

          我對疫情數(shù)據(jù)進行了整理和分析,看一看印度的疫情到底有多嚴重,對我們又會有哪些影響。

          因為我本身從事的是算法工作,數(shù)據(jù)分析也是個外行,有不到位的地方,大家可以自己動手嘗試。

          授人與魚不如授人以漁,數(shù)據(jù)下載和可視化分析的代碼我都會發(fā)出來,就當做一個數(shù)據(jù)可視化的小教程吧。

          我們直接開始!

          數(shù)據(jù)下載

          目前,最全面的疫情數(shù)據(jù),是我曾經(jīng)介紹過的一個開源項目:

          https://github.com/CSSEGISandData/COVID-19

          比較權(quán)威,更新至今,有從 2020-01-22 到現(xiàn)在的全球疫情的所有數(shù)據(jù)。

          數(shù)據(jù)就放在這個目錄下:

          COVID-19/csse_covid_19_data/csse_covid_19_daily_reports/

          以 csv 的格式進行存儲,數(shù)據(jù)每天都會更新,想要下載所有數(shù)據(jù),可以直接下載整個工程。

          如果有代理,可以使用如下代碼直接下載:

          # 作者:Jack Cui
          # 公眾號:jackcui-ai
          import datetime
          import requests
          import glob
          import datetime
          from contextlib import closing

          today = datetime.date.today()
          lastday = (today - datetime.timedelta(days=1)).strftime('%m-%d-%Y')
          lastday = datetime.datetime.strptime(lastday, "%m-%d-%Y")
          startday = datetime.datetime.strptime("01-22-2020""%m-%d-%Y")
          for i in range((lastday - startday).days + 1):
              day = startday + datetime.timedelta(days=i)
              day_str = "%02d-%02d-%d" % (day.month, day.day, day.year)
              data_url = "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/{}.csv".format(day_str)

              with closing(requests.get(data_url, stream=True)) as response:
                  chunk_size = 1024  
                  if response.status_code == 200:
                      with open("{}.csv".format(day_str), "wb"as file:  
                              for data in response.iter_content(chunk_size=chunk_size):  
                                  file.write(data)
                  else:
                      print('鏈接異常')

          代碼很簡單,一個簡單的爬蟲程序,下載從 2020-01-22 至今的所有數(shù)據(jù)。

          Github 下載太慢,也可以直接下載我打包好的數(shù)據(jù),數(shù)據(jù)的日期是從 2020-01-22 至今的,公眾號后臺回復:疫情,即可下載。

          csv 數(shù)據(jù)的處理用 pandas 很方便,做數(shù)據(jù)分析必需掌握的第三方庫。

          具體的使用方法,英語水平可以的,可以看英文的官方文檔:

          https://pandas.pydata.org/pandas-docs/stable/index.html

          如果看不懂,這里有國內(nèi)網(wǎng)友做的中文文檔:

          https://www.pypandas.cn/docs

          可視化采用 pyecharts,它是基于 Echart 開發(fā)的 Python 版本可視化庫,也是做數(shù)據(jù)分析必須掌握的第三方庫。

          使用方法,可以直接看作者的中文教程:

          https://github.com/pyecharts/pyecharts

          數(shù)據(jù)處理庫和可視化庫都有了,直接開搞!

          數(shù)據(jù)可視化

          我們先看下印度的確診人數(shù)死亡人數(shù)、治愈人數(shù)情況:

          # 作者:Jack Cui
          # 公眾號:jackcui-ai
          from pyecharts.render import make_snapshot
          from snapshot_selenium import snapshot
          from selenium import webdriver
          from pyecharts.charts import Map
          from pyecharts.charts import Geo
          from pyecharts import options as opts
          import requests
          import json
          import re
          import glob
          import datetime 
          import os
          import pandas
          from contextlib import closing

          from datetime import datetime
          # csv 文件路徑
          csvs_path = glob.glob("*.csv")
          csvs_path = sorted(csvs_path, key=lambda x:datetime.strptime(x.split("/")[-1].split(".")[0],'%m-%d-%Y'), reverse=False)

          last_df = None
          for idx, csv_path in enumerate(csvs_path):
              if idx == 0:
                  df = pandas.read_csv(csv_path)
                  last_df = df
              else:
                  df = pandas.read_csv(csv_path)
                  last_df = pandas.concat([df, last_df])
          word_df = last_df

          India_df = word_df[word_df['Country_Region'] == "India"]

          today = datetime.date.today()
          lastday = (today - datetime.timedelta(days=1)).strftime('%Y-%m-%d')
          lastday = datetime.datetime.strptime(lastday, "%Y-%m-%d")
          startday = datetime.datetime.strptime("2020-1-22""%Y-%m-%d")

          date_data = []
          confirmed_data = []
          deaths_data = []
          recovered_data = []

          for i in range((lastday - startday).days + 1):
              day = startday + datetime.timedelta(days=i)
              day_str = str(day)[:10]

              confirmed_num = India_df[India_df['Last_Update'].str.startswith(day_str)]['Confirmed'].sum()
              deaths_num = India_df[India_df['Last_Update'].str.startswith(day_str)]['Deaths'].sum()
              recovered_num = India_df[India_df['Last_Update'].str.startswith(day_str)]['Recovered'].sum()
              
              date_data.append(day_str)
              confirmed_data.append(confirmed_num)
              deaths_data.append(deaths_num)
              recovered_data.append(recovered_num)

          (
              Line()
              .add_xaxis(xaxis_data=date_data)
              .add_yaxis(
                  series_name="確診人數(shù)",
                  y_axis=confirmed_data,
                  label_opts=opts.LabelOpts(is_show=False),
              )
              .add_yaxis(
                  series_name="死亡人數(shù)",
                  y_axis=deaths_data,
                  label_opts=opts.LabelOpts(is_show=False),
              )
              .add_yaxis(
                  series_name="治愈人數(shù)",
                  y_axis=recovered_data,
                  label_opts=opts.LabelOpts(is_show=False),
              )
              .set_global_opts(
                  title_opts=opts.TitleOpts(title="印度疫情統(tǒng)計"),
                  tooltip_opts=opts.TooltipOpts(trigger="axis"),
                  yaxis_opts=opts.AxisOpts(
                      type_="value",
                      axistick_opts=opts.AxisTickOpts(is_show=True),
                      splitline_opts=opts.SplitLineOpts(is_show=True),
                  ),
                  xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),
              )
              .render("india_line_chart.html")
          )

          運行效果,可以看到確診人數(shù)突破 1700W,治愈率緊跟確診人數(shù)。

          取最新的結(jié)果計算死亡率和治愈率。

          print("死亡率:%.2f%%" % (deaths_data[-1]/float(confirmed_data[-1])*100))
          print("治愈率:%.2f%%" % (recovered_data[-1]/float(confirmed_data[-1])*100))

          印度疫情死亡率:1.12%,治愈率:82.54%

          看到了這些數(shù)據(jù),我不禁陷入沉思。

          印度這么牛逼?死亡率好低!這跟我們這些天,在國內(nèi)看到的印度疫情新聞,露天焚尸、疫情失控的報道出入很大。

          我們看看美國的,還是用上述代碼統(tǒng)計,將 Country_Region 的取值改為 US ,拿到美國的數(shù)據(jù)來對比看下。

          統(tǒng)計結(jié)果為,美國疫情死亡率:1.78%,治愈率:77.5%。

          印度的醫(yī)療水平,比美國還要強大?

          造成這種局面,我能想到的三個原因:

          • 印度的醫(yī)療水平確實比美國牛逼
          • 確診人數(shù)激增太快,死亡率還沒跟上
          • 數(shù)據(jù)有問題。

          首先排除第一條,客觀來講,從我了解到的印度的衛(wèi)生條件和醫(yī)療水平來看,印度落后太多。

          第二條不無可能,但我更相信數(shù)據(jù)本身就有問題。

          可以明確的是,數(shù)據(jù)來源不會有問題,因為這份數(shù)據(jù)是來自各國的官方報道。

          那就看官方報道的疫情數(shù)據(jù)是否真實了

          我們繼續(xù)用代碼,統(tǒng)計看下印度每日的新增情況。

          # 作者:Jack Cui
          # 公眾號:jackcui-ai
          import datetime
          import pyecharts.options as opts
          from pyecharts.charts import Line

          today = datetime.date.today()
          lastday = (today - datetime.timedelta(days=1)).strftime('%Y-%m-%d')
          lastday = datetime.datetime.strptime(lastday, "%Y-%m-%d")
          startday = datetime.datetime.strptime("2020-01-22""%Y-%m-%d")
          num = (lastday - startday).days

          crease_data = []
          date_data = []
          lastday_confirmed_num = 0
          crease_num = 0

          for i in range((lastday - startday).days + 1):
              day = startday + datetime.timedelta(days=i)
              day_str = str(day)[:10]
              confirmed_num = India_df[India_df['Last_Update'].str.startswith(day_str)]['Confirmed'].sum()
              
              if i == 0:
                  crease_num = 0
              else:
                  crease_num = confirmed_num - lastday_confirmed_num
              if crease_num < 0:
                  crease_num = 0
              lastday_confirmed_num = confirmed_num
              date_data.append(day_str)
              crease_data.append(crease_num)

          (
              Line(init_opts=opts.InitOpts(width="1000px", height="800px"))
              .add_xaxis(xaxis_data=date_data)
              .add_yaxis(
                  series_name="新增確診人數(shù)",
                  y_axis=crease_data,
                  markpoint_opts=opts.MarkPointOpts(
                      data=[
                          opts.MarkPointItem(type_="max", name="最大值"),
                          opts.MarkPointItem(type_="min", name="最小值"),
                      ]
                  ),
                  markline_opts=opts.MarkLineOpts(
                      data=[opts.MarkLineItem(type_="average", name="平均值")]
                  ),
              )

              .set_global_opts(
                  title_opts=opts.TitleOpts(title="印度每日新增確診人數(shù)"),
                  tooltip_opts=opts.TooltipOpts(trigger="axis"),
                  toolbox_opts=opts.ToolboxOpts(is_show=True),
                  xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),
              )
              .render("india_crease_line_chart.html")
          )

          我們只看趨勢,對于一些負增長,這里簡單粗暴地限制為0。

          印度最近連破單日新增的世界紀錄,連續(xù) 6 天新增確診人數(shù)超過 30萬 人。

          我們還可以用 pyecharts 可視化更多的結(jié)果,比如餅狀圖、地理圖標等。

          類似這種:

          可以清晰地看到疫情分布情況,也可以針對每個國家單獨分析。使用 pyechartsGeoMap、BMap 模塊即可。

          熬夜寫文,代碼就寫到這吧,大家可以自己動手嘗試一下。

          印度疫情

          印度疫情最初控制的很好,為何最近大反彈?

          導致這種暴漲情況的是一場場近乎自作孽的宗教活動。

          其中,最大的一起宗教活動就是大壺節(jié),這一度是唯一一個能從太空觀察到的人類聚集行為。

          今年 4月12日 印度有超 200萬 的朝圣者,聚集在河邊沐浴河水,并且全都不戴口罩。

          這種大型慶?;顒?,也并不發(fā)生在一處,印度安得拉邦庫諾爾區(qū)也有大批民眾無視防疫規(guī)定,不帶口罩情況下一起慶祝烏加迪節(jié),互擲牛糞以祈求健康繁榮。

          而這種宗教節(jié)日,通常不會一天搞定,而需要持續(xù)數(shù)月。

          而印度政府,為了鞏固政權(quán),也在默認這些行為,并沒有加以控制。

          照這樣發(fā)展下去,印度將成為世界疫情的王炸。

          目前,印度衛(wèi)生部宣布在馬哈拉施特拉邦發(fā)現(xiàn)了一種雙重突變的新型毒株。

          所謂雙重突變,就是在變異病毒的基礎上,再次變異,擁有了2處不同的突變蛋白。

          這個雙變異新毒株,被命名為B.1.617,它的刺突蛋白發(fā)生了兩個突變,分別被命名為E484QL452R。

          這是人類首個發(fā)現(xiàn)的,同時攜帶兩個突變的新冠變異毒株。

          刺突蛋白的作用是幫助新冠病毒進入人體細胞,并作為免疫系統(tǒng)的識別特征,一旦刺突蛋白發(fā)生突變,那么新的毒株就很容易繞開原有的免疫系統(tǒng),從而具備更強的感染性。

          更厲害的又來了,4月21日,也就是上周,印度在西孟加拉邦發(fā)現(xiàn)了一款新的毒株,在雙突變毒株的基礎上再增加了一個突變。

          也就是說,世界上已經(jīng)出現(xiàn)了三重突變的新冠病毒毒株。

          目前,印度的研究人員將其命名為“孟加拉毒株”,并認為它可能比雙突變毒株更具備傳染性。

          因為研究時間太短,具體的傳染性和致命性還需要進一步的研究,但這絕對不是啥好消息。

          雙重突變毒株剛開始研究沒幾天,你這三重突變的新毒株就來了,這啥時候是個頭。

          我們最近常說內(nèi)卷,這次病毒都跟著卷起來了!

          病毒為了更好的傳播,都開始提升自己的戰(zhàn)斗力了,三重突變都來了。

          連病毒都知道世界是內(nèi)卷的,想要活下去就要不斷的進化自己。

          不說了,這就去學習了。

          總之,大家注意安全,不要松懈,該打疫苗打疫苗。

          我是 Jack,我們下期見。

          ·················END·················



          推薦閱讀

          ?   嘿,來聚個類!?   五年了?   我,差點上央視



          瀏覽 89
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  福利在线 | 国产视频福利在线看 | 成人无码久久久久毛片 | 欧美成人精品一区二区三区在线看 | 特级成人毛片 |