Python tool

Python ツール

Version:
Current
Last modified: June 02, 2020

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

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

from ayx import Alteryx

Alteryx.help()

デザイナーは顧客の Python コードを受け入れますが、Alteryx は顧客の Python コードをサポートしません。

Alteryx パブリック ギャラリーの互換性

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

はじめに

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

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

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

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

  • ayx: Alteryx API : 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. Package.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 でコードを実行します。
  • コードがメソッドAlteryx.write()を呼び出す場合、Jupyter シェルは出力アンカーを介して結果を送信します。
  • Jupyter Notebook には、すべて実行を選択した場合と同様に、すべてのエラー、警告、および印刷ステートメントが表示されます。
生産モード

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

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

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

プロダクションモードスクリプトを編集するには、「インタラクティブモード」を選択し、ジュピターノートブックのセルを編集します。編集が完了したら、[プロダクションモード] を選択します。

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

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

SQLite
  1. Python ツールの 「構成」ウィンドウで「Alteryx」メニューを選択します。
  2. Sqlite 上書きを選択します。
Thumbnail
YXDB

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

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

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

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

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

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

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

  1. [Alteryx]メニューを選択します。
  2. スクリプトのインポートを選択します。
  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 の一部として既にインストールされています。pandas をインポートと Jupyter Notebook でそれにアクセスします。

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

Was This Helpful?

Running into problems or issues with your Alteryx product? Visit the Alteryx Community or contact support.