今回はPandasライブラリのresample関数を使って厚生労働省が提供している日次のPCR検査実施人数のオープンデータ(csvファイル)を月次集計してみます。
流れは、次の通りです。
- 1. 厚生労働省からオープンデータPCR検査実施人数を取得
- 2. 入手したデータファイルをUnixデータ形式に変換
- 3. PythonでPandasのresample関数を使って月次集計。集計結果はcsv形式で出力する。
- 4.実行する
- 5.集計結果を確認する
では実際にやっていきます。
1. 厚生労働省からオープンデータPCR検査実施人数を取得
下記サイトからファイル名pcr_tested_daily.csvをダウンロードします。
https://www.mhlw.go.jp/content/pcr_tested_daily.csv
2. 入手したcsvファイルをUnixデータ形式に変換
$ unix2dos pcr_tested_daily.csv
3. PythonでPandasのresample関数を使って月次集計
下記用意したPythonコードです。
■ファイル名: resample.py
resample.py
import pandas as pd # Pandasライブラリを読み込む
# ファイル名pcr_case_daily.csvをカンマ区切りで読み込む
df = pd.read_csv('./pcr_case_daily.csv',sep=',' ,index_col=0 ,parse_dates=True)
# resample関数で月次集計する。月初から月末までデータサンプリングして合計値を出す。
df_resample = df.resample('M').sum()
# 結果をcsvファイル名output.csvに出力する
df_resample.to_csv('output.csv')
4. 実行する
python3 resample.py
実行後output.csvが出力された。
ls -lh output.csv
-rw-rw-r-- 1 ishimatsu ishimatsu 2.2K 6月 22 13:44 output.csv
5. 集計結果を確認
結果ファイルを開き、月次集計されていることがわかりました。
集計が月次になり、日付は毎月月末になります。
以上になります。
Pandasのresample関数を使うことに容易に日次集計を月次集計できました。
resample関数は月次集計でなく多様な集計に対応しています。
下記参考にさせていただいたサイト(YutaKaのPython教室)には詳細な使用方法が書かれていますので、ご利用される場合にはぜひご参照ください。
■ 参照させていただいたサイト
YutaKaのPython教室
https://www.yutaka-note.com/entry/pandas_resample