COVID-19オープンデータをPython pandasで取得する

2 min読了の目安(約1800字TECH技術記事

データ取得場所

https://portal.data.metro.tokyo.lg.jp/1097/

データの取り方

pandasを使って取得します。

import pandas as pd

df_patients = pd.read_csv("https://stopcovid19.metro.tokyo.lg.jp/data/130001_tokyo_covid19_patients.csv",encoding="utf-8")
df_callcenter = pd.read_csv("https://stopcovid19.metro.tokyo.lg.jp/data/130001_tokyo_covid19_call_center.csv",encoding="utf-8")
df_consul_center = pd.read_csv("https://stopcovid19.metro.tokyo.lg.jp/data/130001_tokyo_covid19_combined_telephone_advice_center.csv",encoding="utf-8")

取れるデータの内容

df_patients

患者情報
全国地方公共団体コード
都道府県名
市区町村名
公表_年月日
曜日
発症_年月日
患者_居住地
患者_年代
患者_性別
患者_属性
患者_状態
患者_症状
患者_渡航歴の有無フラグ
備考
退院済フラグ

df_callcenter

新型コロナコールセンター
全国地方公共団体コード
都道府県名
市区町村名
受付_年月日
曜日
相談件数

df_consul_center

新型コロナ受診相談窓口相談件数
全国地方公共団体コード
都道府県名
市区町村名
受付_年月日
曜日
相談件数

データまとめ

日付をキーにして、感染者数、コールセンター相談件数、受診窓口相談件数をまとめたいときは、以下のようにして可能です

不要な列の削除

重複している列を削除します

del df_callcenter['全国地方公共団体コード']
del df_callcenter['都道府県名']
del df_callcenter['市区町村名']
del df_callcenter['曜日']

del df_consul_center['全国地方公共団体コード']
del df_consul_center['市区町村名']
del df_consul_center['曜日']
del df_consul_center['都道府県名']

列名の名称変更

df_callcenter.rename(columns={'相談件数': 'コールセンター相談件数'})
df_consul_center.rename(columns={'相談件数': '受信相談窓口相談件数'})

df_patients = df_patients.rename(columns={'公表_年月日': '年月日'})
df_callcenter = df_callcenter.rename(columns={'受付_年月日': '年月日'})
df_consul_center = df_consul_center.rename(columns={'受付_年月日': '年月日'})

マージ

pandasのmerge関数を使用します

df_patients = pd.merge(df_patients, df_callcenter, on='年月日', how='inner')
df_patients = pd.merge(df_patients, df_consul_center, on='年月日', how='inner')