05-15-2020 12:31 PM - 最終編集日: 12-17-2020 11:15 AM 、編集者: klikes
この記事はツールマスタリーシリーズの一部で、Designer ツールの使用に役立つさまざまな活用例をナレッジベースにまとめたものです。ここでは、 Alteryx Designer を習得するための一歩として、Python ツールの使用について深く掘り下げて説明します。
Python は、世界で最も急速に成長しているプログラミング言語 の 1 つであり、基本的なデータ操作からデータサイエンスやソフトウェア開発に至るまで、さまざまなアプリケーションに使用されています。2018.3 のリリースに伴い、待望の Python ツールが登場しました! R ツールと同様に Python ツールを使用すると、Alteryx ワークフローの一部としてコードをシームレスに実行できます。また、このツールを最大限に活用するためには、Python のコーディング知識が必要です。このツールマスタリー記事では、このツールを使用するための基礎を紹介します。
最初に Python ツールをキャンバスにドロップすると、ツールの設定ウィンドウに次の画面が表示されます。これは、Pythonツールを新しい入力データソースに接続するたびにワークフローを実行するように通知させるためのものです。これにより、入力データが Pythonツールに取り込まれ、Python コードに取り込むことができます。
上記の設定ウインドウのテキストで記述されているとおり、 Jupyter Notebook インターフェースを起動して実行するには、ひたすら待つのみです。Designer のインスタンスで Python ツールを初めて開いたときに Jupyter Notebook インターフェースが提供されるまでに数秒かかります。最初に表示されるメッセージは、Jupyter Notebook インターフェースに置き換えられます。
Jupyter Notebook の一般的な紹介については、初心者向けガイド のドキュメントをご覧ください。
Python ツールを使用する最初のコーディング手順は、Alteryx API パッケージをインポートすることです。これにより、Alteryx Engine と Python ツールの間でデータを渡すことができます。Alteryx Engine からデータを読み込むか、Python ツールから Engine にデータをプッシュする場合、コードは次のように開始する必要があります。
from ayx import Alteryx
このコードは非常に基本的なものであるため、Python ツールの最初のセルに自動的に入力されます。
Python ツールで個別のセルを実行するには、上部のツールバーの再生ボタンをクリックするか、キーボードショートカットの Shift + Enter を使用します。
Python ツールには、ayx パッケージに加えて、既定で読み込まれるいくつかの python パッケージが付属しています。これらのパッケージは ヘルプ & ドキュメント にリストされており、主にデータサイエンスに関連しています。これらのプリインストールされた各パッケージの機能について学べる素晴らしい 記事 もあります。既にインストールされているパッケージを読み込むには、Alteryx の外部で Python スクリプトを作成する場合と同様に、import コマンドを使用します。既定でツールに含まれていない python ライブラリをインストールする場合は、Package.installPackages() 関数を使用します。
セル番号が通常表示される箇所にある「*」アスタリスクは、セルが現在実行されていることを意味します。
パッケージのインストールが成功すると、インストールされているパッケージの依存関係とバージョンに関連する次のメッセージが表示されます。
オプション: このデモに沿って進みたい場合は、この記事に添付されている Iris データセット (iris.yxdb) をダウンロードしてください。
Alteryx の入力アンカーを使用してデータを取り込む場合は、ワークフローを最初に実行して notebook で受信データを利用できるようにする必要があります。ワークフローを実行した後、Alteryx.read() 関数を使用してデータを Python に取り込むことができます。
この関数の唯一の引数は、読み取り中の特定の接続です。R ツールと同様に、この引数は文字列であり、引用符で囲む必要があります。
このデータストリームを変数名のデータとして読み込むには、コードは次のようになります。
data = Alteryx.read("#1")
ワークフロー全体を実行する前にデータを読み取ろうとすると、おそらく FileNotFoundError というエラーメッセージが表示されます。
解決策は、ワークフローを保存してからワークフローを実行することです。次回、再生ボタンを使用してセル内のコードを実行すると、エラーが解決されます。
Python ツールに読み込まれたものはすべて、Pandas データフレーム として読み込まれます。これにより、Python でのデータ処理の柔軟性が向上します。データ形式を読み込んだ後に変更できますが、出力を Pandas data frame に戻す必要があります。
データの取り込みが完了したので、ここから分析したいと思います。まず、save/checkpoint ボタンの横にあるプラスアイコンをクリックして新しいセルを作成するか、キーボードショートカット B を使用して現在のセルの下にセルを追加します。
他の便利なセルおよび notebook 機能も、このツールバーの Insert Cell Below ボタンの右側にあります。 ボタンは左から順番に、Save、Add a Cell 、 Cut Cell(s)、Copy Cell(s)、 Paste Cell(s)、 Move Cell(s) UP、 Move Cell(s) Down、 Run 、 Stop、 Restart the Kernel 、 Restart the Kernel and Rerun the Notebook これらのボタンにはすべて、キーボードショートカットが関連付けられています。Jupyter Notebook のキーボードショートカットの完全なリストを表示するには、上部のツールバーの Help > Keyboard Shortcuts に移動します。
このデモでは、アイリスの花のデータセットに対してクラスター分析を実行します。新しいセルで Sci-kit learn Python モジュール (Alteryx Python Tool Installation に含まれています) から KMeans 関数 を読み込み、クラスターの作成と結果のクラスターラベルを印刷するための簡単なコードを記述します。
これで、 matplotlib.pyplot python ライブラリ (既定で Python ツールにも含まれています) を使用してクラスターを可視化できます。
最後に、Python ツールからの出力の書き込みは、with Alteryx.write() 関数を使用して実行できます。この関数は現在、Pandas data frame でのみサポートされています。データフレーム以外のものを書き込もうとすると、次の TypeError が発生します。
このエラーは、出力を Pandas データフレーム に変換することで解決できます。まだ Pandas データフレーム に精通していない場合は、Pandas データ構造の入門 や 10 分間で Pandas ドキュメントを学習 が役立つでしょう。 Python ツールで Alteryx.write() を使用してコードを記述したら、ワークフロー全体を実行する必要があります。ツールの出力アンカーで結果を確認します。
あとはワークフローを実行するだけで、Python ツール出力のアンカー 1 に結果が表示されます。
この概要で、Python ツールを使ったデータの読み取り、書き込み、処理を快適に行えることを願っています。後は想像力を働かせるだけです!
知っておくべきこと&今後のアップデート
このツールに関するご意見がありましたら、製品のアイデアページ に投稿してください。ツールの機能や制限に関するみなさんのアイデアを心よりお待ちしています。
これで、Pythonツールのエキスパートレベルの習熟度が得られました。他にもユースケースをご存知の場合は、以下のコメント欄でお知らせください!もうツールマスターですか?あなたの作成したクリエイティブなツールをツールマスタリーシリーズに掲載したい場合は、 community@alteryx.com までお知らせください。
Twitter で Alteryx を フォロー して Tool Tuesday の最新の投稿をご確認ください! Designer ツールのすべてをマスターしたい方は、 Eメールでのお知らせに 登録 されることをお薦めします。
このページでPythonツールの勉強を始めました。
上記の手順に従い、「ツールに含まれていない python ライブラリをインストールする」ために以下のセルを実行すると
Package.installPackages(['nltk'])
正常にインストールされると
Successfully installed nktk-3.4 singledispatch-3.4.0.3
などと出るべきところ、以下のエラーが出ます。
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 829: invalid start byte
"0x83 utf-8 python alteryx" で ネット検索したところ、Classmethodさんの下記サイトで
https://dev.classmethod.jp/articles/alteryx-python-tool-admin-nonadmin/
Admin版のAlteryx Designerを一般ユーザで利用すると、インストールするためにパッケージのファイルを追加する権限がないため、エラーとなります。
...
インストールに失敗したエラーメッセージを出力しようとして、そのprintがUnicodeDecodeErrorを吐いています。 そのため、元のエラーメッセージを見逃しがちなのでご注意下さい。
これを回避するには、一度Alteryx Designerを管理者として起動して、パッケージのインストールのみを行っておきます。
とあったので、言われた通り管理者権限でDesignerを起動したところ、正常にインストールできました。
他の方のご参考として記載しておきます。