Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !
Voir l'index09-28-2020 08:11 AM - modifié 09-30-2020 02:08 AM
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.
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.
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 !
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.
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().
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é.
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.
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")
Si vous tentez de lire les données avant d'exécuter le workflow tout entier, vous verrez probablement ce message FileNotFoundError s'afficher :
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.
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 , Couper une ou des cellule(s) , Copier une ou des cellule(s) , Coller une ou des cellule(s) , Déplacer une ou des cellule(s) vers le haut , Déplacer une ou des cellule(s) vers le bas , Exécuter , Arrêter , Redémarrer le Kernel et Redémarrer le Kernel et réexécuter le Notebook . À 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.
À 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).
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.
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.
À 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 !
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.