「Pythonでリアルタイムの為替レートを取得したい」
「APIの登録をせずに円ドルのレートを取得したい」
「Webスクレイピングを行わずに為替の情報を収集したい」
このような場合には、pandas-datareaderがオススメです。
この記事では、pandas-datareaderについて解説しています。
本記事の内容
- pandas-datareaderとは?
- pandas-datareaderのシステム要件
- pandas-datareaderのインストール
- pandas-datareaderの動作確認「為替レートの取得」
それでは、上記に沿って解説していきます。
pandas-datareaderとは?
pandas-datareaderは、最新のリモートデータアクセスを可能にします。
これだけでは意味がわかりませんね。
pandas-datareaderとは、汎用データアクセスAPIと言えるかもしれません。
pandas-datareader一つで様々なデータを取得することが可能です。
現在サポートされているのは、以下のデータソース(サービス)となります。
- Tiingo
- IEX
- Alpha Vantage
- Econdb
- Enigma
- Quandl
- St.Louis FED (FRED)
- Kenneth French’s data library
- World Bank
- OECD
- Eurostat
- Thrift Savings Plan
- Nasdaq Trader symbol definitions
- Stooq
- MOEX
- Naver Finance
- Yahoo Finance
この中では、金融のデータリソースとして「Yahoo Finance」が利用されています。
そして、今回の記事でも「Yahoo Finance」のデータを取得します。
具体的な取得方法は、後述の動作確認の箇所で説明しています。
以上、pandas-datareaderについて説明しました。
次は、pandas-datareaderのシステム要件を確認します。
pandas-datareaderのシステム要件
現時点(2022年1月)でのpandas-datareaderの最新バージョンは、0.10.0となります。
この最新バージョンは、2021年7月13日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
サポート対象となるPythonのバージョンは、以下となっています。
- Python 3.6
- Python 3.7
- Python 3.8
そうは言っても、python 3.6以降であれば問題なく動くでしょう。
しかし、Python 3.7以降を利用することをオススメします。
以下は、Python公式開発サイクルです。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
Python 3.6は、2021年末でサポートが切れました。
そのため、Python 3.6の利用は避けた方が無難です。
ここでpandas-datareaderのシステム要件をまとめます。
基本的には、Python 3.6以降であれば動くでしょう。
ただ、依存するパッケージが複数存在しています。
- pandas>=1.0
- lxml
- requests>=2.19.0
そして、そのパッケージはバージョン指定されています。
しかし、pipでインストールすれば特に気にする必要はありません。
その辺の面倒なことをカバーするのが、パッケージ管理システムですからね。
以上、pandas-datareaderのシステム要件を説明しました。
次は、pandas-datareaderをインストールします。
pandas-datareaderのインストール
検証は、次のバージョンのPythonで行います。
$ python -V Python 3.10.1
まずは、現状のインストール済みパッケージを確認しておきます。
$ pip list Package Version ---------- ------- pip 21.3.1 setuptools 60.2.0 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、pandas-datareaderのインストールです。
pandas-datareaderのインストールは、以下のコマンドとなります。
pip install pandas-datareader
インストールは、少しだけ時間がかかります。
では、どんなパッケージがインストールされたのかを確認しましょう。
$ pip list Package Version ------------------ --------- certifi 2021.10.8 charset-normalizer 2.0.10 idna 3.3 lxml 4.7.1 numpy 1.22.0 pandas 1.3.5 pandas-datareader 0.10.0 pip 21.3.1 python-dateutil 2.8.2 pytz 2021.3 requests 2.27.0 setuptools 60.2.0 six 1.16.0 urllib3 1.26.7 wheel 0.36.2
依存関係のあるパッケージは、そこそこありますね。
pandas-datareaderの既存環境への導入は、依存関係にやや注意しないといけません。
以上、pandas-datareaderのインストールを説明しました。
次は、pandas-datareaderの動作確認を行います。
pandas-datareaderの動作確認「為替レートの取得」
pandas-datareaderを使って、米ドル/円(USD/JPY)の為替レートを取得します。
次のコードにより、リアルタイムの為替レートが取得できます。
from pandas_datareader.data import get_quote_yahoo result = get_quote_yahoo('JPY=X') ary_result = result["price"].values price = ary_result[0] print(price)
上記を実行した結果は、以下。
115.98
そして、同じタイミングで確認したレートは以下。
Yahoo financeで確認した結果です。
https://finance.yahoo.com/
タイミング良く同じ価格になりました。
もちろん、タイミングによっては多少の差異はあるでしょう。
以上、pandas-datareaderの動作確認「為替レートの取得」の説明でした。