0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

機械学習で株価分析 09.取得したデータの統合

Posted at

はじめに

本記事では、取得した株価情報と経済指標情報をひとつのデータフレームに統合する方法を紹介します。併せて、データのブランクを埋める方法もご紹介します。なお、本記事は過去の記事 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)

プログラムを実行し、コンソール上に指定した期間の統合された株価・経済指標情報が表示されれば成功です。

目次へのリンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?