Outil Python

L'outil Python est un éditeur de code destiné aux utilisateurs de Python. Il est recommandé de disposer d'une bonne maîtrise de Python avant d'utiliser cet outil.

Pour plus d'informations sur les fonctions utiles, exécutez Alteryx.help. Pour ce faire, exécutez la fonction après avoir importé le module :
depuis ayx importez Alteryx
Alteryx.help()
.

Support Python

Designer accepte le code personnalisé Python. Alteryx n'offre pas la prise en charge du code Python personnalisé.

Compatibilité de la galerie publique alteryx

Vous envisagez de publier votre workflow sur Gallery.alteryx.com? Vous devez d’abord demander une exemption. Cette restriction ne s’applique pas aux instances privées d’Alteryx Server et d’Alteryx Gallery.

Mise en route

L'interface de la fenêtre de configuration de l'outil Python ressemble à Bloc-notes Jupyter. Si vous n'êtes pas familiarisé avec les Bloc-notes Jupyter, accédez à Aide > Visite de l'interface utilisateur ou Aide > Aide du Bloc-notes. Pour obtenir une assistance avec le code, voir les références supplémentaires disponibles sous l'option Aide de l'outil.

L'outil reproduit l'interface du Bloc-notes Jupyter, mais est soumis aux contraintes de Designer. En conséquence, certaines options se comportent différemment de ce que l'on attendrait d'un Bloc-notes Jupyter classique.

Installez des paquets de data science supplémentaires au besoin

L'outil Python inclut les paquets de data science plus courants suivants :

  • ayx : API Alteryx
  • geopandas : étend les types de données utilisés par les pandas pour permettre des opérations géographiques sur des types géométriques.
  • jupyter : métapaquet Jupyter
  • matplotlib : paquet de traçages Python
  • numpy : NumPy, traitement de matrices pour les nombres, les chaînes, les enregistrements et les objets.
  • pandas : structures de données puissantes pour l'analyse de données, les séries temporelles et les statistiques.
  • demandes : HTTP Python pour les humains
  • scikit-learn : Un ensemble de modules Python pour l'apprentissage des machines et la recherche de données
  • scipy : SciPy, bibliothèque scientifique pour Python
  • six : utilitaires de compatibilité avec Python 2 et 3
  • SQLAlchemy : bibliothèque d'abstractions de base de données
  • modèles de statistiques : calculs et modèles statistiques pour Python

Installation de paquets supplémentaires

Selon le type d'installation de Designer que vous utilisez, vous pouvez installer des paquets supplémentaires à l'aide d'Alteryx.installPackages. L'exemple ci-dessous présente l'installation de keras.

à partir de tout paquet d'importation ayx
Package.installPackages(« keras »)
  • Si vous exécutez Alteryx en tant que non-administrateur, vous pouvez installer des paquets Python supplémentaires sans autorisation particulière.
  • Si vous exécutez Alteryx admin, vous devez d'abord exécuter Alteryx en tant qu'admnistrateur pour installer des paquets Python supplémentaires. Si vous ne pouvez pas exécuter Alteryx en tant qu'administrateur, vous ne pouvez pas installer de paquets Python supplémentaires.

Connecter les entrées

L'outil Python accepte plusieurs entrées. Une fois les entrées connectées, vous devez exécuter le workflow pour mettre en cache les flux de données entrants.

Pour accéder à une connexion de données entrantes :

  1. Importez la bibliothèque Alteryx : depuis l'importation ayx d'Alteryx
  2. Accédez à la connexion et fournissez une variable pour utiliser une référence de données :
    • Utilisez le nom de connexion : Alteryx.read("<nom de connexion>")
    • depuis toute importation ayx Alteryx
      data1 = Alteryx.read("#1")
    • Lecture de toutes les connexions et référence à la matrice O-index retournée : Alteryx.read(Alteryx.getIncomingConnectionNames()[<numéro d'indice>])
    • depuis toute importation ayx Alteryx
      data2 = Alteryx.read(Alteryx.getIncomingConnectionNames()[1])
  3. Exécutez votre workflow avant de commencer à travailler avec l'outil Python. L'exécution de votre workflow place vos données en mémoire cache et les rend accessibles pour l'outil Python. Vos données sont ensuite traités comme une infrastructure de données pandas. Pour plus d'informations sur les infrastructures de données pandas, consultez pandas.pydata.org.

Configurer l’outil

Exécutez votre workflow avant de commencer à travailler avec l'outil Python.

Définir le mode d'exécution du workflow

Démarrer le développement en mode interactif. Ainsi, l'ensemble des erreurs, avertissements et déclarations d'impression s'afficheront dans le Bloc-notes Jupyter. Utilisez le mode Production pour améliorer la vitesse lorsque vous avez terminé le développement et souhaitez seulement exécuter votre code via un interprète Python standard.

Une fois que vous avez fini de développer votre code, cliquez sur le mode Production. Cela exécutera votre code plus efficacement lors de l'exécution du workflow.

Besoin d'imprimer des ensembles de caractères multioctets (MBCS) 0? Voir Dépannage pour les étapes d'impression des jeux de caractères multioctets (MBCS) en mode Production.


Définissez le format de stockage des données

Le format de stockage principal recommandé et par défaut est YXDB. Vous pouvez également sélectionner SQLite.

  SQLite YXDB
Blob Non pris en charge Pris en charge
Objets géographiques Non pris en charge

Prend en charge la transmission d'objets géographique entre l'outil Python et d'autres outils.

Il est utile d'utiliser les balises de métadonnées lors de la création de sorties d'objets géographiques à partir de l'outil Python.

Les colonnes d'objets géographiques sont chargées dans les pandas DataFrame sous forme de chaînes contenant des données geoJSON. Afin d'envoyer une colonne géographique (représentée sous forme de chaînes geoJSON) hors de l'outil Python, le troisième paramètre facultatif de 'Alteryx.write()' doit être inclus, spécifiant le type comme SpatialObj. (par exemple, `Alteryx.write(df, 1, {"my_spatial_field": {"type": "SpatialObj"}})`)

En outre, plusieurs paquets tels que « geopandas » et leurs dépendances sont inclus et peuvent être importés dans l'outil Python pour utiliser davantage les données géographiques.

Limitation de colonne La limite est de 2000 Aucune limitation
Note relative aux valeurs nulles Les colonnes numériques/octets contenant des valeurs nulles seront converties en un type de données float64 - données flottantes à double précision. YXDB prend en charge les valeurs nulles dans float64 à l'aide de numpy. NaN et dans les types entiers en utilisant des entiers pandas pouvant être annulés.

Si vous ne modifiez pas la disposition des lignes et n'utilisez pas l'outil Python GeoSpatial, Alteryx vous recommande de trancher les données GeoSpatial hors du jeu de données et de les joindre à nouveau après l'outil Python. Cela est dû au fait que la conversion depuis et vers les données Alteryx Binary et le texte GeoSpatial n'est pas rapide.

Importer un fichier ou un répertoire

Selon le contrôle dont vous souhaitez disposer sur les chemins relatifs, vous pouvez utiliser la fonction d'importation Alteryx à partir du menu Alteryx ou utiliser la commande d'importation. Vous pouvez utiliser la fonction d'importation d'Alteryx pour importer un script Python existant ou un Bloc-notes Jupyter. Pour gérer les chemins relatifs, utilisez la commande d'importation dans la cellule. Les exemples d'importation comprennent l'utilisation de la commande d'importation pour importer un répertoire, ou l'utilisation de la fonction d'importation d'Alteryx pour importer un seul script.

Pour importer un script Python ou un Bloc-notes Jupyter

  1. Cliquez sur le menu Alteryx, puis sélectionnez Importer le script.
  2. Cliquez sur Choisir un fichier, puis naviguez jusqu'à un fichier .py ou .ipynb.
  3. Cliquez sur Importer.

Alteryx importe le fichier.

Utilisez le menu Kernel

  • Arrêter le traitement : cliquez sur le menu Kernel et sélectionnez Interrompre pour arrêter le traitement.
  • Redémarrer le traitement : cliquez sur le menu Kernel, puis sélectionnez une option de Redémarrage pour relancer le traitement de l'environnement interactif.
  • Redémarrer le traitement : Cliquez sur le menu Kernel, puis sélectionnez Reconnecter pour effacer les résultats intermédiaires du classeur.
  • La modification Kernel ne fournit pas cette fonctonnalité.
  • Il est recommandé de ne pas sélectionner Arrêt.

Dortie de données depuis l'outil

Utilisez Alteryx.write pour extraire les données de l'outil.

  • Pour envoyer des données à d'autres outils du canevas, utilisez Alteryx.write(<infrastructure de données pandas>, <numéro d'ancrage de sortie>).
    Alteryx.write(df,1)
  • Alteryx.write accepte uniquement les infrastructures de données pandas. Si vous avez des données dans un autre format, utilisez la bibliothèque pandas pour la convertir en infrastructure de données pandas. La bibliothèque pandas est préinstallée avec Designer et acccessible dans le Bloc-notes Jupyter à l'aide de la commande importer pandas.
  • Vous pouvez envoyer jusqu'à cinq infrastructures de données vers les ancrages de sortie.

Meilleures pratiques

Les meilleures pratiques suivantes vous aideront à travailler efficacement avec l'outil Python.

Dépannage