Matplotlib & Seaborn 入門講座 | 03.【実践】株価のデータを折れ線グラフで可視化してみよう

オススメ

前回のレッスンでは折れ線グラフについて解説をしました。この動画では実践編としては株価のデータを折れ線グラフで可視化するということやっていきます。

▼目次
00:00 はじめに
01:32 ライブラリのインポート
02:36 日経平均株価データの取得
04:28 線グラフの作成
05:26 グラフサイズの変更
06:33 メモリのサイズを変更
06:55 軸に名前(ラベル)をつける
07:32 グラフにグリッドを表示
08:16 グラフの色を変更
08:44 グラフの線の太さを変更
09:03 グラフの線のスタイルを変更
09:19 グラフにマーカーを追加
09:42 グラフタイトルを追加
10:18 データフレームに行番号を追加
10:47 グラフにアノテーション(矢印付き注釈)を追加
13:15 グラフの保存
13:45 移動平均の計算
15:11 複数の線グラフの表示
15:54 グラフの色をカラーコードで指定
16:11 グラフの判例のサイズを変更

▼おすすめ動画
Python超入門コース

Python超入門コース 合併版|Pythonの超基本的な部分をたった1時間で学べます【プログラミング初心者向け入門講座】

Pandas入門コース

Pythonの便利ライブラリ「Pandas入門コース」合併版|Pandasの基本的なこと3時間で学べます【Python超入門コースの次におすすめの入門講座】

仕事の自動化の再生リスト

Pythonで面倒なExcelの仕事を自動化しよう( 第一弾 )|一瞬で仕事がおわるプログラミング活用術

プログラミング初心者がPythonを完全無料で学習する方法

プログラミング初心者がPythonを完全無料で学習する方法

株のデータ分析

Pythonで株価のデータ分析 |チャートに指標を追加してテクニカル分析【ビットコインや為替 (FX)にも応用できます】

たった1分でPythonのプログラミングを始める|GoogleColaboratoryの使い方

たった1分でPythonのプログラミングを始める|GoogleColaboratoryの使い方

▼SNS
Twitter : https://twitter.com/kino_code/likes
Facebook : https://www.facebook.com/%E3%82%AD%E3%83%8E%E3%82%B3%E3%83%BC%E3%83%89-105693727500005/
Website : https://kino-code.com/

▼文字書き起こし
こんにちは。キノコードです。
前回のMatplotlib & Seaborn 入門コース第二回目では、Matplotlibの基本的な使い方を線グラフを使って解説をしていきました。
具体的には、線グラフの色の変え方、線グラフの太さの変更、タイトルをつけたり、凡例、注釈をつける方法などを勉強していきました。
そして、この動画では、日経平均株価のデータを使って前回学んだことを実践していきたいと思います。
Matplotlib & Seaborn 入門コースでは、株価や仕事でよく使いそうな売上データなどを使って、基礎を解説した動画の次に実践の動画をアップしていく予定です。
つまり、基礎の次に実践、基礎、実践といった感じで、すぐに使える方法やイメージをお伝えできればと思っています。

また、この動画からは、Google Colaboratoryを使っていきます。
Google Colaboratoryは、URLにアクセスするだけPythonやPythonでよく使うライブラリを利用することができます。
つまり、インストールが不要で、GoogleDriveにアクセスさえできれば、すぐに使うことができます。
Google Colaboratoryの使い方についてはこの動画をご覧ください。
会社のパソコンにPythonのインストールが難しい方は、Google Colaboratoryの利用も検討してみてください。

それでは、レッスンをはじめていきましょう。

## ライブラリインポート

それでは、日経平均株価のデータを使って、matplotlibでグラフを作成してみましょう。

“`python
import pandas as pd
from pandas_datareader import data
import matplotlib.pyplot as plt
%matplotlib inline
“`

まずは、ライブラリをインポートする記述をします。
ライブラリとは、よく使う機能や関数をまとめて簡単に使えるようにしたものです。
pandasをインポートします。
pandasはデータ解析を支援する機能を提供するライブラリです。
データ集計やデータ加工といった機能が入っています。
import pandas as pdと書きます。
asはライブラリ名好きな名前にすることができます。
従ってpdという名前でpandasを使うことができます。
pandas_datareaderは、日経平均やナスダック、日本の個別銘柄のデータを取得することができるライブラリです。
matplotlibはグラフを描画するためのライブラリです。
Jupyternotebook上で作成したグラフを表示できるように、%matplotlib inlineと記述しましょう。
実行します。
インポートが完了しました。

## データ取得
“`python
start = ‘2019-11-01’
end = ‘2020-11-01’

df = data.DataReader(‘^N225′,’yahoo’, start, end)
“`

それでは、日経平均株価のデータを取得してみましょう。
startという変数に、取得したいデータの最初の日を記述します。
今回は2019年11月1日からとします。
合わせて、取得したいデータの最後の日をendという変数に代入します。
今回は2020年11月1日までとします。
次に、取得したデータを格納するためのデータフレームを作成します。
dfという変数を記述しイコール、pandas_datareaderの省略名data、ドット、DataReaderの後に丸括弧、丸括弧の中に引数を記述していきます。
第一引数に取得したい株価のティッカーシンボルをシングルコーテーションでくくります。今回は日経平均株価のデータを使用するので、ハットを書いて大文字のN、225と書きます。
次の引数に、yahooファイナンスからデータを取得するのでデータソース名としてyahooと記述しシングルコーテーションでくくります。
最後に取得するデータの期間であるstartとendを記述します。
実行します。
これで、dfという変数に指定した期間の日経平均株価が格納されました。

“`python
df.head(10)
“`

データフレームの中身を確認してみましょう。
上位10件を表示させる記述をします。
df.headの丸括弧の中に10を記述します。
実行します。
上位10件が表示されました。
データの詳細については、python株価コースで詳しく説明しています。
また、基礎からしっかり勉強されたい方はPandas入門コースをご覧ください。
チャンネル登録がまだの方は、登録ボタンをボチッとお願いします。
さてレッスンに戻ります。

## 終値グラフ描画

“`python
x = df.index
y = df[‘Adj Close’]

plt.plot(x,y)
“`

次に、xとyにデータを代入していきます。
xはグラフの横軸、つまりx軸のデータです。
日時のデータを代入するため、df.indexと記述します。
このように記述をすると、データフレームのインデックスを取得できます。
また、先ほどデータフレームをみたように、インデックスは日付です。
つまり、日付のデータを取得できます。
yはグラフの縦軸、つまりy軸のデータです。
ここでは、日経平均株価の調整済みの終値を示すCloseのデータをグラフにしていきましょう。
最後に、データをグラフにプロットする記述をします。
plt.plotの丸括弧の中に、第一引数としてx軸のデータのx、第二引数としてy軸のデータのyを記述します。
実行します。
グラフが表示されました。

▼書き起こしブログ
https://kino-code.com/matplotlib_seaborn-03/

▼お仕事のお問い合わせ
キノコードでは、Webコンサルティング、データ分析、仕事の自動化やシステム開発業務などのお仕事をお受けしています。
お問い合わせ先かTwitterのDMか、「キノコードトップページ→概要」にあるメールアドレスまでお問い合わせください。

#Python #グラフ #Matplotlib #Seaborn

コメント

  1. mofe-chan より:

    株価分析の動画で初めて知った「デッドクロス」,「ゴールデンクロス」がかっこよかったので,
    アノテーションで「デッドクロス!!(赤色)」,「ゴールデンクロス!!(黄色)」ってやって遊んでました.

  2. m tim より:

    いつもわかりやすい解説ありがとうございます。
    動画のannotationの構文に単純なミスがあるのでエラーが出て困っている人はannotaionのところだけ下の構文をコピペしてください。
    plt.annotate(‘points’,xy=(mdates.date2num(x[10]),y[10]),xytext=(mdates.date2num(x[10])+10,24000),fontsize=30,color=’red’,arrowprops=dict(color=’black’))

  3. りさりさと より:

    Google Colaboratoryで入力するときEscキーを押すなどしないと
    文字入力をすぐに受け付けてくれないのは自分だけでしょうか、皆さんはどうですか?

タイトルとURLをコピーしました