更新しました。
I.何をする?
Python、R、Juliaの基本的なコードを覚えるのに、Covid-19の基本的な集計を毎日手で書き込みます。今回はPythonのコードを実行します。
次のPythonのコードを覚えました。思い出しながらキーを打つのでまだ速くないです。
ターミナル(Hyper)でPythonを実行し、plt.savefig()でグラフを保存します。
Hyperのインストール方法は次に書きました。
II.世界の感染者数と死者数の推移
1.Hyperを開きます。
2.先に作成した仮想環境を開きます。
❯ conda activate YOURENVIRONMENT
3.Pythonを起動します。
❯ python3
3.ライブラリをインストールします。(ここからPythonです)
>>> import pandas as pd
>>> from matplotlib import pyplot as plt
>>> from covid19dh import covid19
4.Covid19のデータをロードします。
>>> x=covid19(verbose=False)
5.日でわけてそれぞれ合計します。
>>> world=x.groupby(‘date’).sum()
6.dateのインデクスを外して、date列をx軸、confirmed列とdeaths列を変数としてライン・グラフを描きます。
>>> world.reset_index().plot(‘date’,[‘confirmed’,’deaths’],kind=’line’,title=”confirmed and Deaths in the World 20200807″)
7.グラフをホーム・ディレクトリに保存します。
>>> plt.savefig(‘worldLine.png’)
III.6ヵ国の感染者数
>>> countries6_infected=x.query(‘date==”2020-08-07″ and iso_alpha_3 in [“KOR”,”JPN”,”NPL”,”THA”,”TWN”,”VNM”]’)[[‘iso_alpha_3’, ‘confirmed’]].sort_values(by=’confirmed’, ascending=False)
>>> countries6_infected.plot.bar(x = ‘iso_alpha_3’,y = ‘confirmed’,title = ‘Confirmed in 8 Countries 20200807’,rot=0,logy=False)
>>> plt.savefig(‘countries6infected2.png’)
IV.6ヵ国の人口比感染者数
、、、長いのでまだ覚えていません。少し簡略にしてから覚えます。
# confirmed in descending order in the 8 countries >>> countries6_confirmed = x.query('date == "2020-08-07" and iso_alpha_3 in ["KOR","JPN","NPL","THA","TWN","VNM"]')[['iso_alpha_3', 'confirmed','population']].sort_values(by='confirmed', ascending=False) # confirmed per population(100000) >>> countries6_confirmed['confirmed_pop'] = (countries6_confirmed['confirmed'] / countries6_confirmed['population'])*100000 >>> countries6_confirmed_sorted = countries6_confirmed.sort_values('confirmed_pop') # create a bar chart >>> countries6_confirmed.plot.bar(x = 'iso_alpha_3',y = 'confirmed_pop',title = 'Confirmed/population(100000) in 6 Countries 20200807',rot=0,logy=False) >>> plt.tight.layout() >>> plt.savefig('countries6_pop.png')
人口比では、ネパール日本が高いです。次回は降順に修正します。
V.世界の人口10000人に対する感染者数の割合
# import libraries
import pandas as pd
from matplotlib import pyplot as plt
from covid19dh import covid19
# load the data
x=covid19(verbose=False)
# filter the data with query
latest=x.query('date=="2020-08-07" & administrative_area_level_1 != ["Costa Atlantica","Diamond Princess"]')[['date','administrative_area_level_1','confirmed','population']]
# divide confirmed by population and add a column
latest['confirmed_pop']=(latest['confirmed']/latest['population'])*10000
# top 20 confirmed
latest_pop=latest.sort_values(by='confirmed_pop',ascending=False).head(20)
# create a bar chart
latest_pop.plot(x='administrative_area_level_1',y='confirmed_pop',kind='bar',title='Confirmed 20200807')
# show x-axis tick label texts
plt.tight_layout()
# save chart
plt.savefig('confirmedPop20.png')
クルーズ船を除きました
カタール、バーレーン、クウェート,オマーンの中東諸国が対人口感染率が高いです。