JupyterのSQLマジックコマンド使ってみた
Jupyter NotebookからSQLのSELECT文を実行してPandasのDataframeを作りたい時、いままでだといちいちConnectionオブジェクトを作って、SELECT文を書いて..という風にやっていました。
今までのやり方
import psycopg2 # postgres config connection_config = { 'host': os.environ.get('DB_HOST'), 'port': os.environ.get('DB_PORT'), 'database': os.environ.get('DB_NAME'), 'user': os.environ.get('DB_USER'), 'password': os.environ.get('DB_PASSWORD'), } connection = psycopg2.connect(**connection_config) nikkei_225_df = pd.read_sql(sql='SELECT code FROM market_static_data WHERE nk225 = TRUE;', con=connection, index_col='code' )
つい最近JupyterのSQLマジック関数の存在を知りまして、使ってみて便利だったので以下セットアップから実行までのメモです。
普通にPandas使っているなら、SQLマジック関数のipython-sqlをインストールします。
pip install ipython-sql
新規のセルに
%load_ext sql
これでマジック関数が使えるようになります。DBの接続先を設定します。
%sql prestgres://user@localhost:5432/market_data
準備はこれだけです。
試しに日経平均の採用銘柄を取得するSELECT文を書いてresult_setに代入してあげます。
%sql result_set << SELECT code, name FROM market_static_data WHERE nk225 = TRUE;
さらにresult_setをDataFrame化。
result_set.DataFrame()
ちゃんとDataFrame化されてます!
SQLマジック関数を使うと、いちいちDataframeオブジェクトを作って中身を確認する手間が省けるのでサクッと実行してみたいという時に便利です。
- 作者: 池内孝啓,片柳薫子,岩尾エマはるか,@driller
- 出版社/メーカー: 技術評論社
- 発売日: 2017/09/09
- メディア: 大型本
- この商品を含むブログ (1件) を見る
東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~
- 作者: 塚本邦尊,山田典一,大澤文孝,中山浩太郎,松尾豊[協力]
- 出版社/メーカー: マイナビ出版
- 発売日: 2019/03/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る