【PythonでCIVID-19分析】世界版 CIVID-19状況 Part10:データの前処理 1-10(データの結合)

投稿者: | 2020年7月12日

前回に引き続き世界版のデータの前処理を続けます。

前回は188カ国分の157日分(2020/01/22〜2020/06/26)のRecovered(回復者)データセットを完成させました。

今回は同じ要領でConfirmed(感染者)、Deaths(死亡者)のデータセットを作成し、最後にマージで横にそれぞれを結合してデータセットc19wを完成させます。

一部の名称を変更するだけで、後は同じ処理を繰り返すだけなので、今回は関数化して処理を行おうと思ったのですが、これは上手くいきませんでした。

ConfirmedDeathsの元データでは、列Country/Regionに同じ国名が複数行あるデータが、Recoveredと異なっていたからです。

具体的にはRecoveredが6に対し、Confirmed・Deathsでは7ありました。

たった1の違いですが、これが結果に大きく影響します。

また、関数化するには他にもプログラムの変更が多く、現在の私の知識で実現するには問題も多々あり、今回は関数化を断念することになりました。

よって関数化は今後の課題として、今回は先へ進むことにします。

その為、Confirmed・DeathsのデータセットはRecoveredのコードを手直ししてそれぞれ作成することにします。

Confirmed・Deaths共に3列・29,516行のデータに無事変換できました。

また、どちらもRecovered同様に2020/01/22のChinaから始まり、2020/06/26のLesothoで終わっています。

Confirmed・DeathsRecoveredの3つのデータセットが同じ構成になっていることが確認されました。

いよいよデータの結合です。

結合にはmergeを用います。

結合には列Dateと列Countryの二つの列をキーに用います。

国と日付に重複がないので、該当する行が横に結合されるはずです。

まずは各データを読み込みし、データフレームに格納します。

#各データセットの読み込み
c19w_R= pd.read_csv("c19w_Recovered.csv",encoding = "utf-8")
c19w_C= pd.read_csv("c19w_Confirmed.csv",encoding = "utf-8")
c19w_D= pd.read_csv("c19w_Deaths.csv",encoding = "utf-8")

さらにデータフレームの結合を行います。

3つ一気に行う方法が分からなかったので、最初にConfirmedとRecoveredを結合し、さらに出来上がったそのデータセットとDeathsの結合の手順で進めます。

さらにcsvファイルに書き込み・再読み込みを行います

#csvファイルへの書き込み・再読み込み
c19w_f.to_csv("c19w_f.csv" , encoding = "utf-8" , index = None)
c19w_df = pd.read_csv("c19w_f.csv" , encoding = "utf-8" )
c19w_df.head()

これでデータセットc19w_dfが完成しました。

最後にデータセットの内容を確認して置きます。

問題がなければ、Date・Country・Confirmed・Recovered・Deathsの5列、188カ国×157日分の29,516行のデータセットになっているはずです。

#完成データセットの内容確認
c19w_df.info()

予定通りの内容が表示されました。

これでようやく可視化・分析に取り組めます。

その前にこのデータが最新の元データに対応出来ているかを確認しておく必要があります。

次回は、それを行いたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です