当サイトについて知りたい方はこちら

【データ視覚化】新型コロナウイルスのデータを可視化する

Pythonを学ぶ

データをより深く理解するためには、グラフなどを用いて視覚化(可視化)をする必要があります。これをデータ視覚化(Data Visualization)と言います。

Pythonにはデータ視覚化に便利なライブラリが豊富に用意されています。MatplotlibやSeabornなどを挙げることができます。今回の記事では、データ視覚化ライブラリの1つであり、手軽に美しいグラフが描けるPlotlyを用いて、日本の新型コロナウィルス(COVID-19)に関するデータを視覚化してみたいと思います。

Plotlyについて詳しく知りたい方は、こちらのページ(英語)をご覧ください。

使用するデータ

今回は、Kaggle Datasetsにて公開されている「COVID-19 dataset in Japan」というデータを使います。このデータには、日本国内で確認された新型コロナウィルスの感染者数や重症者数、死者数など、さまざまなデータが含まれています。

※今回の記事に記載されているコードをそのままコピーして再現してみたい場合は、KaggleのNotebook(Code)を活用することをお勧めします。自分でデータをダウンロードしてJupyter notebookやGoogle Colab等で実装する場合、コードが少し変わるためです。(read_csv()を使ってデータを読み込む時)

早速視覚化してみよう!

データとPlotlyを使って、視覚化をしてみたいと思います。難解な技術は必要なく、初心者の方でも簡単に作成することができます。

まず、Plotlyとデータを読み込むために必要なPandasをimportします。

import plotly.express as px
import plotly.graph_objects as go
import pandas as pd

Pandasのread_csv()メソッドを使って、データを読み込んでみます。

prefecture = pd.read_csv('../input/covid19-dataset-in-japan/covid_jpn_prefecture.csv')
total = pd.read_csv('../input/covid19-dataset-in-japan/covid_jpn_total.csv')
metadata = pd.read_csv('../input/covid19-dataset-in-japan/covid_jpn_metadata.csv')

今回は”prefecture”と”total”の2つのデータを使います。prefectureには各都道府県の新型コロナウィルスに関するデータが、totalには日本国内で確認された新型コロナウィルスの感染者に関するデータが入っています。

prefectureの様子
totalの様子

PCR検査数をグラフ化する

まず初めに、日本国内で行われたPCR検査数をグラフ化してみたいと思います。

fig = px.bar(total,x='Date',y='Tested',labels={"Tested":"Number of Tests","value":"Date"},title="Total Tests in Japan",template='plotly_dark') 
fig.show()

これを実行すると、すぐに下記のようなグラフが生成されます。

PCR検査数(累計)をグラフ化

2021年3月現在、国内で行われたPCR検査数は8M=800万件に達していることが分かります。

感染者数、重症者数、死者数をグラフ化する

テレビニュース等で頻繫に報道される、感染者数や重症者数、死者数に関するデータをグラフ化してみましょう。

#感染者数をグラフ化
fig = px.bar(total,x='Date',y='Positive',labels={"Positive":"Number of cases","value":"Date"},title="Total Cases in Japan",template='plotly_dark') 
fig.show()
#重症者数をグラフ化
fig = px.bar(total,x='Date',y='Hosp_severe',labels={"Hosp_severe":"Number of severe cases","value":"Date"},title="Severe Cases in Japan",template='plotly_dark') 
fig.show()
#死者数をグラフ化
fig = px.bar(total,x='Date',y='Fatal',labels={"Fatal":"Number of death cases","value":"Date"},title="Death Cases in Japan",template='plotly_dark') 
fig.show()

これらのコードを1つずつ実行すると、下記のようなグラフが出力されます。

感染者数(累計)をグラフ化
重症者数をグラフ化
死者数(累計)をグラフ化

たった数行のコードを書くだけで、見やすく分かりやすいグラフが描けることが分かったのではないかと思います。

東京都の感染者数の推移を見てみよう

テレビやネットニュースを見ていると、毎日のように「東京都で○○人が新型コロナウィルスに感染~」といったニュースを目にすると思います。最後に、東京都の感染者数を示したグラフを描いてみましょう。

fig = px.bar(prefecture[prefecture["Prefecture"]=="Tokyo"],x='Date',y='Positive',labels={"Positive":"Number of cases","value":"Date"},title="Total Cases in Tokyo",template='plotly_dark') 
fig.show()

上記コードを実行すると、東京都で確認された新型コロナウィルスの感染者数(累計)を示すグラフが出力されます。

東京都の感染者数(累計)

グラフを見ると、2020年12月~2021年2月頃までの期間で相当数の感染者数が確認されたことが伺えます。3月頃になると、増加の度合いは少し落ち着いたようにも見えます。

色々なデータを可視化してみよう!

今回の記事では、Plotlyを用いて新型コロナウィルスのデータを視覚化(可視化)する手法についてご紹介しました。大手マスコミ等での報道でよく出てくる感染者数の推移を示すグラフを、誰でも簡単に作成することができることが分かったのではないかと思います。

データ視覚化(Data Visualization)はデータを理解する上で不可欠なので、興味のある方はデータ視覚化ライブラリや視覚化の手法について更に調べてみるのも面白いかもしれません。

タイトルとURLをコピーしました