投稿

ラベル(コロナ)が付いた投稿を表示しています

pythonを使って京阪神エリアのコロナウイルス新規感染者数をプロット

イメージ
コロナウイルスの流行に端を発する、データ処理についてのシリーズ記事ですが、今回でようやくひとつのゴールに辿り着けそうです。 今日の目標は、以下のプロットを、shellからのコマンド一発で生成する方法についてです。 京阪神+αエリアのCOVID19新規発症者数の推移(4/15日10時現在) スクリプトは、shellスクリプトとpython3のスクリプトから成り立っています。 要素としては、これまでの記事で紹介したコマンドがほとんどです。 (データ列の名前だったり、少し書き換えている部分もあります。) 適当なフォルダを作って、そこに、以下の2つのファイルを作成したら、 ターミナルで「 sh COVID_count.sh 」と入力するだけで、瞬時に上のようなグラフが作成されるはずです( ターミナルからのシェルスクリプト実行についてはこちら )。 ______________________ COVID_count.sh ______________________ mkdir $(date +%m%d) cp COVID_count.py $(date +%m%d) cd $(date +%m%d) curl https://dl.dropboxusercontent.com/s/6mztoeb6xf78g5w/COVID-19.csv | cut -d ',' -f 1,6,8,10,11,24,27 | sed -e 's|/2020||g' -e 's|,4/|,2020/4/|g' -e 's|,3/|,2020/3/|g' -e 's|,2/|,2020/2/|g' -e 's|,1/|,2020/1/|g' > COVID_19_$(date +%m%d).csv grep -e 京都府 COVID_19_$(date +%m%d).csv | cut -d ',' -f 1,3,4,5 | nkf -s > COVID_19_kyoto.csv grep -e 大阪 COVID_19_$(date +%m%d).csv | cut -d ',...

pythonを使って日別のデータを纏めてプロットする

イメージ
京阪神エリアのコロナウイルスの流行状況が示された情報がすぐに見つからなかったことに端を発するこの企画も、第5段です。 これまで、 1.  関西のコロナウイルス感染者の状況 2. shellを使ってデータをウェブから取得する方法 3. 1.の操作をシェルスクリプトにして、瞬時に終わらせる方法 4. ダウンロードしてきたcsvファイルを、pythonを使って結合する方法 について、レシピを載せて来ました。 ここまでエクセルで図をつくって来ましたが、回を経るごとに効率化され、 だんだんとマウスを使う回数も減ってきました。 今回は、pythonでグラフを書かせるところまでやりたいと思います。 前回同様、Jupyter Notebook 上でスクリプトを書いています。 ____________________________________ import pandas as pd osaka = pd.read_csv('COVID-19-osaka0413.csv',encoding='cp932',names=['id', 'date', 'place_diag','place_living']) osaka["date"] = pd.to_datetime(osaka["date"]) osaka.groupby("date").size().plot(grid=True) ____________________________________ この四行で、下に示したようなfigができます。(大阪の日別新規感染者数です。) もう少しこまかく説明 1. データ読み込み import pandas as pd osaka = pd.read_csv('COVID-19-osaka0413.csv',encoding='cp932',names=['id', 'date', 'place_diag','place_living']) 前...

複数のshellコマンドを一度に実行する

[概要] 本記事では、いくつかのShellスクリプトを、取りまとめて実行する方法について解説します。 いわゆる、「シェルスクリプト」というやつの使い方になります。 [まくら]  前の記事 で、macのターミナルを使ったcsvファイルのダウンロードと、データの処理について解説しました。 shellスクリプトを利用すると、webブラウザを経由することなく、手早く情報の処理が行えることが分かったかと思います。 黒い画面を見ると恐怖を感じる人も多いかもしれませんが、かんたんなスクリプトを組めると、 同じことを何度もする必要がある場合に、時間を大きく節約できます。 さて、前回の記事では、近畿の各県の情報、全国の、その日その日の死者数についての情報 を、それぞれcsv形式で保存するスクリプトを紹介しました。 都合、5本のコマンドを実行すればこれらの情報をすべて得られます。 でも、 めんどくさい ですよね。 人によっては、47都道府県の情報をすべて個別に取得したいひともいるでしょう。 やってられません! 大丈夫です。めんどくさいをなんとかしてくれるのが、コンピュータです。 [流れ] 1. 適当なテキストエディタを開く 2. 実行したいシェルスクリプトをそこに貼り付ける 3.   一番はじめの行に、「 #!/bin/sh 」と書いて、名前をつけて保存する 4. ターミナルから、先程作ったスクリプトを実行する 簡単ですよね? [詳説] 1. 適当なテキストエディタを開く なんでもよいです。macであれば、テキストエディットで大丈夫です。 少しプログラミングに興味がある人であれば、プログラミング用のエディタである、 「 Visual Studio Code  (VS Code)」をインストールしてもよいかもしれません。 カッコの後ろ半分を補完してくれたり、一括変換が便利だったりします。 プログラミングをしていると、 カッコで挟んで、それをまたカッコで挟んで、、、このカッコ、どれと対応してるん?見たいな状況がよくあるのですが、色を自動で変えてみやすくしてくれたりします。 マイクロソフト社製です。MS社にはあまり良いイメージはなかったんですが、 VS Codeはオープンソース...

関西のコロナウイルス感染者の状況 [4/9日更新]

イメージ
第1版 3/25日 第2版 3/30日 第3版 4/2日 第4版 4/9日  現在、コロナウイルス(COVID-19)患者数の増加率は比較的マイルドですが、急激な増加が始まるのではないかと目されています。もしかすると、東京、大阪あたりの都市でも外出禁止令が出るかもしれません。 世界全体の患者数推移については、Johns Hopkins 大が 非常に見やすいコロナウィルス感染者マップ を、騒動の初期から立ち上げてくれていました。3/25日付けで、世界42万人が感染し、18000人以上がなくなっているようです。 日本版が見たいところですが、ジャックジャパンという会社が、親切にも 日本版のコロナマップ を作成しています。 日本全土でも、患者数はじわじわと増加中です。(下図左下、日次累計) スクリーンショット. 左上のCSVと書いたエクセルファイルマークのボタンから、データをダウンロードできる 私は関西圏在住ですが、関西の推移も気になります。しかし、各エリアの経時変化については提供されていません。しかし、データはこちらのページからダウンロードすることができます。 データ解析に慣れよう、ということで、ホットなコロナウイルスの感染者数についての情報をプロットしてみました(Figure 1)。 ( ダウンロードしたcsvデータを、shell で下ごしらえする方法 について書きました。[4/03日追記]) Figure 1. 京阪神エリアのコロナウイルス新規感染者数のプロット。大阪、京都、奈良、兵庫の居住者およびその2府2県で診断された人数の合算値。 [4/2日現在] 例えば、東京で感染が発覚しても、大阪に住んでいる人なら大阪で感染しているだろう、というカウントです。逆に、東京の人が大阪で診断されていても、大阪で何人かとは接触しているだろうとも考えられます。 3/10頃のピーク過ぎて、一段落しています。このまま、マイルドに推移するとよいのですが。 [3/25日現在] 大阪中心に、再び、感染者数増加の兆候がでてきているようです。海外旅行に行った人が帰ってきていたらそうなりますよね。 [4/2日現在] 続いて、気になる日本全国の死者数の推移も出ていなかったので、こちらも日付に対してプロットしてみました(F...