Quantcast
Channel: pandas - よちよちpython
Viewing all articles
Browse latest Browse all 30

【matplotlib】縦2軸の折れ線グラフの描き方2_コロナ陽性者_死亡者

$
0
0

こちらで折れ線グラフの縦2軸の描き方が分かったので、調子に乗ってもう一個書いてみた。

【実行環境】

  • Windows10 WSL:Ubuntu
  • Jupyter Notebook
  • Python3.8
  • 外部ライブラリ
    • pandas numpy matplotlib
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
%matplotlib inline



新型コロナ関連のCSVデータファイルURLはこちらを参照。

f1 = './Covid19分析/pcr_positive_daily.csv'
f2 = "./Covid19分析/death_total.csv"
df1 = pd.read_csv(f1, index_col=0, parse_dates=True)
df2 = pd.read_csv(f2, index_col=0, parse_dates=True)


累計死亡者数を日毎に換算。

n = np.array(df2)
n_daily = np.append(1, np.diff(np.array(n[:,0])))
df2["死亡者(単日)"]  = n_daily
df2
死亡者数死亡者(単日)
日付
2020-02-1411
2020-02-1510
2020-02-1610
2020-02-1710
2020-02-1810
.........
2021-05-161150445
2021-05-171158783
2021-05-1811847260
2021-05-191193689
2021-05-2012042106

462 rows × 2 columns

# PCR陽性者数と死亡者(単日)を結合
df_m = pd.merge(df1, df2.iloc[:, 1], right_index=True, left_index=True)
df_m
PCR検査陽性者数(単日)死亡者(単日)
日付
2020-02-1471
2020-02-15120
2020-02-1660
2020-02-1770
2020-02-1870
.........
2021-05-16524745
2021-05-17367783
2021-05-185229260
2021-05-19581189
2021-05-205711106

462 rows × 2 columns

fig = plt.figure(figsize=(10,4))

# PCR陽性者数をプロット
ax1 = fig.add_subplot(111)
ln1 = ax1.plot(df_m.iloc[:, 0], label='PCR positive')

# PCR検査実施件数をプロット
ax2 = ax1.twinx()
ln2 = ax2.plot(df_m.iloc[:, 1], label='death', color='orange')

# 凡例の設置
h1, l1 = ax1.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()
ax1.legend(h1+h2, l1+l2, loc='upper left')

# ラベルの設置
ax1.set_xlabel('day')
ax1.set_ylabel('pcr positive', color='blue')
ax2.set_ylabel('death daily',color='purple')

# グリッド線の設置
ax1.grid()

# グラフ保存
fig.savefig("pcr_positive_death.jpg")

# グラフ表示
plt.show()

f:id:chayarokurokuro:20210523221050j:plain

5月半ばに死亡者数が突出している部分がある。怪しい。
一日の死亡者の高い日を確認する。100人を越えてる日にしようか。47都道府県あたり1日約2人のコロナ死亡者。

# 死亡者数(単日)が100人を超えた日のデータを抽出
df_m[df_m.iloc[:, 1] >= 100]
PCR検査陽性者数(単日)死亡者(単日)
日付
2021-01-224803105
2021-01-273965109
2021-01-303332108
2021-02-022329118
2021-02-032639108
2021-02-042573115
2021-02-052371108
2021-02-101885121
2021-05-076032113
2021-05-086985121
2021-05-116238123
2021-05-127057101
2021-05-146269110
2021-05-185229260
2021-05-205711106

2021/05/18だけ2倍以上出ている。集計ミスか? これはおかしいねぇ。
【追記】
この日の兵庫県の死亡者は129名になっているようです。他県と比較しても桁違い。全国260人の半分だし。上で挙げたデータファイルのリンクにあるNHK都道府県別のCSVデータを調べた。
全国の年間肺炎死亡者10万人を365日で割ると1日あたり274人。兵庫県のコロナ死亡者だけでその半分を占める計算になる。ベラボウ過ぎる。何かの間違いでは?【追記おわり】

【再追記】
どうやら未集計だった1ヶ月半分のものをこの日にまとめて計上したものらしい。

兵庫県は18日、新型コロナウイルスに感染していた129人の死亡が確認されたと発表しました。

このうち121人は、神戸市がことし3月26日から5月17日までの1か月半余りの期間に亡くなり、これまで計上していなかった人を、18日、まとめて発表したものです。(中略)
感染者の急増で保健所の業務がひっ迫し、遺族への意向確認などが滞っていたため、18日の発表となったとしています。

【再追記おわり】



死亡者数は陽性者数よりひと月ほど後ろにズレて出てくるんですね。



【参考リンク】


連続投稿は以上です。


Viewing all articles
Browse latest Browse all 30

Trending Articles