最近感染が拡大しているということで
最新のコロナ関連のデータを見てみましょう。
解説動画はこちら
今回参考にさせていただくデータは
東洋経済さんのサイトのデータです。
それも厚生労働省のオープンデータが元になっていますが
サイトからダウンロードすることができます。
東洋経済さんのサイト
こちらのデータを元にして
現状を見てみることにしましょう。
まずはデータの読み込みです。
こちらのコードで直接データフレームに
データを読み込むことができます。
集計したりするには
少しデータの形がアレなので
データをきれいに整形します。
だいぶ綺麗になりましたね。
これを使って色々集計してみることにしましょう。
こちらのデータは累計データのようです。
まずは都道府県別の累計感染者数を
見てみることにしましょう。
2021年7月29までのデータで
感染者数の多い順で都道府県別の累計数を見ています。
東京や大阪、神奈川が多いのは
人口比どうりかと思いますが
沖縄とかも増えてきていますね。
次は色々な率を見てみます。
まずは全国の率を見てみます。
累計感染者数は90万人弱
累計死亡者数は15166人で
死亡率だと1.68%ほどになります。
参考として2018年の
インフルエンザの感染者が1200万人
死亡者は3325人ということでしたので
そこから計算すると死亡率は0.027%
コロナの方が60倍も高いことになってしまいます。
次のコードで率の高いところを出すことができます。
PCR検査の陽性率は??
最後に最近では感染者が拡大傾向にあるということで
直近の60日間の動向から年末まで
このままいくとどうなるかを予測してみました。
こちらはfbprophetを使うので
インストールしていない人は
インストールなどが必要です。
(要pip install)
ライブラリの読み込みと学習データに整形します。
まずは感染者数の推移を予測します。
7月に入ってからの感染者数が増えてきています。
年末までこのままのペースだと160万人
最悪180万人ほどにもなる見込みです。
次に死亡者の推移を予測してみます。
死亡者は最近おちついてきている傾向です。
感染拡大が続いても今のペースが続くなら
そこまでの死亡者が出ない予測になっていますが
油断は禁物です。
まとめです。
最新のコロナ関連のデータを見てみましょう。
解説動画はこちら
今回参考にさせていただくデータは
東洋経済さんのサイトのデータです。
それも厚生労働省のオープンデータが元になっていますが
サイトからダウンロードすることができます。
東洋経済さんのサイト
こちらのデータを元にして
現状を見てみることにしましょう。
まずはデータの読み込みです。
こちらのコードで直接データフレームに
データを読み込むことができます。
import pandas as pd url = 'https://toyokeizai.net/sp/visual/tko/covid19/csv/prefectures.csv' df = pd.read_csv(url) df.head()
集計したりするには
少しデータの形がアレなので
データをきれいに整形します。
def to_date(d): return pd.to_datetime('{0:02}/{1:02}/{2:02}'.format(d['year'],d['month'],d['date']),format='%Y/%m/%d') # 日付に直す df['days'] = df.apply(to_date, axis=1) # 値の補完 df['deaths'] = df['deaths'].str.replace('-','0') df['serious'] = df['serious'].str.replace('-','0') # Null値の補完 df = df.fillna(0) # 型変換 df['deaths'] = df['deaths'].astype(int) df['serious'] = df['serious'].astype(int) df['peopleTested'] = df['peopleTested'].astype(int) df['hospitalized'] = df['hospitalized'].astype(int) df['discharged'] = df['discharged'].astype(int) # 必要なカラムのみに絞る df = df[['days','prefectureNameJ', 'peopleTested', 'testedPositive','discharged', 'hospitalized', 'serious', 'deaths' ]] df.head()
だいぶ綺麗になりましたね。
これを使って色々集計してみることにしましょう。
こちらのデータは累計データのようです。
まずは都道府県別の累計感染者数を
見てみることにしましょう。
df.groupby('prefectureNameJ').max().sort_values('testedPositive',ascending=False)
2021年7月29までのデータで
感染者数の多い順で都道府県別の累計数を見ています。
東京や大阪、神奈川が多いのは
人口比どうりかと思いますが
沖縄とかも増えてきていますね。
次は色々な率を見てみます。
まずは全国の率を見てみます。
df['陽性率'] = df['testedPositive'] / df['peopleTested'] * 100 df['復帰率'] = df['discharged'] / df['testedPositive'] * 100 df['療養率'] = df['hospitalized'] / df['testedPositive'] * 100 df['重症化率'] = df['serious'] / df['testedPositive'] * 100 df['死亡率'] = df['deaths'] / df['testedPositive'] * 100 days = '2021-07-29' df2 = df[['prefectureNameJ','peopleTested','testedPositive','discharged','hospitalized','serious','deaths','陽性率','復帰率','療養率','重症化率','死亡率']][df['days']==days] df3 = pd.DataFrame(data=df2[['peopleTested','testedPositive','discharged','hospitalized','serious','deaths']].sum()) df3 = df3.T df3['陽性率'] = df3['testedPositive'] / df3['peopleTested'] * 100 df3['復帰率'] = df3['discharged'] / df3['testedPositive'] * 100 df3['療養率'] = df3['hospitalized'] / df3['testedPositive'] * 100 df3['重症化率'] = df3['serious'] / df3['testedPositive'] * 100 df3['死亡率'] = df3['deaths'] / df3['testedPositive'] * 100 df3
累計感染者数は90万人弱
累計死亡者数は15166人で
死亡率だと1.68%ほどになります。
参考として2018年の
インフルエンザの感染者が1200万人
死亡者は3325人ということでしたので
そこから計算すると死亡率は0.027%
コロナの方が60倍も高いことになってしまいます。
次のコードで率の高いところを出すことができます。
PCR検査の陽性率は??
df2[['prefectureNameJ','peopleTested','testedPositive','陽性率']].sort_values('陽性率',ascending=False)死亡者の割合が高いところは?
df2[['prefectureNameJ','testedPositive','deaths','死亡率']].sort_values('死亡率',ascending=False)
最後に最近では感染者が拡大傾向にあるということで
直近の60日間の動向から年末まで
このままいくとどうなるかを予測してみました。
こちらはfbprophetを使うので
インストールしていない人は
インストールなどが必要です。
(要pip install)
ライブラリの読み込みと学習データに整形します。
from fbprophet import Prophet import warnings warnings.simplefilter('ignore') tmp_df = df[['days','testedPositive','discharged','hospitalized','serious','deaths']].groupby('days').sum() tmp_df = tmp_df.reset_index() tmp_df.head()
まずは感染者数の推移を予測します。
model = Prophet() model_df = tmp_df.rename(columns={'days':'ds','testedPositive':'y'}) model.fit(model_df.tail(60)) future_df = model.make_future_dataframe(150) forecast = model.predict(future_df) model.plot(forecast)
7月に入ってからの感染者数が増えてきています。
年末までこのままのペースだと160万人
最悪180万人ほどにもなる見込みです。
次に死亡者の推移を予測してみます。
model = Prophet() model_df = tmp_df.rename(columns={'days':'ds','deaths':'y'}) model.fit(model_df.tail(60)) future_df = model.make_future_dataframe(150) forecast = model.predict(future_df) model.plot(forecast)
死亡者は最近おちついてきている傾向です。
感染拡大が続いても今のペースが続くなら
そこまでの死亡者が出ない予測になっていますが
油断は禁物です。
まとめです。
2021年7月29日までの感染者数は90万人ほどで
うち死亡者は15166人で死亡率1.68%
感染拡大が広がっているが、現状のまま進むと
2021年内には累計160万人が感染し
死亡者累計1万7千人ほどになる見込みです。
死亡者累計1万7千人ほどになる見込みです。
ワクチンを打ってもかかる人はいます。
過去に感染しても再感染する人もいます。
正直な所
強めの風邪なんじゃないかと思います。
何も打つ手が無さそうなので
人の多いところに行かないで
静かに生活するしかなさそうですね。
データは日々更新されていきますが
このコードを使えば簡単に見れますので
興味のある方は見てみて下さい。
それでは。
過去に感染しても再感染する人もいます。
正直な所
強めの風邪なんじゃないかと思います。
何も打つ手が無さそうなので
人の多いところに行かないで
静かに生活するしかなさそうですね。
データは日々更新されていきますが
このコードを使えば簡単に見れますので
興味のある方は見てみて下さい。
それでは。