43号線を西へ東へ

フリーランスの備忘録、アウトプットの実験場

ウェザーニュースの花粉データでPythonアプリを作りたい(その2)

このブログはプロモーションリンクを含むときがあります


昨年が私の花粉症のデビュー年でした。

まだ本ブログの開始前でしたので、どれだけ花粉が飛んでいたのか、どれぐらい症状がつらかったのか、ちゃんとしたデータを残していなかったのが悔やまれます。

過去のデータも参照できるウェザーニュースの花粉飛散データのダウンロードサービスを用いて、昨年の花粉をデータで振り返ってみたいと思います。

ウェザーニュースAPIの使い方は過去記事をご参照のこと。

driveon43.com

花粉飛散量のデータの取得

ChatGPTにお願いして、Pythonコードを書いてもらいました。

  1. APIに接続してCSVファイルを保存するコード
  2. 複数のCSVを結合するコード(一度にダウンロードできるのは31日分のみ)
  3. CSV内にあるデータをグラフ化するコード(時間ごと、日ごと、累積)

データの収集方法(ポールンロボ)

ウェザーニュース全国に1000個ほど設置しているセンサーを通じてデータが収集されています。

今年は私も申し込んだのですが、残念ながら外れてしまいました。同じ市町村コード内に何年も設置されている方がいるので、仕方ないですね。市区町村内で複数のモニターを置いて精度を高めるときに、再び申し込みたいと思います。

ウェザーニュースAPIのダウンロード

Webサイトから直接CVSデータをダウンロードするとデータが不安定だったので、過去のデータもすべてAPIを使ってダウンロードすることにしました。

iPhoneアプリPythonistaの上でコードを走らせます。

APIでダウンロードしたデータは1時間ごとのデータになります。

  • 市町村コードはマスクさせていただきました
  • 兵庫県南部のデータです
  • 2023年2月1日から6月4日までダウンロード
  • エラーデータ(-9999)を排除
  • データの総数: 2777件(時間)
  • 1個以上の花粉を検出した時間:973時間
  • 平均値: 約1.82個
  • 標準偏差: 約6.23個
  • 最小値: 0個
  • 最大値: 89個

2023年の兵庫県南部のある地域の花粉飛散量をグラフ化する

3種類の方法でグラフを作成しました。

  1. 1時間あたりのグラフ(ダウンロードしたファイルなり)
  2. 1日あたりのグラフ
  3. 1時間ごとの花粉量を累積したグラフ

1.1時間あたり、花粉飛散量のグラフ

  • 2月1日から6月4日まで
  • 最大値は89
  • 2777時間中973時間で1個以上の花粉を計測

2.1日あたり、花粉飛散量のグラフ

CSVデータを1日あたりのデータに集計してグラフ化しました。

3.花粉飛散量の累積飛散量のグラフ

3月下旬から4月上旬にかけて、まさにうなぎ登り状態のひどいことになっているのがよくわかります。

まとめ

上記の集計とグラフ化は、普通にExcelで出来ることですが、それでは面白くない。Excel上で範囲指定してSUM関数使ってグラフにする手作業よりも、コードをRUNさせてやることが、パソコン使っている感が強くて非常に楽しいです。

ここでやっていることはたいしたことが無くて、ウエザーニュース見た方が速いんでしょうが、手元にデータがあるのがいいのです。これに気象庁の過去データを組み合わせてやると、自分の行動範囲と温度、湿度、風速、風向きとの関連性が見えてくるように思います。