Python ツール

Python ツールは Python ユーザー用のコードエディターです。 このツールを使用する前に、Python を習熟しておくことをお勧めします。

便利な機能についての情報は Alteryx.help を実行してください。 これを行うには、モジュールをインポートした後に関数を実行します:
from ayx import Alteryx
Alteryx.help()

Python サポート

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

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

Gallery.alteryx.comへのワークフローの公開を計画していますか?まず、免除を申請する必要があります。 この制限は、Alteryx サーバーと Alteryx ギャラリーのプライベートインスタンスには適用されません。

はじめに

Python ツールの設定ウィンドウのインターフェースは Jupyter Notebook に似ています。 Jupyter Notebooks をよくご存知でない場合は、[ヘルプ] > [ユーザーインターフェースツアー] または{ヘルプ] > [ノートブックヘルプ] をご覧ください。 コードに関するサポートについては、ツールの[ヘルプ] オプションで追加の参照をご覧ください。

このツールのインターフェースは Jupyter Notebook に似ていますが、Designer の制約内であるため、一部のオプションは標準の Jupyter Notebook の動作とは異なります。

必要に応じて追加のデータサイエンスパッケージをインストール

Python ツールには、以下の一般的なデータサイエンスパッケージが含まれています:

  • ayx: Alteryx API
  • geopandas: パンダが使用するデータ型を拡張して、幾何学的型に対する空間操作を可能にします。: パンダが使用するデータ型を拡張して、幾何学的型に対する空間操作を可能にします。span
  • jupyter: Jupyter メタパッケージ
  • matplotlib: Python プロットパッケージ
  • numpy: NumPy、数値、文字列、レコード、オブジェクトの配列処理
  • pandas: データ分析、時系列、統計のための強力なデータ構造
  • requests: 人間のための Python HTTP
  • scikit-learn: 機械学習とデータマイニングのための Python モジュール一式
  • scipy: SciPy、Python 科学計算ライブラリ
  • six: Python 2 および 3 の互換性ユーティリティ
  • SQLAlchemy: データベース抽象化ライブラリ
  • statsmodels: Pythonの統計計算とモデル

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

使用している Designer のインストールタイプに応じて、Alteryx.installPackages を使用して追加のパッケージをインストールできます。 下記の例では、keras をインストールしています。

from ayx import Package
Package.installPackages("keras")
  • 非管理者として Alteryx を実行している場合は、特別な許可なしで追加の Python パッケージをインストールできます。
  • 管理者として Alteryx を実行している場合は、最初に管理者として Alteryx を実行し、追加の Python パッケージをインストールする必要があります。 管理者として Alteryx を実行できない場合は、追加の Python パッケージをインストールすることはできません。

入力を接続する

Python ツールは複数入力に対応します。 入力が接続されたら、ワークフローを実行して受信データストリームをキャッシュする必要があります。

受信データ接続にアクセスするには:

  1. Alteryx ライブラリをインポート: from ayx import Alteryx
  2. 接続にアクセスし、データ参照を使用するための変数を入力します:
    • 接続名: Alteryx.read("<connection name>") を使用します。
    • from ayx import Alteryx
      data1 = Alteryx.read("#1")
    • すべての接続を読み取り、返された 0 インデックス配列を参照します: Alteryx.read(Alteryx.getcomingConnectionNames()[])<index number=""></index>
    • from ayx import Alteryx
      data2 = Alteryx.read(Alteryx.getIncomingConnectionNames()[1])
  3. Python ツールを使い始める前にワークフローを実行してください。 ワークフローを実行するとデータがキャッシュされ、Python ツールにアクセスできるようになります。 データは pandas データフレームとして扱われます。 pandas データフレームについての詳細は、pandas.pydata.org を参照してください。

ツールを設定する

Python ツールを使い始める前にワークフローを実行してください。

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

[インタラクティブモード] を使って開発を始めます。 これにより、すべてのエラー、警告、印刷ステートメントが Jupyter Notebook に表示されます。 開発が完了し、標準の Python インタープリターを使用してコードを実行する場合は、[プロダクションモード] を使用して速度を向上させます。

コードの開発が完了したら、[プロダクションモード] に切り替えます。 これにより、ワークフローの実行時にコードがより効率的に実行されます。

マルチバイト文字セット (MBCS) を印刷する必要がありますか? プロダクションモードでマルチバイト文字セット (MBCS) を印刷する手順について、トラブルシューティングを参照してください。


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

推奨されるデフォルトのバックエンドストレージ形式は YXDB です。 または、SQLite を選択することもできます。

  SQLite YXDB
BLOB サポートされていない サポートされている
空間オブジェクト サポートされていません

Python ツールと他のツール間で空間オブジェクトを渡すことをサポートします。

Python ツールから空間オブジェクト出力を作成する場合は、メタデータタグを使用すると便利です。

空間オブジェクト列は、geojson を含む文字列としてpandas DataFrame に読み込まれます。 空間列 (geojson の文字列として表される)を Python ツールから送り返すには、型を SpatialObj として指定し、オプションの 3 番目のパラメーター "'Alteryx.write()" を含める必要があります。 (例: `Alteryx.write(df, 1, {"my_spatial_field": {"type": "SpatialObj"}})`)

さらに、"geopandas" のようないくつかのパッケージとその依存関係も含まれており、さらなる空間データを利用するために Python ツールにインポートできます。

列の制限 制限は 2000 です 制限なし
Null 値ノート 数値/Byte 列に Null 値が含まれる場合は、float64 の倍精度浮動小数点数のデータ型に変換されます。 YXDB は、numpy を使用して float64 の Null 値をサポートします。NaN と pandas 型 NULL 可能整数を使用した整数型です。

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

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

相対パスをどの程度制御したいかに応じて、Alteryx メニューから Alteryx インポート機能を使用するか、インポートコマンドを使用することができます。 Alteryx インポート機能を使用して、既存の Python スクリプトまたは Jupyter Notebook をインポートできます。 相対パスを管理したい場合は、セル内でインポートコマンドを使用してください。 インポートの例としては、インポートコマンドを使用してディレクトリをインポートすること、または Alteryx インポート機能を使用して単一のスクリプトをインポートすることが挙げられます。

Python スクリプト、Jupyter Notebook のインポート

  1. Alteryx メニューをクリックして、[スクリプトをインポート] を選択します。
  2. [ファイルを選択] をクリックして.pyまたは.ipynbファイルに進みます。
  3. [インポート] をクリックします。

Alteryx はファイルをインポートします。

カーネルメニューを使用

  • 処理を停止する: 処理を停止するには、[カーネル] メニューをクリックし、[中断] を選択します。
  • 処理を再開する: [カーネル] メニューをクリックし、[再開] オプションを選択してインタラクティブ環境の処理を再開します。
  • 処理を再接続する: [カーネル] メニューをクリックし、[再接続] を選択して中間結果のワークブックを消去します。
  • [カーネルの変更] は機能しません。
  • [シャットダウン] を選択しないことをお勧めします。

ツールからのデータ出力

ツールからのデータ出力には、Alteryx.write を使用してください。

  • キャンバス上の他のツールにデータを送信するには、Alteryx.write(<pandas data frame>, <output anchor number>) を使用します。
    Alteryx.write(df,1)
  • Alteryx.write は pandas データフレームのみに対応します。 データが別の形式の場合は、pandas ライブラリを使用して pandas データフレームに変換してください。 pandas ライブラリーは Designer でプレインストールされており、[pandasをインポート] を使用して、Jupyter Notebook でアクセスすることができます。
  • 最大5つのデータフレームを出力アンカーに送信できます。

ベストプラクティス

以下のベストプラクティスは、Python ツールをうまく使用するのに役立ちます。

トラブルシューティング