Python tool

Python ツール

バージョン:
Current
Last modified: December 09, 2020

Python ツールは、Python ユーザー向けのコードエディターです。このツールを使用する前に、Python を習熟しておく必要があります。

Alteryx Python パッケージをインポートしたら、Alteryx.help を実行します。便利な関数についての詳細:

  • from ayx import Alteryx
  • Alteryx.help()

Designer はカスタム Python コードを受け入れますが、Alteryx はカスタム Python コードをサポートしていません。

Alteryx Public Gallery との互換性

gallery.alteryx.com でワークフローの公開を予定していますか? まず、免除を申請 します。この制限は、Alteryx Server および Alteryx Gallery のプライベートインスタンスには適用されません。

はじめに

Python ツールの設定ウィンドウは、Jupyter Notebook に似ています。Jupyter Notebook に慣れていない場合は、ヘルプ > ユーザーインターフェースツアーまたは ヘルプ > Notebook ヘルプに移動します。コードアシスタンスについては、ヘルプ のその他のリファレンスを参照してください。

このツールは Jupyter Notebook インターフェースを模倣していますが、一部のオプションは予想とは異なる動作をする場合があります。

必要なデータサイエンスパッケージのインストール

Python ツールには、次のデータサイエンスパッケージが含まれています。

  • ayx: Alteryx API
  • jupytar: Jupyter metapackage
  • matplotlib: Python plotting package
  • numpy: NumPy、数値、文字列、レコード、およびオブジェクトの配列処理
  • pandas: データ分析、時系列、統計のための強力なデータ構造
  • requests: 人間のための HTTP
  • scikit-learn: 機械学習とデータマイニングのための Python モジュールの一式
  • scipy: SciPy, Python のための科学技術計算
  • six: Python 2 および 3 と互換性のあるユーティリティ
  • SQLAlchemy: データベース抽象化ライブラリ
  • statsmodels: Python の統計計算および統計モデル

追加のパッケージインストール

使用する Designer のバージョンに応じて、Alteryx.installPackages の関数を使用して追加のパッケージをインストールできます。たとえば、keras をインストールする場合:

Python
  1. from ayx import Package
  2.  
  3. Alteryx.installPackages("keras")

追加の Python パッケージをインストールできるのは、Designer を管理者として実行している場合のみです。管理者以外のユーザーは、追加の Python パッケージをインストールできません。

入力の接続

Python ツールは複数入力に対応します。入力を接続した後、ワークフローを実行して入力データストリームをキャッシュする必要があります。次の手順に従って、受信データ接続にアクセスします。

1. Alteryx ライブラリをインポートします。

Python
  1. from ayx import Alteryx

2. 接続にアクセスし、データ参照として使用する変数を入力します。

Python
  1. # Use the method this method to read data from the reference. Replace "CONNECTION_NAME" with the name of your connection.
  2.  
  3. data1 = Alteryx.read("CONNECTION_NAME")
  4.  
  5. # Read in all connections and reference the returned zero-index array. Replace "INDEX_NUMBER" with the appropriate index number from the array.
  6.  
  7. Alteryx.read(Alteryx.getIncomingConnectionNames()[INDEX_NUMBER])

3. Python ツールの使用を開始する前に、ワークフローを実行します。これにより、データがキャッシュされ、ツールからアクセスできるようになります。

Python ツールは、データを Pandas データフレームとして扱います。詳細については、pandas.pydata.org を参照してください。

ツール設定

ワークフロー実行モードの設定

Python ツールを使用するには、次の 2 つのモードを使用できます。

  • インタラクティブ モードを使用して開発を開始します。
  • プロダクション モードを使用すると、開発が完了し、標準の Python インタープリターを使用してコードを実行する場合に速度が向上します。
インタラクティブモード

インタラクティブ ボタンを選択します。開発には、このモードを使用します。このモードでは、ワークフローを再実行してコードの結果を確認する必要なく、Jupyter Notebook を介して受信データを操作できます。

ワークフローを実行すると、Designer は次のタスクを実行します。

  • Designer は、受信データのコピーをキャッシュし、Python ツールで使用できるようにします。
  • Jupyter シェルは Notebook でコードを実行します。
  • コードがメソッド を呼び出す場合、Jupyter シェルは出力アンカーを介して結果を送信します。
  • Jupyter Notebook には、すべて実行 を選択した場合と同様に、すべてのエラー、警告、および印刷ステートメントが表示されます。
プロダクションモード

プロダクション ボタンを選択します。実稼働のモデルには、このモードを使用します。このモードでは、Designer は Jupyter ノートブックのすべての Python セルを単一の読み取り専用スクリプトに統合します。Designer は、そのスクリプトを Python インタープリターに渡します。

ワークフローを実行すると、Designer は次のタスクを実行します:

  • Jupyter シェルをバイパスし、標準の Python インタープリターを使用して読み取り専用スクリプトを実行します。
  • エラー、警告、または印刷ステートメントは表示されません。

プロダクションモードスクリプトを編集するには、インタラクティブモード を選択し、Jupyter Notebook のセルを編集します。編集が完了したら、プロダクション モードを選択します。

データストレージ形式の設定

Python ツールには、SQLite と YXDB の 2 つの形式オプションがあります。

SQLite
  1. Python ツールの設定ウィンドウで、Alteryx メニューをクリックします。
  2. Sqlite override を選択します。
Thumbnail
YXDB

YXDB データストレージ形式を使用するには、次の手順に従います。

  1. Python ツールの設定ウィンドウで、Alteryx メニューを選択します。
  2. チェックマークを削除するには、Sqlite override の選択を解除します。
  SQLite YXDB
Blob サポートなし サポート
空間オブジェクト サポートなし Python ツールと他のツールの間に空間オブジェクトを渡します。Python ツールから空間オブジェクト出力を作成する場合は、メタデータタグを使用します。
列の制限 制限は 2000 です 制限なし
Null 値 Note サポートなし Designer は、数値列または byte 列を float64 データ型 (倍精度浮動小数点型) に変換します。

行の配置を変更しない場合、または GeoSpatial Python を使用する場合は、GeoSpatial データをデータセットから切り取り、Python ツールの後に再結合することをお勧めします。その理由は、 Alteryx Binary テキストと GeoSpatial テキストとの間の変換が遅いためです。

ファイルまたはディレクトリのインポート

ファイルまたはディレクトリは、次の 2 つの方法でインポートできます。

  • Alteryx メニューのインポート関数を使用して、個々の Python スクリプトまたは Jupyter Notebook をインポートします。
  • import コマンドを使用してディレクトリをインポートします。

次の手順に従って、インポート機能を使用して Python スクリプトまたは Jupyter Notebook をインポートします。

  1. Alteryx メニューを選択します。
  2. import script を選択します。
  3. ファイルを選択 を選択します。
  4. .py ファイルまたは .ipynb ファイルに移動し、インポート を選択します。

カーネルメニューを使用する

カーネル メニューからこれらのコマンドのいずれかを発行します。

  • 処理を停止するには、割り込み を選択します。
  • 処理を再開するには、再起動 を選択します。
  • 即時結果のブックをクリアするには、再接続 を選択します。
  • カーネルを変更 は機能を提供しません。
  • Alteryx では、シャットダウン を選択しないことを推奨します。

ベストプラクティス

次のベストプラクティスは、Python ツールを正常に使用するのに役立ちます:

Engine.WorkflowDirectory などのワークフロー定数を参照する場合は、Alteryx.getWorkflowConstant メソッドを使用します。そうしない場合、コードの実行時に、コマンドの結果または出力が Jupyter Notebook のコマンドに完全に置き換わってしまいます。

ワークフロー定数で % ラッパーを使用しないようにします。たとえば、代わりに以下を使用して Engine.WorkflowDirectory を呼び出します。

from ayx import Alteryx

Alteryx.getWorkflowConstant("Engine.WorkflowDirectory")

ツールからのデータ出力

Alteryx.write メソッドを使用して、ツールからデータを出力します。

キャンバス上の他のツールにデータを送信するには、次の方法を使用します:

Python
  1. # Replace "PANDAS_DF" with your data, in DataFrame form.
  2. # Replace "OUTPUT_ANCHOR_NUM" with the number of your output anchor.
  3.  
  4. Alteryx.write(PANDAS_DATAFRAME, OUTPUT_ANCHOR_NUM)

Alteryx.write メソッドは、Pandas データフレームのみを受け入れます。別の形式のデータがある場合は、Pandas ライブラリを使用してデータフレームに変換します。Pandas ライブラリは、Designer の一部として既にインストールされています。import pandas と Jupyter Notebook でそれにアクセスします。

最大 5 つのデータフレームを出力アンカーに送信できます。

役に立ちましたか?

Running into problems or issues with your Alteryx product? Visit the Alteryx Community or contact support. Can't submit this form? Email us.