Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Base de Connaissance

Apprenez auprès des experts.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index

Maîtrise de l'outil | Python

StephV
Alteryx Alumni (Retired)
Créé
Python.png

Cet article fait partie de la série Maîtrise des outils, une compilation de contributions à la Base de connaissances visant à présenter divers exemples d'utilisation des outils Designer. Ici, nous allons nous intéresser aux utilisations de l'outil Python dans le cadre de notre apprentissage de la maîtrise d' Alteryx Designer : 

 

Python est l'un des langages de programmation à la croissance la plus rapide au monde. Il est utilisé dans une grande variété d'applications, de la manipulation des données de base à la science des données et au développement de logiciels. La version 2018.3 inclut le tant attendu outil Python ! Très semblable à l'outil R, l'outil Python vous permet d'exécuter du code en toute transparence dans le cadre de votre workflow Alteryx. Aussi comme avec l'outil R, vous devrez avoir une certaine expérience en matière de codage avec le langage nommé pour pouvoir utiliser cet outil au maximum de sa capacité. Dans cet article Maîtrise des outils, nous allons vous présenter les bases de l'utilisation de cet outil.

 

Lorsque vous déposez l'outil Python sur votre canevas pour la première fois, vous voyez apparaître l'écran suivant dans la fenêtre Configuration de l'outil. Cela vous rappelle que vous devez exécuter votre workflow chaque fois que vous connectez votre outil Python à une nouvelle source d'entrée de données. Vous pouvez ainsi transférer l'entrée de données dans l'outil Python afin de les insérer dans votre code Python.

 

2018-11-19_8-08-34.png

 

 

Comme indiqué dans ce texte, pour que l'interface du Jupyter Notebook fonctionne, il vous suffit de patienter. Il faut seulement quelques secondes pour que l'interface du Jupyter Notebook apparaisse la première fois que vous ouvrez un outil Python dans une instance de Designer. Ce premier message est ensuite remplacé par l'interface de Jupyter notebook.

 

 2018-11-19_8-10-31.png

 

 

Pour consulter une présentation générale des Jupyter Notebooks, veuillez vous reporter à la documentation Guide du débutant.

 

La première étape de codage avec l'outil Python consiste à importer le package API d'Alteryx qui vous permet de transférer des données entre Alteryx Engine et l'outil Python. Si vous envisagez de lire les données depuis Alteryx Engine ou d'y transmettre les données depuis l'outil Python, votre code doit commencer par :

 

from ayx import Alteryx

 

Cet extrait de code est si indispensable qu'il est automatiquement fourni dans la première cellule de l'outil Python !

 

2018-11-19_8-10-31.png

 

 

Pour exécuter une cellule individuelle dans l'outil Python, cliquez sur le bouton de lecture dans la barre d'outils supérieure ou utilisez le raccourci clavier  : Maj + Retour.

 

2018-11-19_8-14-33.png

 

 

Outre le package ayx, l'outil Python s'accompagne de quelques packages Python chargés par défaut. Ces packages sont répertoriés dans la documentation d'aide et concernent principalement la science des données. Il existe également un excellent article qui passe en revue les fonctionnalités de chacun de ces packages préinstallés. Pour charger un package déjà installé, vous pouvez utiliser la commande d'importation comme vous le feriez lors de la création d'un script Python en dehors d'Alteryx. Si vous souhaitez installer une bibliothèque Python non incluse dans l'outil par défaut, vous pouvez utiliser la fonction Package.installPackages().

 

 2018-11-19_8-18-33.png

 

 

Le petit astérisque * où le numéro de cellule est généralement affiché signifie que la cellule est en cours d'exécution.

 

Après l'installation du package, il y a une variation de messages de suivi relatifs aux dépendances et à la version du package installé.

 

2018-11-19_8-28-24.png

 

 

Suivi facultatif : Si vous souhaitez suivre cette démonstration, veuillez télécharger le jeu de données Iris joint à cet article !

 

Si vous apportez des données via l'ancrage d'entrée dans Alteryx, vous devez exécuter le workflow pour que les données entrantes soient disponibles dans le notebook. Après avoir exécuté le workflow, vous pouvez utiliser la fonction Alteryx.read() pour transférer les données dans Python.

Le seul argument de cette fonction est la connexion spécifique via laquelle vous voulez lire. Comme dans l'outil R, cet argument est une chaîne qui nécessite d'être encadrée par des guillemets.

 2018-07-30_16-03-02.png

Pour la lecture de ce flux de données comme données de noms variables, le code doit être comme suit :

 

data = Alteryx.read("#1")

 

2018-11-19_8-31-47.png

 

 

Si vous tentez de lire les données avant d'exécuter le workflow tout entier, vous verrez probablement ce message FileNotFoundError s'afficher :

 

2018-08-08_16-19-00.png

 

La solution est d'enregistrer le workflow, puis de l'exécuter. La prochaine fois que vous exécuterez le code dans la cellule à l'aide du bouton de lecture, l'erreur devrait être résolue.

 

Tout ce qui est lu dans l'outil Python sera lu comme dans une trame de données pandas. Cela permet une plus grande flexibilité pour le traitement des données dans Python. Vous pouvez modifier le format des données après les avoir lues, mais vous devez renvoyer toutes les sortie dans une trame de données pandas.

 

Maintenant que j'ai importé mes données, je souhaite les analyser. Pour commencer, je crée une cellule en cliquant sur l'icône de signe plus à côté du bouton de point de contrôle Enregistrer/Créer, ou en utilisant le raccourci clavier B pour ajouter une cellule sous la cellule active.

 

2018-11-19_8-32-46.png

 

 

Vous trouverez également d'autres fonctions utiles de cellules et du notebook dans la barre d'outils à droite du bouton Insérer une cellule ci-dessous. De gauche à droite, les boutons exécutent les actions suivantes : Enregistrer, Ajouter une cellule 2018-08-07_12-13-14.png,  Couper une ou des cellule(s) 2018-08-07_12-13-57.png, Copier une ou des cellule(s)  2018-08-07_12-15-11.png, Coller une ou des cellule(s) 2018-08-07_12-16-07.png, Déplacer une ou des cellule(s) vers le haut 2018-08-07_12-16-36.png, Déplacer une ou des cellule(s) vers le bas 2018-08-07_12-17-34.png,  Exécuter 2018-08-07_13-24-47.png,  Arrêter 2018-08-07_13-27-59.png, Redémarrer le Kernel  2018-08-07_14-08-08.png et Redémarrer le Kernel et réexécuter le Notebook 2018-08-07_14-09-41.png. À l'ensemble de ces boutons sont associés des raccourcis clavier. Vous trouverez une liste complète des raccourcis clavier du Jupyter Notebook en accédant à Aide > Raccourcis clavier dans la barre d'outils supérieure.

 

 

Pour cette démonstration, je souhaite exécuter une analyse de clusters dans le jeu de données Iris. Par conséquent, dans ma nouvelle cellule, je charge la fonction KMeans  du module Sci-kit learn de Python  (inclus dans l'installation de l'outil Python d'Alteryx) et j'écris un code simple pour créer des clusters et imprimer les étiquettes des clusters obtenues.

 

2018-08-07_11-27-41.png

 

À présent, je peux visualiser mes clusters à l'aide de la bibliothèque Python matplotlib.pyplot (également incluse par défaut avec l'outil Python).

 

opt2.png

 

Pour finir, il est possible d'écrire le résultat de l'outil Python via la fonction Alteryx.write(). Cette fonction est actuellement prise en charge uniquement pour les trames de données pandas. Si vous tentez d'écrire quelque chose d'autre qu'une trame de données, vous obtiendrez le message TypeError suivant.

 

2018-08-07_11-45-24.png

 

Cette erreur peut être résolue en convertissant votre résultat en trame de données pandas. Si vous ne  maîtrisez pas encore les trames de données pandas, l'introduction aux structures de données pandas ou les 10 minutes de documentation pandas pourraient vous aider.  Une fois que vous aurez écrit le code à l'aide de la fonction Alteryx.write() dans l'outil Python, vous devrez exécuter le workflow tout entier pour voir les résultats dans les ancrages de sortie de l'outil.

 

2018-08-07_11-56-22.png

 

À présent, il ne reste plus qu'à exécuter le workflow et les résultats seront fournis dans l'ancrage de sortie 1 de l'outil Python.

 

Après cette présentation générale, j'espère que vous vous sentez plus confiant pour lire, écrire et traiter les données dans l'outil Python. Maintenant, vos seules limites sont celles de votre imagination !

 

 

Informations importantes à savoir et mises à jour à venir !

 

  • À partir de la version 2018.4, vous pouvez charger des scripts Python et des Jupyter notebooks créés en externe.
  • Pour les données provenant de l'outil Python, les métadonnées ne seront pas fournies de manière constante dans les outils en aval.
  • Pour la lecture des données dans l'outil Python, il existe une conversion de type implicite des valeurs booléennes en valeurs entières. De même, pour l'écriture des données depuis l'outil, il existe une autre conversion de type implicite des valeurs booléennes en valeurs entières.
  • À partir de la version 2018.4, vous pouvez définir les types de données des colonnes lors de l'écriture d'une sortie.
  • Seules les trames de données pandas sont actuellement prises en charge pour la lecture et l'écriture. Vous ne pouvez pour le moment pas écrire de tracé ni lire et écrire d'objets géographiques.
  • Les constantes de question ne sont pour le moment pas prises en charge.

 

Si vous avez des commentaires à nous adresser concernant cet outil, veuillez les publier sur la Page d'idées sur les produits. Nos chefs de produits sont très actifs ici et ils seront ravis d’entendre des idées de nouvelles fonctionnalités ou des limitations que vous pourriez avoir en parcourant l'outil.

 

Maintenant, vous devriez être un(e) expert(e) de l'outil Python !

Si vous pensez à un cas d'utilisation que nous avons oublié, n'hésitez pas à utiliser la section commentaires ci-dessous ! 

 

Vous souhaitez maintenant contribuer au blog de la communauté en partageant vos expériences et en apprenant à utiliser nos nouveaux outils dans votre vie quotidienne, envoyez moi un e-mail à Stephanie.jansen@alteryx.com.

 

Si vous avez des questions, la communauté est là pour y répondre sur le Forum. 

 

Restez à l'écoute de nos dernières publications en vous abonnant aux notifications par email sur la Base de Connaissance

 

*Cet article a été écrit par @SydneyFsur la Communauté anglaise. 

Pièces jointes
contributeurs
Étiquettes