Python で pandas を使って EnterpriseDB データを可視化する方法

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
pandas などのモジュールを使って Python で EnterpriseDB のデータをリアルタイムに分析・可視化する方法を紹介します。

Python の豊富なエコシステムを活用することで、作業を迅速に開始し、システム間の連携をより効果的に行うことができます。CData Python Connector for EnterpriseDB、pandas および Matplotlib モジュール、SQLAlchemy ツールキットを組み合わせることで、EnterpriseDB に接続した Python アプリケーションやスクリプトを構築し、EnterpriseDB のデータを可視化できます。この記事では、pandas、SQLAlchemy、Matplotlib の組み込み関数を使用して EnterpriseDB のデータに接続し、クエリを実行して結果を可視化する方法を説明します。

CData Python Connector は、組み込みの最適化されたデータ処理機能により、Python での EnterpriseDB のデータへのリアルタイムアクセスにおいて比類のないパフォーマンスを提供します。EnterpriseDB に対して複雑な SQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされている SQL 操作を EnterpriseDB に直接プッシュし、サポートされていない操作(多くの場合、SQL 関数や JOIN 操作)は組み込みの SQL エンジンを使用してクライアント側で処理します。

EnterpriseDB のデータへの接続

EnterpriseDB のデータへの接続は、他のリレーショナルデータソースへの接続と同様です。必要な接続プロパティを使用して接続文字列を作成します。この記事では、接続文字列を create_engine 関数のパラメータとして渡します。

データに接続するには、以下の接続プロパティが必要です。

  • Server: EnterpriseDB データベースをホスティングしているサーバーのホスト名またはIP アドレス。
  • Port: EnterpriseDB データベースをホスティングしているサーバーのポート。

オプションで、以下を設定することもできます。

  • Database: EnterpriseDB サーバーに接続する場合のデフォルトのデータベース。設定されていない場合は、ユーザーのデフォルトデータベースが使用されます。

Basic 認証による接続

Basic 認証を使って認証するには、以下を設定します。

  • User:EnterpriseDB サーバーに認証する際に使われるユーザー。
  • Password:EnterpriseDB サーバーに認証する際に使われるパスワード。

SSL 認証による接続

SSL 認証を利用して、セキュアなセッションを介してEnterpriseDB データに接続できます。以下の接続プロパティを設定して、データに接続します。

  • SSLClientCert:クライアント証明書のための証明書ストア名に設定します。クライアントとサーバーの両方のマシンでトラストストアとキーストアが保持される2-way SSL の場合に使用されます。
  • SSLClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合、この値をストアのパスワードに設定します。
  • SSLClientCertSubject:TLS/SSL クライアント証明書のSubject。ストア内の証明書を検索するために使用されます。
  • SSLClientCertType:クライアントストアの証明書タイプ。
  • SSLServerCert:サーバーが受け入れ可能な証明書。

以下の手順に従って、必要なモジュールをインストールし、Python オブジェクトを介して EnterpriseDB にアクセスしてみましょう。

必要なモジュールのインストール

pip ユーティリティを使用して、pandas、Matplotlib モジュール、および SQLAlchemy ツールキットをインストールします。

pip install pandas
pip install matplotlib
pip install sqlalchemy

以下のようにモジュールをインポートしてください。

import pandas
import matplotlib.pyplot as plt
from sqlalchemy import create_engine

Python で EnterpriseDB のデータを可視化する

接続文字列を使用して接続できます。create_engine 関数を使用して、EnterpriseDB のデータを操作するための Engine を作成します。

engine = create_engine("enterprisedb:///?User=postgres&Password=admin&Database=postgres&Server=127.0.0.1&Port=5444")

EnterpriseDB への SQL の実行

pandas の read_sql 関数を使用して、SQL ステートメントを実行し、結果セットを DataFrame に格納します。

df = pandas.read_sql("SELECT ShipName, ShipCity FROM Orders WHERE ShipCountry = 'USA'", engine)

EnterpriseDB のデータの可視化

クエリ結果が DataFrame に格納されたら、plot 関数を使用して EnterpriseDB のデータを表示するグラフを作成します。show メソッドで、グラフを新しいウィンドウに表示します。

df.plot(kind="bar", x="ShipName", y="ShipCity")
plt.show()

無料トライアル & 詳細情報

CData Python Connector for EnterpriseDB の 30日間無料トライアルをダウンロードして、EnterpriseDB のデータに接続する Python アプリケーションやスクリプトの構築を始めましょう。ご質問がありましたら、サポートチームまでお気軽にお問い合わせください。



完全なソースコード

import pandas
import matplotlib.pyplot as plt
from sqlalchemy import create_engin

engine = create_engine("enterprisedb:///?User=postgres&Password=admin&Database=postgres&Server=127.0.0.1&Port=5444")
df = pandas.read_sql("SELECT ShipName, ShipCity FROM Orders WHERE ShipCountry = 'USA'", engine)

df.plot(kind="bar", x="ShipName", y="ShipCity")
plt.show()

はじめる準備はできましたか?

EnterpriseDB Connector のコミュニティライセンスをダウンロード:

 ダウンロード

詳細:

EnterpriseDB Icon EnterpriseDB Python Connector お問い合わせ

EnterpriseDB データ接続用のPython コネクタライブラリ。Pandas、SQLAlchemy、Dash & petl など人気のPython ツールとEnterpriseDB を連携。