はじめに
本記事では、取得した株価情報と経済指標情報をひとつのデータフレームに統合する方法を紹介します。併せて、データのブランクを埋める方法もご紹介します。なお、本記事は過去の記事 06.個別の株価データの取得 と 08.経済指標データの取得 の続きですので、未読の方はまずこちらをご参照ください。
手順
株価データ・経済指標データを取得し、以下のプログラムを実行することでデータを結合できます。後半で、データにnan
が含まれないよう編集しています。まず、ffill
を用いてnan
に過去の値を代入し、過去の値がない部分は0
を代入するメソッドです。
# 株価データに経済指標データを統合
df_merge = pd.concat([df_stock, df_fred], axis=1)
# データのブランクを穴埋め
df_merge = df_merge.fillna(method='ffill')
df_merge = df_merge.fillna(0)
ソースコード全文
以下にソースコード全文を示します。
!pip install yfinance
# 必要なライブラリをインポート
import yfinance as yf
yf.pdr_override()
import numpy as np
import pandas as pd
from pandas_datareader import data
import datetime
from IPython.display import display
# データの取得開始日・取得終了日を設定
day_start = datetime.date(2021,1,1)
day_end = datetime.date.today() + datetime.timedelta(days=1)
# 銘柄名を変数に格納
stock_name = ["4689.T"]
# 株価データを読み込み
df_stock = data.DataReader(stock_name, day_start, day_end, interval="1d")
# 取得する経済指標を設定
fred_name = ["^N225"]
# 経済指標データ取得
df_fred = data.DataReader(fred_name, day_start, day_end, interval="1d")
# 経済指標データの列名を編集
for i in range(len(fred_name)):
df_fred = df_fred.add_prefix(fred_name[i] + " ")
# 株価データに経済指標データを統合
df_merge = pd.concat([df_stock, df_fred], axis=1)
# データのブランクを穴埋め
df_merge = df_merge.fillna(method='ffill')
df_merge = df_merge.fillna(0)
# 取得したデータを表示
display(df_merge)
プログラムを実行し、コンソール上に指定した期間の統合された株価・経済指標情報が表示されれば成功です。
目次へのリンク