たつをの ChangeLog

12 件 見つかりました。

1 2 3 [ 次へ ]

東京都の新型コロナウイルス感染症対策サイトの新規患者数のデータについて。
これまでは新規患者の発生届の提出された日がカウントの基準となっていました。
最近、提出日ではなく、検査確定日(医師が確認した日)を基準としたデータも出てくるようになりました。

TOKYO COVID-19

左が発生届提出日による集計データ、右が確定日による集計データのグラフです(東京都のサイトのキャプチャ画像)。

ということで、さっそくデータをダウンロードして重ねたグラフを作ってみました (Python, Jupyter notebook, pandas, matplotlib など使用)。
こうしてみると、届出日と確定日のズレがわかりやすいですね。

TokyoCovid19ReportVsDiagnosed

注目ポイントはゴールデンウィークの連休始めの5月1日と2日。
それまでの数日は新規患者数が落ち着き気味だったのが、急に150人以上なり、「GWに浮かれてはいけない」という警鐘になりました。
しかし、実際のところ、届出が一気に来ただけで、確定日ベースだとすでに下降トレンドだったのですね。
GWに浮かれて感染拡大にならなくて結果オーライです。

また、確定日ベースの患者数のピークが4月9日なので、実際に感染が広まるピークは3月末から4月頭なのでしょうね。
学校などの春休みのころですね。
いろいろと緩みがあったかも。

2020年5月11日に東京都における新型コロナ感染症患者数の修正がありました。
76人の上方修正です。


この76人は5月11日時点の都内累計患者数には含まれていないそうですが、今後算入されていくそうです。日付がわかっているので、難しくはなさそう。

また、都内市区町村別の感染者数データ(data/patient.json)には5月11日付で増加分が加算されているようでした。しかし、市区町村によっては増加が76人以上のところもあり、「どういうことだろう」と少し調査。すると、市区町村以外の項目「調査中」の人数が 5/10 の 552 から 5/11 は 199 に大幅に減っていました。つまり、5/11 までの調査で約250人の市区町村が判明したということですね。その際に76人の漏れも見つかったということなのかも。

ということで、先日取り組んだ東京23区の新型コロナ感染者のグラフを更新。10万人あたりの陽性患者数のグラフのみですが。

TokyoCovid19Patient100K 2020-05-11 東京都23区 新型コロナウイルス陽性患者 累計

上位から港区・新宿区・台東区・渋谷区・中野区、僅差で千代田区となっています。今まで不動のトップ3だった港区・新宿区・渋谷区ですが、今回の修正で台東区が3位になりました。だいぶ前から3位だったのかも。

最新グラフの提供


この東京23区10万人あたり陽性患者グラフは下記URLで自動更新しています。取得できるデータが前日か前々日までなので、それに基づくグラフとなっております。


データ


データ等の詳細は先日の記事をご参照ください。


Python (on Jupyter Notebook) で日本地図に県別に色分けすることで何かのデータを可視化したくなったので調べてみました。
japanmap というのがあるみたい。

作者による紹介:

しっかりきれいに色分けできてとても良いです。
手軽すぎて、素晴らしすぎる!

上記ページを参考に、総務省統計局「なるほど統計学園」の都道府県別人口データで色塗りしてみました (japanmap.picture 使用)。
カラーバーの数値の単位は「万人」です。

japanmap-picture-sample

しかし、東京・神奈川・埼玉・大阪・愛知など県境近辺の塗り残しが目立ちます。
目立たないように枠線を白くしたり枠線をなくしたりしたいんだけど、japanmap.picture では線の色指定や枠線なし指定ができないみたい。

japanmap picture

一方、japanmap.pref_map を使うと SVG での出力になり、この場合はデフォルトは枠線なしで、きれいに塗り潰されます。
もちろん SVG だから枠線追加も簡単だし、塗り残し問題がないので、こちらを使っていきたいと思います。

japanmap SVG

ということで、japanmap.pref_map を使った都道府県別の人口マップです。
奥村先生のページを参考にしました(参考:日本地図 - 奥村 晴彦)。

japanmap-pref_map-sample

SVG での出力を cairosvg.svg2png で png に変換したのち、imshow で表示しています。
なお、svg タグに width="1024px" height="1024px" など追加しないと画像が見えないサイズになるので注意されたし。
また、境界線を見えるようにするには path タグの style に "stroke: gray; stroke-width: 0.001" などを追加するとヨシ。

Jupyter Notebook の HTML ファイルを置いておきます。

関連記事


年代別の推移を積み上げグラフであらわしてみました。
データは東京都のもの(後述)。
患者数データは1月24日からあるのですが、ここでは3月1日以降を用いています。
いつものように python, jupyter notebook, pandas, matplotlib などを使っています。

TokyoCovid19TLAges 東京都の新型コロナウイルス陽性患者数の年代別推移(積み上げグラフ)

病院や施設での集団感染で陽性患者が多く出た日は高齢者の割合が高くなっていますね。
4月12日は中野区の病院で87人、5月1日は病院や高齢者施設で67人

最新グラフの提供


上のグラフは5/2までのものですが、下記のURLで毎日グラフ画像を自動更新しています。ダウンロードしてSNSなりブログなりで自由にお使いください。収束が見えてくるまで続ける予定です。


なにげに、私にとっての初めての Python によるWebサービス的なものです。

なお、crontab で特定の conda 環境の python を動かす方法がなかなかうまくいかず、今は ad hoc なやり方で動かしています。そのうちなんとかする予定。

追記200514: 7日移動平均も表示するようにしました。

データ


使ったデータは、「陽性患者数 | 東京都 新型コロナウイルス感染症対策サイト」のCSVデータ。日別推移だけじゃなく、世代別・男女別の陽性患者数もわかります。

コード


今回の作業のコードは前回[2020-05-02-1]公開したJupyter Notebook の HTMLの前半部分となっています。積み上げグラフを作るのが想像以上に大変でした。ネットで調べながらなんとかやりました。エクセルなら簡単なんですけどねえ。

昨日5月1日、東京都の年代別の新型コロナウイルス関連の死亡者数が公表されました。
ということで、さっそくグラフを作ってみました。
いつものように python, jupyter notebook, pandas, matplotlib などを使っています。

まずは、10万人あたり陽性患者数と死亡者数を年代別に表示したもの。

TokyoCovid19Death100K 東京都 新型コロナウイルス死亡者 (2020-05-01)

20〜80代は陽性患者の対人口比がそれほど大きくは変わらないようです。
20,30代は少し高い感じですが、倍違うとかではないので。
一方、死亡者の割合は年代が上がるのに比例して高くなる傾向にあります。
なお、100歳以上の死亡者は0です。

こちらは個別にいろいろ表示してみたもの。

TokyoCovid19Death 東京都 新型コロナウイルス死亡者 (2020-05-01)

70代以降の「死亡者数÷陽性患者数」(患者の「死亡率」に近い比例する値かと)が10%とかそれ以上とか。
高齢者にとってはやはり危険ですね。

データ


今回のグラフ作成のために整理したデータはこちら。

患者_年代人口陽性患者数死亡者数死亡者数÷陽性患者数10万人あたり陽性患者数10万人あたり死亡者数
10歳未満10489216100.0005.8150.000
10代10296806300.0006.1180.000
20代155796673500.00047.1770.000
30代184208678600.00042.6690.000
40代217793571710.00132.9210.046
50代183294668390.01337.2620.491
60代1373395452180.04032.9111.311
70代1414012418400.09629.5612.829
80代794805262380.14532.9644.781
90代179791132160.12173.4198.899
100歳以上6058200.00033.0140.000

これを作るために使用したデータのリスト。


コード


今回の一連の作業を行ったコード (Jupyter Notebook の HTML) をアップしたので、興味のある方は検証お願いします。必要な CSV, エクセルデータはプログラム内部からアクセスして取ってくるので、事前のデータDL作業は不要です。コピペすれば最後まで行けるはず。グラフの日本語文字表示だけは一手間いるかもなので必要ならばググってください。

1 2 3 [ 次へ ]

たつをの ChangeLog
Powered by chalow