Skip to main content

Python tool Python-Tool

One-Tool-Beispiel

Es gibt ein One-Tool-Beispiel für Python. Unter Beispiel-Workflows erfahren Sie, wie Sie dieses und viele weitere Beispiele direkt in Alteryx Designer aufrufen können.

Das Python-Tool ist ein Code-Editor für Python-Benutzer. Sie sollten Python beherrschen, bevor Sie dieses Tool verwenden.

Nachdem Sie das Alteryx Python-Paket importiert haben, führen Sie Alteryx.help aus, um Informationen zu nützlichen Funktionen zu erhalten:

  • from ayx import Alteryx

  • Alteryx.help()

Wichtig

Obwohl Designer benutzerdefinierten Python-Code akzeptiert, bietet Alteryx keine Unterstützung für benutzerdefinierten Python-Code.

Erste Schritte

Das Konfigurationsfenster für Python-Tools ähnelt einem Jupyter Notebook. Wenn Sie mit Jupyter Notebooks nicht vertraut sind, gehen Sie zu Hilfe > Benutzeroberflächentour oder Hilfe > Notebook-Hilfe. Codeunterstützung finden Sie in den zusätzlichen Verweisen unter Hilfe.

Anmerkung

Obwohl das Tool die Jupyter Notebook-Schnittstelle imitiert, verhalten sich einige Optionen möglicherweise anders als erwartet.

Installieren Sie die Data-Science-Pakete, die Sie benötigen

Das Python-Tool enthält die folgenden Data-Science-Pakete:

  • ayx: Alteryx API

  • jupyter: Jupyter-Metapaket

  • matplotlib: Python-Diagrammerstellungspaket

  • numpy: NumPy, Array-Verarbeitung von Zahlen, Zeichenfolgen, Datensätzen und Objekten.

  • pandas: Leistungsstarke Datenstrukturen für Datenanalyse, Zeitreihen und Statistiken

  • Anfragen: HTTP für Menschen

  • scikit-learn:: Ein Satz von Python-Modulen für Machine Learning und Data Mining

  • scipy: SciPy, Scientific Library for Python

  • six: mit Python 2 und 3 kompatible Hilfsprogramme

  • SQLAlchemy: Database Abstraction Library

  • statsmodels: Statistische Berechnungen und Modelle für Python

Zusätzliche Paket-Installation

Je nachdem, welche Version von Designer Sie verwenden, können Sie zusätzliche Pakete mit der Funktion Alteryx.installPackages installieren. Installieren Sie z. B. keras:

   from ayx import Package

Package.installPackages("keras")

Sie können zusätzliche Python-Pakete nur installieren, wenn Sie Designer als Administrator ausführen. Nicht-Admin-Benutzer:innen können keine zusätzlichen Python-Pakete installieren.

Eingaben verbinden

Das Python-Tool akzeptiert mehrere Eingaben. Nachdem Sie Eingaben verbunden haben, müssen Sie den Workflow ausführen, um die eingehenden Datenströme zwischenzuspeichern. Führen Sie die folgenden Schritte aus, um auf eine eingehende Datenverbindung zuzugreifen:

1. Importieren Sie die Alteryx-Bibliothek:

   from ayx import Alteryx

2. Greifen Sie auf die Verbindung zu, und stellen Sie eine Variable bereit, die als Datenreferenz verwendet werden soll:

   # Use the method this method to read data from the reference. Replace "CONNECTION_NAME" with the name of your connection.

data1 = Alteryx.read("CONNECTION_NAME")

# Read in all connections and reference the returned zero-index array. Replace "INDEX_NUMBER" with the appropriate index number from the array.

Alteryx.read(Alteryx.getIncomingConnectionNames()[INDEX_NUMBER])

3. Führen Sie Ihren Workflow aus, bevor Sie mit der Arbeit mit dem Python-Tool beginnen. Dadurch werden Ihre Daten zwischengespeichert und für das Tool zugänglich gemacht.

Anmerkung

Das Python-Tool behandelt Ihre Daten als Pandas DataFrame. Weitere Informationen finden Sie unter pandas.pydata.org.

Tool-Konfiguration

Workflow-Ausführungsmodus festlegen

Sie haben die Möglichkeit, zwei Modi zum Arbeiten mit dem Python-Tool zu verwenden:

  • Verwenden Sie den Modus Interaktiv, um die Entwicklung zu starten.

  • Verwenden Sie den Modus Produktion, um die Geschwindigkeit zu erhöhen, wenn Sie die Entwicklung abgeschlossen haben und Ihren Code über einen Standard-Python-Interpreter ausführen möchten.

Interaktiver Modus

Wählen Sie die Schaltfläche Interaktiv aus. Verwenden Sie diesen Modus für die Entwicklung. In diesem Modus können Sie mit eingehenden Daten über ein Jupyter Notebook interagieren, ohne den Workflow erneut ausführen zu müssen, um die Ergebnisse Ihres Codes anzuzeigen.

Wenn Sie Ihren Workflow ausführen, führt Designer die folgenden Aufgaben aus:

  • Designer speichert eine Kopie der eingehenden Daten zwischen und stellt sie dem Python-Tool zur Verfügung.

  • Die Jupyter-Shell führt den Code im Notebook aus.

  • Wenn Ihr Code die Methode Alteryx.write() aufruft, sendet die Jupyter-Shell Ergebnisse durch die Ausgabeanker.

  • Das Jupyter Notebook zeigt alle Fehler, Warnungen und Druckanweisungen an, genau wie bei der Auswahl Alle ausführen.

Produktionsmodus

Wählen Sie die Schaltfläche Produktion aus. Verwenden Sie diesen Modus für Modelle in der Produktion. In diesem Modus konsolidiert Designer alle Python-Zellen aus dem Jupyter Notebook in einem einzigen schreibgeschützten Skript. Designer übergibt dieses Skript an Ihren Python-Interpreter.

Wenn Sie den Workflow ausführen, führt Designer die folgenden Aufgaben aus:

  • Es umgeht die Jupyter-Shell und führt dann das schreibgeschützte Skript über einen Standard-Python-Interpreter aus.

  • Fehler, Warnungen oder Druckanweisungen werden nicht angezeigt.

Um das Skript im Produktionsmodus zu bearbeiten, klicken Sie auf den Modus Interaktiv und bearbeiten Sie dann die Zellen im Jupyter Notebook. Nachdem Sie ihre Bearbeitungen abgeschlossen haben, wählen Sie den Modus Produktion aus.

Datenspeicherformat festlegen

Das Python-Tool verfügt über zwei Formatoptionen: SQLite und YXDB.

SQLite
  1. Wählen Sie im Konfigurationsfenster des Python-Tools das Alteryx-Menü aus.

  2. Wählen Sie SQLite überschreiben aus.

Thumbnail
YXDB

Führen Sie die folgenden Schritte aus, um das YXDB-Datenspeicherformat zu verwenden.

  1. Wählen Sie im Konfigurationsfenster des Python-Tools das Alteryx-Menü aus.

  2. Deaktivieren Sie SQLite überschreiben, um das Häkchen zu entfernen.

SQLite

YXDB

Blob

Keine Unterstützung

Support

Geo-Objekte

Keine Unterstützung

Übergeben Sie Geo-Objekte zwischen dem Python-Tool und anderen Tools. Verwenden Sie Metadaten-Tags, wenn Sie Geo-Objektausgaben aus dem Python-Tool erstellen.

Spaltenbegrenzung

Der Grenzwert beträgt 2000

Unbegrenzt

Hinweis auf Nullwerte

Keine Unterstützung

Designer konvertiert numerische oder Bytespalten in den Datentyp float64 (d.h. Float mit doppelter Genauigkeit).

Wenn Sie die Anordnung von Zeilen nicht ändern oder GeoSpatial Python verwenden, empfiehlt Alteryx, die GeoSpatial-Daten aus dem Datensatz zu schneiden und nach dem Python-Tool wieder einzufügen. Der Grund dafür ist, dass die Konvertierung zu und von Alteryx Binary und GeoSpatial Text langsam ist.

Datei oder Verzeichnis importieren

Sie können eine Datei oder ein Verzeichnis auf zwei Arten importieren:

  • Verwenden Sie die Importfunktion im Alteryx-Menü, um einzelne Python-Skripte oder Jupyter Notebooks zu importieren.

  • Verwenden Sie den Importbefehl, um ein Verzeichnis zu importieren.

Führen Sie die folgenden Schritte aus, um ein Python-Skript oder Jupyter Notebook mit der Importfunktion zu importieren:

  1. Wählen Sie das Alteryx-Menü.

  2. Wählen Sie Skript importieren aus.

  3. Wählen Sie Datei auswählen aus.

  4. Navigieren Sie zu einer .py- oder .ipynb-Datei und wählen Sie Importieren aus.

Das Kernel-Menü verwenden

Geben Sie einen der folgenden Befehle aus dem Kernel-Menü aus:

  • Um die Verarbeitung zu beenden, wählen Sie Unterbrechen aus.

  • Um die Verarbeitung neu zu starten, wählen Sie Neustarten aus.

  • Um die Arbeitsmappe mit sofortigen Ergebnissen zu löschen, wählen Sie Verbindung wiederherstellen aus.

  • Kernel ändern bietet keine Funktionalität.

  • Alteryx empfiehlt,dass Sie Herunterfahren nicht auswählen.

Bewährten Vorgehensweisen folgen

Mit diesen bewährten Methoden können Sie das Python-Tool erfolgreich verwenden:

Verwenden Sie die Methode Alteryx.getWorkflowConstant, wenn Sie auf eine Workflow-Konstante verweisen, z. B. auf Engine.WorkflowDirectory. Andernfalls ersetzt das Ergebnis oder die Ausgabe des Befehls den Befehl in Ihrem Jupyter-Notebook, wenn Sie den Code ausführen.

Warnung

Vermeiden Sie die Verwendung von %-Wrappern in Workflow-Konstanten. Verwenden Sie stattdessen beispielsweise diesen Ausdruck, um das Engine.WorkflowDirectory aufzurufen:

from ayx import Alteryx

Alteryx.getWorkflowConstant("Engine.WorkflowDirectory")

Daten über das Tool ausgeben

Verwenden Sie die Methode Alteryx.write, um Daten über das Tool auszugeben.

Um Daten an andere Tools auf dem Canvas zu senden, verwenden Sie die folgende Methode:

   # Replace "PANDAS_DF" with your data, in DataFrame form.
# Replace "OUTPUT_ANCHOR_NUM" with the number of your output anchor.

Alteryx.write(PANDAS_DATAFRAME, OUTPUT_ANCHOR_NUM)

Die Alteryx.write-Methode akzeptiert nur Pandas DataFrames (Datenrahmen). Wenn Sie Daten in einem anderen Format haben, verwenden Sie die Pandas-Bibliothek, um sie in einen DataFrame zu konvertieren. Die Pandas-Bibliothek ist bereits als Teil von Designer installiert. Greifen Sie im Jupyter Notebook mit pandas importieren darauf zu.

Sie können bis zu fünf DataFrames an die Ausgabeanker senden.