🐥

解説:`Python × 公開経済データで学ぶ マクロ経済学 入門:30年分のGDPと政府支出推移を日本と米国で比較`(Qiita 記事)読

に公開

解説:Python × 公開経済データで学ぶ マクロ経済学 入門:30年分のGDPと政府支出推移を日本と米国で比較(Qiita 記事)読み解きメモ

いい記事です — 要点ごとに丁寧に噛み砕いて解説します。元記事のコード・トラブルシューティング・結果解釈まで一緒に追っています。原稿は以下を参照しています。(Qiita)


1) 目的と全体像(この記事で何をするか)

  • 目的:公開データ(主に World Bank API)を Python (wbdata, pandas) で取得し、過去30年の GDP と政府支出(G)を国別に取得・比較することでマクロ経済の基本(支出面)を学ぶ。(Qiita)
  • 手順の流れ:GDP の支出アプローチの確認 → wbdata によるデータ取得(指標 ID の扱い) → エラー対応の紹介 → 年次データを整形する関数の提示 → 日本と米国の比較と解釈。(Qiita)

2) 基本:GDP(支出アプローチ)の復習と最初の関数

  • 支出アプローチの式は

    \text{GDP} = C + I + G + (X - M)

    (C=消費、I=投資、G=政府支出、X=輸出、M=輸入)。記事はまずこの概念を示し、単純な calculate_gdp() 関数で計算する例を載せています。これにより「各項目を集めれば理論上 GDP が再現できる」ことを確認できます。(Qiita)


3) World Bank API(wbdata)の使い方と注意点

  • wbdata を使えば指標(indicator)を ID で指定して API から直接 DataFrame を得られます。記事はインストールとサンプルコード(指標辞書 → wbdata.get_dataframe())を示しています。(Qiita)

  • 重要な変更点(記事が強調している)

    • 以前の data_date といった引数指定でエラーになる場合がある(TypeError: unexpected keyword data_date)。wbdata.get_dataframe() の正しい引数名は date で、期間は (start_date, end_date) というタプルで渡すのが安全、freq='Y'(年次)や parse_dates=True などのオプションも有用。記事はこの誤り→修正の流れを詳述しています。(Qiita)
  • 指標 ID に注意

    • World Bank の指標 ID は変更・アーカイブされることがあるため、エラー Indicator was not found が出たら wbdata.search_indicators("キーワード") で確認するのが推奨(記事で検索例を掲載)。記事は使える指標の具体例(NY.GDP.MKTP.CD:GDP、NE.CON.GOVT.CD:政府消費支出、など)を示しています。(Qiita)

4) トラブルシューティング(記事の具体例)

  • 発生した典型エラー:

    1. TypeError: got an unexpected keyword argument 'data_date'date=(start,end) に修正。(Qiita)
    2. RuntimeError: Got error 175 (Invalid format): The indicator was not found. → 指標 ID が古い/存在しない → wbdata.search_indicators() で正しい ID を探す。記事は両方のケースと修正サンプルを提示しています。(Qiita)

5) 実際の関数:get_gdp_and_gov_spending() の構造(記事の実装)

  • 設計:引数 country_code="JP"start_yearend_year を受け、NY.GDP.MKTP.CD(GDP)と NE.CON.GOVT.CD(政府支出)を年次で取得して整形した pd.DataFrame を返す。戻りデータは Year, GDP, Gov_Spending の列。コードスニペットと使用例が載っています。(Qiita)

(記事の関数抜粋の流れ:日付タプルで取得 → reset_index()dateYear に変換 → 年昇順にソート → 返す。)(Qiita)


6) 記事が示した実際の取得結果とその読み方

記事では 日本と米国 の過去30年(1993–2022)の数値例を示しています。主なポイント(記事の数値に基づき解説)を整理します。(Qiita)

  1. 2022年 日本(World Bank の出力の一行)

    • Consumption = 2.365528e+12 USD(約 2.365 兆ドル)

    • Investment = 1.141299e+12 USD

    • Gov_Spending = 9.192579e+11 USD(約 0.919 兆ドル)

    • Exports = 9.184084e+11 USD

    • Imports = 1.076978e+12 USD

    • GDP (official) = 4.262463e+12 USD(約 4.262 兆ドル)。(Qiita)

    • 支出アプローチの確認:C + I + G + (X - M) を足すと公表 GDP と一致することを記事は示しています(=データの整合性確認)。(Qiita)

  2. この記事に基づき計算して整理(小さめの補足計算)

    • 家計消費の GDP に対する比率:2.365528/4.262463 \approx 0.55497約 55.5%
    • 純輸出(X − M)= 9.184084e11 − 1.076978e12 = -1.5857e11 USD → 約 −158.6 億ドル(= −158.6 billion USD)(つまり輸入超過で GDP をマイナスに寄与)。
    • (記事本文内の単位表記に若干の桁表記揺れが見られますが、上の数値は記事の生データに基づいて私が算出したものです。)(数値のもと:記事の出力)。(Qiita)
  3. 30年推移の要点(記事のまとめ)

    • 日本:1993 年の GDP ≒ 4.53694e+12 → 2022 年 4.262463e+12ほぼ横ばい〜微減;記事は約 −6% と表現)。政府支出は増加傾向(危機時にジャンプ)。(Qiita)
    • 米国:1993 年 6.858559e+12 → 2022 年 2.600689e+13約 3.8 倍、+279% 前後の増加)。政府支出も増加したが GDP 成長が大きく、相対比は比較的安定。(Qiita)

    (記事が示したパーセンテージ/増減は上記データに基づくもので、たとえば日本 GDP は約 −6.05%、米国 GDP は約 +279% 程度という計算になります。)(Qiita)


7) 記事の「学びどころ」と実務的な示唆

  • データ取得の鉄則:API を叩くときは 引数名や指標 ID の変更 に注意。ドキュメント(wbdata の readthedocs)を参照し、search_indicators() を活用するのが実務的。(Qiita)
  • データ検算の重要性:取得値が公式統計と一致するか(=整合性)を常に確認する習慣は必須(記事でも支出アプローチで“公表 GDP と一致”を確認)。(Qiita)
  • 政策・景気の読み方:G(政府支出)の増減や、C(消費)の比率、NX(純輸出)が正負いずれか、これらの変化で「何が景気のドライバーか」を読み取れる(記事は特に G に注目)。(Qiita)

8) 記事が提案する拡張(そのまますぐ実装できるもの)

  • GDP 構成比のグラフ(円グラフ・スタック棒)や時系列グラフ化。(Qiita)
  • 複数国同時比較(日本・米国・中国・ドイツ など)や、GDP に占める政府支出比率 の推移表示。(Qiita)
  • 為替(USD→JPY)や物価調整(名目 → 実質 GDP)を入れてより精緻な比較にする。(Qiita)

9) まとめ(要点だけ)

  • 記事は「Python で公開マクロデータを取り、実際に検算して解釈する」までの一連の流れを実践的に示している。API の使い方(date=、指標 ID の扱い)、よくあるエラーとその直し方、そして得られたデータの読み方までカバーしています。実務あるいは学習の導入として非常に良い教材です。(Qiita)

もしよければ次のどれを一緒に実行しましょうか?(すぐ作ります)

  1. この記事の get_gdp_and_gov_spending() をベースに政府支出比率 (G/GDP) を計算して時系列グラフ化。
  2. 複数国(JP, US, CN, DE)を並べた比較プロット(相対値やインデックス化)。
  3. 取得コードを Colab ノートブック向けに整形して実行可能な状態でお渡しする(コードセル付き)。

やりたいものを番号で教えてください — すぐコードと出力(図表)を作ります。

Discussion