Python で pandas を使って 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()