Python: Covid-19のグラフで学ぶHpyerとPython ver. 4

Last Updated on

赤字以降を修正しました。

 

I.何をする?

 

Python、R、Juliaの基本的なコードを覚えるのに、Covid-19の基本的な集計を毎日手で書き込みます。今回はPythonのコードを実行します。

次のPythonのコードを覚えました。思い出しながらキーを打つのでまだ速くないです。

ターミナル(Highper)で書きます。Pythonもターミナル上に実行し、グラフはplt.savefig()でファイルにします。

Hyperのインストール方法は次です。

 

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 20200721″)

7.グラフをホーム・ディレクトリに保存します。

>>> plt.savefig(‘worldLine.jpg’)

 

 

III.8ヵ国の感染者数

 

>>> countries8_infected=x.query(‘date==”2020-07-21″ and iso_alpha_3 in [“DEU”,”KOR”,”JPN”,”NPL”,”PER”,”TWN”,”USA”,”VNM”]’)[[‘iso_alpha_3’, ‘confirmed’]].sort_values(by=’confirmed’, ascending=False)

 

>>> countries8_infected.plot.bar(x = ‘iso_alpha_3’,
… y = ‘confirmed’,
… title = ‘Confirmed in 8 Countries 20200721’,
… rot=0,
… logy=False)

 

>>> plt.savefig(‘countries8infected.png’)

 

 

IV.8ヵ国の人口比感染者数

 

、、、長いのでまだ覚えていません。少し簡略にしてから覚えます。

 

# confirmed in descending order in the 8 countries
>>> countries8_confirmed = x.query('date == "2020-07-21" and iso_alpha_3 in ["DEU","KOR","JPN","NPL","PER","TWN","USA","VNM"]')[['iso_alpha_3', 'confirmed','population']].sort_values(by='confirmed', ascending=False)
# confirmed per population(100000) 
>>> countries8_confirmed['confirmed_pop'] = (countries8_confirmed['confirmed'] / countries8_confirmed['population'])*100000
>>> countries8_confirmed_sorted = countries8_confirmed.sort_values('confirmed_pop')
# create a bar chart
>>> countries8_confirmed.plot.bar(x = 'iso_alpha_3',y = 'confirmed_pop',title = 'Confirmed/population(100000) in 8 Countries 20200721',rot=0,logy=False)
>>> plt.tight
>>> plt.savefig('countries8_pop.png')

 

 

人口比では、合衆国とペールーが際立っています。

 

V.世界の人口10000人に対する感染者数の割合

 

# import libraries
import pandas as pd
from matplotlib import pyplot as plt
from covid19dh import covid19
# load the data
x=covid19dh(verbose=False)
# subset
confirmed_latest=x[x.date=='2020-07-21'][['date','administrative_area_level_1','confirmed','population']]
# get confirmed by population and add a new column
confirmed_latest['confirmed_pop']=(confirmed_latest['confirmed']/confirmed_latest['population'])*10000
# top 20 confirmed
confirmed_pop_desc=confirmed_latest.sort_values(by='confirmed_pop',ascending=False).head(20)
confirmed_pop_desc.plot(x='administrative_area_level_1',y='confirmed_pop',kind='bar',title='Confirmed 20200721',logy=False)
# show x-axis tick label texts
plt.tight_layout()
# save it
plt.savefig('confirmedPop6.png')
 

 

はじめの2件はクルーズ船ですが、除く必要がありますねえ。

About shibatau

I was born and grown up in Kyoto. I studied western philosophy at the University and specialized in analytic philosophy, especially Ludwig Wittgenstein at the postgraduate school. I'm interested in new technology, especially machine learning and have been learning R language for two years and began to learn Python last summer. Listening toParamore, Sia, Amazarashi and MIyuki Nakajima. Favorite movies I've recently seen: "FREEHELD". Favorite actors and actresses: Anthony Hopkins, Denzel Washington, Ellen Page, Meryl Streep, Mia Wasikowska and Robert DeNiro. Favorite books: Fyodor Mikhailovich Dostoyevsky, "The Karamazov Brothers", Shinran, "Lamentations of Divergences". Favorite phrase: Salvation by Faith. Twitter: @shibatau

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.