Skip to content

forest6511/python-data-recipes-samples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python-data-recipes-samples

Python × 公開データ分析 30選 — 日本の年収・睡眠時間・物価・実データで答える30のレシピ」(森川 陽介 著)のサンプルコード集です。

本書の全 30 レシピで使う Python コードを、そのまま動かせる形で収録しています。日本や世界の公開データ(気象庁・e-Stat・World Bank・World Happiness Report・NPB・厚生労働省など)を扱い、問い → データ取得 → 前処理 → 分析 → 可視化 → 結論の流れで完結します。

構成(全 10 章・30 レシピ)

各章のディレクトリ(chapters/chNN/)に、その章のレシピのコードと分析結果が入っています。

各章ディレクトリには次が含まれます。

  • recipeNN_*.py — 各レシピの実行スクリプト(単独で動作)
  • jp_font.py — 日本語フォント設定ヘルパー(matplotlib の文字化け防止)
  • images/ — 出力されたグラフ(スクリプト実行で再生成されます)
  • data/ — 取得した実データのキャッシュ(再現性確保のため同梱)
  • README.md — その章の各レシピの説明と分析結果

API キーについて

ほとんどのレシピは API キーなしで動きます。キーが必要なのは次のレシピだけです。

e-Stat の appId(政府統計)が必要

Recipe 05・07(第2章)、Recipe 09(第3章)、Recipe 11-14(第4章)、Recipe 16-18(第5章)、Recipe 19(第6章)、Recipe 23(第8章)、Recipe 27(第9章)は、政府統計の総合窓口 e-Stat の API を使います。無料のアプリケーション ID(appId)を発行し、その章のディレクトリの .envESTAT_APP_ID=... を書きます(発行手順は各章 README 参照)。

YouTube Data API のキーが必要

Recipe 28(第10章)は YouTube Data API v3 を使います。Google Cloud Console で無料の API キーを発行し、chapters/ch10/.envYOUTUBE_API_KEY=... を書きます(手順は chapters/ch10/README.md 参照)。同梱の取得済みキャッシュをそのまま使えば、キーなしでも書籍の数値を再現できます。

キー不要

上記以外はすべてキー不要で、公開データを直接取得します。気象庁(第1章)、The Economist の GitHub CSV(Recipe 08)、FRED / World Bank(Recipe 10・21・22・25・26)、OECD(Recipe 15)、警察庁 CSV(Recipe 20)、Stack Exchange API(Recipe 24)、World Happiness Report の GitHub CSV(Recipe 25・26)、NPB.jp(Recipe 29)、厚生労働省の Excel(Recipe 30)などです。

.env ファイルはいずれも .gitignore 済みで、リポジトリにはコミットされません。

動かし方

Python 3.10 以上を推奨します。

git clone https://github.com/forest6511/python-data-recipes-samples.git
cd python-data-recipes-samples
pip install -r requirements.txt

cd chapters/ch01
python recipe01_sakura_trend.py

各スクリプトは初回にデータを取得して data/ にキャッシュし、2 回目以降はキャッシュを使うため、ネットワークがなくても再実行できます(最新データで取り直したい場合は data/ の該当 CSV を削除して再実行します)。

日本語フォントについて

本書のグラフは jp_font.py で日本語フォントを設定します。japanize-matplotlib は Python 3.12 以降では動作しないため、本リポジトリでは OS 標準の日本語フォント(macOS は Hiragino、Windows は Yu Gothic / Meiryo、Linux は Noto / IPAex)を順に探して設定する方式を採っています。フォントが見つからない場合は警告が出ます。

なお本書のグラフは白黒印刷でも判別できるよう、色だけに頼らず線種・マーカー・ハッチング(網掛け)で系列を区別しています。

データの利用について

各レシピが扱うデータは、気象庁・e-Stat・World Bank・World Happiness Report・NPB・厚生労働省などが公開しているものです。データそのものの利用条件は各機関の利用規約に従ってください。data/ のキャッシュは再現性確保のために同梱した取得時点のスナップショットで、最新値とは異なる場合があります。本リポジトリのコードは書籍購入者の学習用サンプルです。

ライセンス

コード(*.py)は MIT License で公開します。出力グラフ・キャッシュデータは各データ提供機関の利用規約に従います。

About

「Python × 公開データ分析 30選」(森川 陽介 著)のサンプルコード集

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages