FPに必要なデータを取得
Project description
fpy-datareader
日本のファイナンシャルプランニング(FP)に必要な統計データを簡単に取得・処理するPythonライブラリです。
概要
fpy-datareaderは、jpy-datareaderをベースとして、日本の公的統計データから将来収入予測や教育費分析などのFP業務で必要となるデータを効率的に取得・処理するためのライブラリです。
特徴
- 📊 年齢別収入データの補間・予測: 複数の統計調査から年齢別収入カーブを作成
- 💰 生涯収入の計算: 現在の年齢・収入から将来の生涯収入を推定
- 🎓 教育費データの分析: 文部科学省の学習費調査データから詳細な教育費分析
- 🔧 簡単なAPI: 複雑な統計データ処理を簡潔な関数呼び出しで実現
- 📈 成長率・移動平均の自動計算: 収入の年次成長率と平滑化された傾向の算出
インストール
pip install fpy-datareader
必要な依存関係
- Python 3.12以上
- jpy-datareader>=0.1.0
- pandas>=2.0.0
- scipy>=1.16.0
- openpyxl(教育費データ処理用)
e-Stat APIキーの取得
このライブラリを使用するには、e-Stat APIでAPIキーを取得する必要があります。
使用方法
1. 年齢別収入データの分析
賃金構造基本統計調査データ
from fpy_datareader.future_income_estimator import process_wage_structure_survey_data
# APIキーを設定
api_key = "your_estat_api_key"
# 全国の年齢別収入データを取得・処理
income_data = process_wage_structure_survey_data(
api_key=api_key,
start_age=20,
end_age=65,
include_growth_rate=True,
include_growth_ma=True
)
print(income_data.head(10))
都道府県別の収入データ
# 東京都の年齢別収入データ
tokyo_income = process_wage_structure_survey_data_by_prefecture(
api_key=api_key,
area="13000", # 東京都のコード
start_age=20,
end_age=65
)
家計調査データ
from fpy_datareader.future_income_estimator import process_family_income_expenditure_survey_data
# 家計調査から世帯収入データを取得
household_income = process_family_income_expenditure_survey_data(
api_key=api_key,
yyyy=2024,
start_age=25,
end_age=70
)
2. 生涯収入の計算
from fpy_datareader.future_income_estimator import (
add_income_multiplier_columns,
calculate_lifetime_income
)
# 現在30歳、年収500万円の人の生涯収入を計算
lifetime_income = calculate_lifetime_income(
income_data,
current_age=30,
current_income=5000000,
retirement_age=65,
rate_column='growth_rate_ma'
)
print(f"推定生涯収入: {lifetime_income:,.0f}円")
# 年齢別の収入倍率を計算
income_with_multiplier = add_income_multiplier_columns(
income_data,
start_age=30,
end_age=65,
rate_column='growth_rate_ma'
)
3. 教育費データの分析
from fpy_datareader.child_educational_expenses import get_processed_tuition_data
# 子供の学習費調査データを取得・処理
education_costs = get_processed_tuition_data()
# 公立・私立別の年齢別教育費
print(education_costs.groupby(['公立・私立区分', '年齢'])['学習費'].sum())
# 学校種別の平均費用
print(education_costs.groupby('学校')['学習費'].mean())
4. 統合的なデータ作成
from fpy_datareader.future_income_estimator import create_age_income_table
# データソースを指定してワンストップで年齢-収入テーブルを作成
income_table = create_age_income_table(
data_source='wage_structure',
api_key=api_key,
start_age=22,
end_age=65,
method='cubic_spline',
include_growth_rate=True
)
対応データソース
収入関連データ
| データソース | 実施機関 | 特徴 | 関数名 |
|---|---|---|---|
| 賃金構造基本統計調査 | 厚生労働省 | 最も詳細な個人ベース賃金統計 | process_wage_structure_survey_data |
| 賃金構造基本統計調査(都道府県別) | 厚生労働省 | 地域別の詳細賃金データ | process_wage_structure_survey_data_by_prefecture |
| 家計調査 | 総務省統計局 | 世帯の実収入・支出 | process_family_income_expenditure_survey_data |
| 全国家計構造調査 | 総務省統計局 | 5年ごとの詳細な所得・資産調査 | process_family_income_consumption_wealth_survey_data |
| 国民生活基礎調査 | 厚生労働省 | 世帯の所得・生活実態 | process_living_conditions_survey_data |
教育費関連データ
| データソース | 実施機関 | 特徴 | 関数名 |
|---|---|---|---|
| 子供の学習費調査 | 文部科学省 | 幼稚園から高校までの詳細な学習費 | get_processed_tuition_data |
出力データ形式
年齢別収入データ
age income growth_rate growth_rate_ma
20 3500000 0.000000 0.000000
21 3650000 0.042857 0.028571
22 3800000 0.041096 0.041984
...
age: 年齢income: 年収(円)growth_rate: 前年からの成長率growth_rate_ma: 移動平均された成長率
教育費データ
公立・私立区分 学校 学年 年齢 学習費区分1 ... 学習費
公立 幼稚園 1 3 学習費総額 ... 223647
公立 幼稚園 1 3 学習費総額 ... 88818
...
補間・予測機能
線形補間 vs 3次スプライン補間
# 線形補間(デフォルト)
linear_data = interpolate_age_income(
data,
method='linear',
start_age=20,
end_age=65
)
# より滑らかな3次スプライン補間
spline_data = interpolate_age_income(
data,
method='cubic_spline',
start_age=20,
end_age=65
)
範囲外補間の制御
# 定数補間(端点の値を維持)
constant_extrapolation = interpolate_age_income(
data,
extrapolation='constant'
)
# ターミナル補間(0歳と100歳で0円に設定)
terminal_extrapolation = interpolate_age_income(
data,
extrapolation='terminal',
terminal_start=0,
terminal_end=100
)
実用例
1. 地域別生涯収入比較
# 東京と大阪の生涯収入を比較
tokyo_data = process_wage_structure_survey_data_by_prefecture(
api_key, area="13000" # 東京
)
osaka_data = process_wage_structure_survey_data_by_prefecture(
api_key, area="27000" # 大阪
)
tokyo_lifetime = calculate_lifetime_income(
tokyo_data, current_age=25, current_income=4000000, retirement_age=65
)
osaka_lifetime = calculate_lifetime_income(
osaka_data, current_age=25, current_income=4000000, retirement_age=65
)
print(f"東京の生涯収入: {tokyo_lifetime:,.0f}円")
print(f"大阪の生涯収入: {osaka_lifetime:,.0f}円")
print(f"差額: {tokyo_lifetime - osaka_lifetime:,.0f}円")
2. 教育費シミュレーション
# 子供の教育費を年齢別に算出
education_data = get_processed_tuition_data()
# 公立・私立別の総教育費(3歳から18歳まで)
public_total = education_data[
(education_data['公立・私立区分'] == '公立') &
(education_data['年齢'].between(3, 18))
]['学習費'].sum()
private_total = education_data[
(education_data['公立・私立区分'] == '私立') &
(education_data['年齢'].between(3, 18))
]['学習費'].sum()
print(f"公立コース総教育費: {public_total:,.0f}円")
print(f"私立コース総教育費: {private_total:,.0f}円")
print(f"差額: {private_total - public_total:,.0f}円")
エラーハンドリング
try:
income_data = process_wage_structure_survey_data(api_key=api_key)
except ValueError as e:
print(f"パラメータエラー: {e}")
except Exception as e:
print(f"データ取得エラー: {e}")
注意事項
- APIキーの管理: e-Stat APIキーは適切に管理し、公開リポジトリにコミットしないでください
- API利用制限: e-Stat APIには利用制限があります。大量データ取得時は適切な間隔を空けてください
- データの解釈: 各調査は対象範囲や調査手法が異なります。複数の調査結果を比較する際は特性を理解してください
- プライバシー: 実在する個人の収入データを扱う際は、プライバシーに十分配慮してください
ライセンス
このプロジェクトはMITライセンスの下で公開されています。
関連プロジェクト
- jpy-datareader: 日本の統計データ取得の基盤ライブラリ
クレジット
このサービスは、政府統計総合窓口(e-Stat)のAPI機能を使用していますが、サービスの内容は国によって保証されたものではありません。 https://www.e-stat.go.jp/api/api-info/credit
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fpy_datareader-0.1.1.tar.gz.
File metadata
- Download URL: fpy_datareader-0.1.1.tar.gz
- Upload date:
- Size: 26.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46b17cb05b5cb456ec2db72df2301934ae799aca0457bff6ba5d0d25ac56a76e
|
|
| MD5 |
a387af6f1e71b8d6b78a1327161caa4d
|
|
| BLAKE2b-256 |
73a26d144592f0be7dd617fc9ea50bb7a6923eca9c0e7fa6edf48cbb0a56a384
|
File details
Details for the file fpy_datareader-0.1.1-py3-none-any.whl.
File metadata
- Download URL: fpy_datareader-0.1.1-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81a1b5a8adfabb737b79cf0435b65afa7f74cfcd54bf6daed5b18792ea0abdc5
|
|
| MD5 |
743e63c8a32484c1630ed5bb6a243d1c
|
|
| BLAKE2b-256 |
9e1865d6f1db77e6b533f66dfa7fb1c41fda5d2fb79a7007f874164b0d8c20c9
|