今日はPythonでPostgreSQLに格納されているデータを呼び出す方法を紹介します。
あまりにも有名な話ですので、今更ですが、たまたま本日
Postgresにある大量データをPythonでもって時系列分析する必要が出たため、
備忘的な意味合いで記事にしようと思いました。
PythonからPostgreSQLにコネクトするための代表的なライブラリはpsycopg2かと思います。
本記事はpsycopg2を使ってPostgreSQLに接続→SQL実行→データフレームにセットまでの流れを説明します。
psycopg2をインストールする
まずはpsycopg2をインストールします。
詳細は以下のサイトをご覧ください。
psycopg2 – Python-PostgreSQL Database Adapter
Project description
Psycopg is the most popular PostgreSQL database adapter for the Python programming language. Its main features are the complete implementation of the Python DB API 2.0 specification and the thread safety (several threads can share the same connection).
https://pypi.org/project/psycopg2/
ターミナルを立ち上げて、以下を実行ください。
①pipのバージョンを最新にする pip install --upgrade pip ②psycopg2をインストールする pip install psycopg2
Jupyter Notebookを起動する
Jupyter Notebookを起動します。
インストールされていない方は単体で設定するよりも、Anacondaをインストールすることをお勧めします。
Anaconda
Anacondaは、 科学計算(データサイエンス、機械学習アプリケーション、大規模データ処理、予測分析など)のためのPythonおよびR言語の無料のオープンソースディストリビューションであり、パッケージ管理とデプロイメントを簡略化することを狙ったものである。
出典:wikipedia(https://ja.wikipedia.org/wiki/Anaconda_(Pythonディストリビューション))
https://www.anaconda.com
Jupyter Notebook
Jupyter Notebook (旧IPython Notebooks)はJupyter Notebookドキュメントを作成・共有するためのウェブアプリケーションである。Jupyter Notebookドキュメントはプログラムコード、Markdownテキスト、数式、図式等を含むことができる。これにより数値計算アルゴリズムとシミュレーション結果、統計解析コードとその実行結果グラフ、機械学習モデルと推論出力など、様々なプログラムとその結果を再実行可能な1つのドキュメントとして表現できる。
出典:wikipedia(https://ja.wikipedia.org/wiki/Project_Jupyter#Jupyter_Notebook)
https://jupyter.org
Jupyter Notebookを起動し、以下を実行します。
①ライブラリをImport
import pandas as pd import psycopg2 as pg
②Postgresに接続
conn = pg.connect("host='localhost' port=5432 dbname=xxxx user=xxxx password='xxxx'")
③SQLの準備
sql = "select * from xxxx;"
④データセット
df = pd.read_sql_query(sql, conn) conn = None
⑤データセットした内容を表示
df
以上です。
実行内容は以下の画像の通りです。
PythonでPostgresをご利用の際にはご参考いただければと。
では。