Python で pandas を使って Act-On データを可視化する方法
Python の豊富なエコシステムを活用することで、作業を迅速に開始し、システム間の連携をより効果的に行うことができます。CData Python Connector for Act-On、pandas および Matplotlib モジュール、SQLAlchemy ツールキットを組み合わせることで、Act-On に接続した Python アプリケーションやスクリプトを構築し、Act-On のデータを可視化できます。この記事では、pandas、SQLAlchemy、Matplotlib の組み込み関数を使用して Act-On のデータに接続し、クエリを実行して結果を可視化する方法を説明します。
CData Python Connector は、組み込みの最適化されたデータ処理機能により、Python での Act-On のデータへのリアルタイムアクセスにおいて比類のないパフォーマンスを提供します。Act-On に対して複雑な SQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされている SQL 操作を Act-On に直接プッシュし、サポートされていない操作(多くの場合、SQL 関数や JOIN 操作)は組み込みの SQL エンジンを使用してクライアント側で処理します。
Act-On のデータへの接続
Act-On のデータへの接続は、他のリレーショナルデータソースへの接続と同様です。必要な接続プロパティを使用して接続文字列を作成します。この記事では、接続文字列を create_engine 関数のパラメータとして渡します。
ActOn はOAuth 認証標準を利用しています。OAuth を使って認証するには、アプリケーションを作成してOAuthClientId、OAuthClientSecret、およびCallbackURL 接続プロパティを取得する必要があります。
認証方法についての詳細は、ヘルプドキュメントの「認証の使用」を参照してください。
以下の手順に従って、必要なモジュールをインストールし、Python オブジェクトを介して Act-On にアクセスしてみましょう。
必要なモジュールのインストール
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 で Act-On のデータを可視化する
接続文字列を使用して接続できます。create_engine 関数を使用して、Act-On のデータを操作するための Engine を作成します。
engine = create_engine("acton:///?")
Act-On への SQL の実行
pandas の read_sql 関数を使用して、SQL ステートメントを実行し、結果セットを DataFrame に格納します。
df = pandas.read_sql("SELECT Id, Name FROM Images WHERE FolderName = 'New Folder'", engine)
Act-On のデータの可視化
クエリ結果が DataFrame に格納されたら、plot 関数を使用して Act-On のデータを表示するグラフを作成します。show メソッドで、グラフを新しいウィンドウに表示します。
df.plot(kind="bar", x="Id", y="Name") plt.show()
無料トライアル & 詳細情報
CData Python Connector for Act-On の 30日間無料トライアルをダウンロードして、Act-On のデータに接続する Python アプリケーションやスクリプトの構築を始めましょう。ご質問がありましたら、サポートチームまでお気軽にお問い合わせください。
完全なソースコード
import pandas
import matplotlib.pyplot as plt
from sqlalchemy import create_engin
engine = create_engine("acton:///?")
df = pandas.read_sql("SELECT Id, Name FROM Images WHERE FolderName = 'New Folder'", engine)
df.plot(kind="bar", x="Id", y="Name")
plt.show()