
Pythonで花粉の飛散量を可視化してみた
日本における花粉飛散数データがオープンデータで公開されている。
そこで、得意のPythonで花粉飛散量を分析してみることにした。
データの取得と加工
APIによるデータ取得と加工は、別記事にて執筆予定。
東京都千代田区(市区町村コード:13101)における2025/1/1〜3/1までのデータを、以下のようにpd.Series形式で1時間単位に取得できたものとする。
2025-01-01 00:00:00 0
2025-01-01 01:00:00 0
2025-01-01 02:00:00 0
2025-01-01 03:00:00 0
2025-01-01 04:00:00 0
..
2025-03-01 19:00:00 0
2025-03-01 20:00:00 0
2025-03-01 21:00:00 4
2025-03-01 22:00:00 4
2025-03-01 23:00:00 4
Length: 1440, dtype: int64
2025年からの飛散量をグラフ化
飛散量を日単位で合計してグラフ化してみる。2/10以降から花粉が飛散し始め、3月にかけて飛散量が増加していることが分かる。
pollen.resample("D").sum().plot(figsize=(8,4))

飛散量の最大値を月と時間単位で集計
時間帯毎の飛散量の最大値を取得し、月別に色分けしてグラフ化。本当は平均値で集計すべきなのだが、3月のデータがまだ少ないため、最大値で代用。
グラフを見ると、どの月も日中(8〜20時)付近は飛散量が多く夜間はその半分程度であること、そして3月の飛散量が2月を大きく上回っていることが明確になる。
pollen.groupby(
[pollen.index.month, pollen.index.hour]
).max().unstack(level=0).plot(
xlim=[0, 23], xticks=range(23), grid=True, figsize=(8,4)
)

過去3年間の飛散量と比較
複数のメディアによると、2025年の花粉飛散量は昨年よりも多いと予想。
実際に、去年と一昨年の飛散量と比較してみよう。

おや、少なくとも2月までは昨年よりも飛散量は少ないようだ。3月以降にかけて増えてくるのかも知れない。
以上、簡単ではあるが、花粉飛散量を分析してみた。
まだ花粉が飛び始めたばかりのため、3月下旬以降に再度分析しようと思う。
現状は単一地点の花粉飛散量しかデータがないため、複数地点の飛散量その相関を調べたり、気象情報データ(天気や風速など)を追加して天候と飛散量の関係性を調べてみると面白そう。