​​​​​​​Python dans Excel est actuellement déployé pour les utilisateurs d’entreprise et d’entreprise exécutant le canal actuel sur Windows, à compter de la version 2407 (build 17830.20128). Il est disponible en préversion pour les utilisateurs famille et personnel exécutant le canal actuel sur Windows à partir de la version 2405 (build 17628.20164). Python dans Excel est disponible en préversion pour les utilisateurs de l’éducation exécutant le canal actuel (préversion) via le programme Microsoft 365 Insider. ​​​​​​​

Il est d’abord déployé sur Excel pour Windows, puis sur d’autres plateformes à une date ultérieure. Pour plus d’informations sur la disponibilité, consultez Disponibilité de Python dans Excel.

Si vous rencontrez des problèmes avec Python dans Excel, signalez-les en sélectionnant Aide > Commentaires dans Excel.

Vous débutez avec Python dans Excel ? Commencez par Introduction à Python dans Excel et Bien démarrer avec Python dans Excel.

Utiliser des bibliothèques Python open source pour créer des tracés et des graphiques 

Python dans Excel est fourni avec un ensemble principal de bibliothèques Python fournies par Anaconda. Cet article explique comment utiliser des bibliothèques Python, telles que seabornet matplotlib, pour créer des tracés et des graphiques. Pour en savoir plus sur les bibliothèques open source disponibles avec Python dans Excel, consultez Bibliothèques open source et Python dans Excel

Les exemples de cet article utilisent le jeu de données iris flower. Téléchargez cet exemple de classeur pour suivre l’article : python-in-excel-iris-dataset.xlsx

Créer un tracé de paire avec seaborn 

Cet exemple montre comment créer une visualisation de tracé en paire du jeu de données de fleur d’iris. Un tracé de paires est une matrice de tracés et de graphiques qui compare la relation entre chaque variable d’un jeu de données. Dans ce cas, le jeu de données iris flower contient quatre colonnes de données numériques : sepal_length, sepal_width, petal_length et petal_width

Utilisez Python dans Excel pour créer un tracé de paire avec la bibliothèque seaborn.

Python dans Excel crée la visualisation avec la bibliothèque seaborn. La bibliothèque seabornest automatiquement importée pour Python dans Excel avec l’instruction d’importation suivante, ce qui vous permet de la référencer avec les sns d’alias.  

import seaborn as sns 

Pour créer un tracé en paire du jeu de données iris flower avec la bibliothèque seaborn, procédez comme suit :

  1. Entrez l’extrait de code suivant dans une cellule Python dans Excel. L’extrait de code stocke le tracé de paire sous la forme d’une variable appelée pairplot.  Il crée le tracé de paire avec l’alias de bibliothèque seaborn sns et le pairplot de fonction seaborn. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) En tant qu’argument de la fonction pairplot, l’extrait de code utilise la fonction Python personnalisée xl() et fait référence à la première table de la feuille de calcul, Table1. Il inclut l’intégralité du contenu de la table (sous la forme [#All]) et note que le tableau inclut une ligne d’en-tête (as headers=True). Dans cet exemple, table1 de la feuille de calcul contient le jeu de données Iris.Consultez l’aperçu du tracé de paire dans un DataFrame.

    Remarque : Si vous rencontrez des erreurs, voir Résoudre les erreurs Python dans Excel pour plus d’informations. 

  2. Après avoir commité votre formule Python, Python dans Excel retourne la visualisation de tracé de paire dans un objet image. Sélectionnez l’icône carte dans la cellule de l’objet image pour afficher un aperçu de la visualisation.Consultez un aperçu du tracé dans un dataframe carte.

  3. Conservez la visualisation en tant qu’objet Image pour continuer à l’utiliser pour les calculs Python. Extrayez l’image dans la grille Excel pour la redimensionner et afficher chaque tracé plus en détail. Pour extraire l’image dans la grille, cliquez avec le bouton droit ou appuyez sur la cellule qui contient l’objet image, puis sélectionnez Afficher le tracé sur les cellules dans le menu.Pour plus d’informations sur l’extraction d’objets image, consultez la section Extraire un objet image dans la grille Excel dans cet article.

Créer un nuage de points avec Matplotlib 

Cet exemple explique comment créer un nuage de points avec l’exemple de données iris flower. Un nuage de points montre la relation entre deux variables numériques dans un jeu de données. L’exemple crée un nuage de points qui ressemble à la capture d’écran suivante, en comparant les valeurs sepal_width et sepal_length .

Utilisez Python dans Excel pour créer un nuage de points avec la bibliothèque matplotlib.

Python dans Excel crée la visualisation avec la bibliothèque open source Matplotlib. La bibliothèque Matplotlibest automatiquement importée pour Python dans Excel avec l’instruction import suivante, ce qui vous permet de la référencer en tant que plt.  

import matplotlib.pyplot as plt 

Pour créer un nuage de points du jeu de données iris flower avec la bibliothèque Matplotlib, procédez comme suit :

  1. Dans une cellule Python dans Excel, utilisez la fonction de nuage de pointsmatplotlib et entrez les colonnes sepal_length et sepal_width du jeu de données Iris comme arguments. Dans cet exemple, table1 de la feuille de calcul contient le jeu de données Iris.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))

  2. Ajoutez des étiquettes et un titre au nuage de points.  # Label the x and y axes of the plot. plt.xlabel('sepal_length') plt.ylabel('sepal_width')   # Add a title to the plot.  plt.title('Sepal length and width analysis')

    Remarque : Vous pouvez ajouter cet extrait de code en tant que ligne de code supplémentaire après la formule Python de l’étape précédente, dans la même cellule Excel, ou vous pouvez l’entrer dans une nouvelle cellule Python dans Excel de votre classeur. Si vous choisissez de l’entrer dans une nouvelle cellule, veillez à suivre les règles d’ordre de calcul des lignes principales et à les entrer après la première cellule.

  3. Après avoir commité vos formules Python, Python dans Excel retourne la visualisation du nuage de points sous la forme d’un objet image. Sélectionnez l’icône carte dans la cellule de l’objet image pour afficher un aperçu de la visualisation.  Afficher un aperçu du nuage de points dans un DataFrame.

    Remarque : Si vous rencontrez des erreurs, voir Résoudre les erreurs Python dans Excel pour plus d’informations.  

  4. Conservez la visualisation en tant qu’objet image pour continuer à l’utiliser pour les calculs Python. Extrayez l’image dans la grille Excel pour la redimensionner et afficher le tracé plus en détail. Pour extraire l’image dans la grille, cliquez avec le bouton droit ou appuyez sur la cellule qui contient l’objet image, puis sélectionnez Afficher le tracé sur les cellules dans le menu.Pour plus d’informations sur l’extraction d’objets image, consultez la section Extraire un objet image dans la grille Excel dans cet article.

Extraire un objet image dans la grille Excel

Comme le montrent les exemples de cet article, les bibliothèques Python telles que seaborn et Matplotlib peuvent retourner des visualisations de données dans des cellules Excel. Par défaut, Python dans Excel retourne ces visualisations en tant qu’objets image. 

Sélectionnez l’icône carte dans une cellule d’objet image pour afficher un aperçu de la visualisation.

Consultez un aperçu du tracé dans un dataframe carte.

Il existe deux façons d’extraire une image dans la grille Excel : afficher l’image sous forme de tracé sur des cellules ou afficher l’image dans une cellule.

Afficher l’image sur des cellules

Suivez ces étapes pour afficher l’image sous la forme d’un tracé sur des cellules.

  1. Cliquez avec le bouton droit ou appuyez sur la cellule contenant l’objet image et sélectionnez Afficher le traçage sur les cellules dans le menu (ou utilisez le raccourci clavier Ctrl+Alt+Maj+C). Cela crée une copie de l’image qui flotte sur la grille Excel et peut être redimensionnée facilement. L’objet image d’origine reste dans la cellule d’origine.

  2. Sélectionnez et faites glisser l’image de traçage pour la déplacer dans votre feuille de calcul. Sélectionnez et faites glisser les nœuds aux angles et aux côtés de l’image pour la redimensionner.Créez une visualisation de tracé flottant avec l’icône Créer une référence.

Afficher l’image dans une cellule

Suivez ces étapes pour afficher l’image dans une cellule.

  1. Retourne l’objet image sous la forme d’une valeur Excel. Sélectionnez la cellule de l’objet image, accédez au menu de sortie Python dans la barre de formule, puis sélectionnez Valeur Excel.   Utilisez le menu de sortie Python en regard de la barre de formule pour modifier le type de sortie. L’image de traçage s’affiche désormais dans la cellule.

    Conseil : Pour basculer les résultats de formule Python entre les objets Python et les valeurs Excel, utilisez le raccourci clavier Ctrl+Alt+Maj+M. Pour en savoir plus sur les raccourcis clavier, voir Python dans Les raccourcis clavier Excel.

  2. La taille de l’image de traçage dépend de la taille de la cellule. Augmentez la taille de l’image en augmentant la taille de la cellule ou en fusionnant des cellules.

Créer vos propres tracés et graphiques 

Maintenant que vous avez appris à créer des graphiques et des graphiques Python dans Excel avec un exemple de jeu de données, entrez vos propres données dans un classeur Excel et créez des visualisations personnalisées.  

Pour importer des données externes à utiliser avec Python dans Excel, utilisez Power Query. Pour plus d’informations, voir Utiliser Power Query pour importer des données pour Python dans Excel.

Utiliser différentes polices pour les langues autres que l’anglais 

Pour graphiquer des données qui utilisent des caractères de l’alphabet non latin, tels que le chinois, le coréen ou le thaï, utilisez excel.FontPath. Par défaut, Python dans Excel affiche les caractères de l’alphabet non latin sous la forme d’un carré vide (« □ »). Pour résoudre ce problème, excel.FontPath vous permet d’utiliser le module excel pour appeler une police différente et afficher les caractères.

Les polices suivantes sont disponibles. L’attribut est ajouté à excel.FontPath dans votre code Python. Le chemin d’accès fait référence au fichier de police appelé par l’attribut .

Attribut

Chemin d’accès

BENGALI

/usr/share/fonts/Vrinda.ttf

CHINESE_SIMPLIFIED

/usr/share/fonts/SimSun.ttf

CHINESE_TRADITIONAL

/usr/share/fonts/MingLiU.ttf

HINDI

/usr/share/fonts/Mangal.ttf

JAPONAIS

/usr/share/fonts/Meiryo.ttf

CORÉEN

/usr/share/fonts/Batang.ttf

THAÏ

/usr/share/fonts/THSarabunPSK.ttf

exceller. Exemple FontPath

Avant

Ce graphique ne peut pas afficher les étiquettes de tracé appropriées, car la police par défaut ne prend pas en charge les caractères fournis.

Graphique avec des caractères qui ne sont pas affichés

Exemple de code pour les étiquettes de graphique incorrectement affichées : 

import matplotlib.pyplot as plt

# Make the plot.

myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文')

# Show the plot.

plt.show()

Après

Pour corriger les étiquettes de graphique dans cet exemple, utilisez excel.FontPath.CHINESE_SIMPLIFIED pour afficher correctement les caractères chinois fournis. 

Graphique avec un rendu correct des caractères

Exemple de code pour les étiquettes de graphique correctement affichées : 

import matplotlib.pyplot as plt

from matplotlib.font_manager import FontProperties

# Set the font path.

#   Returns '/usr/share/fonts/simsun.ttf'

font_path = excel.FontPath.CHINESE_SIMPLIFIED

# Point the properties to the font path.

font_properties = FontProperties(fname=font_path)

plt.rcParams['font.family'] = font_properties.get_name()

# Make the plot.

myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文')

# Show the plot.

plt.show()

Articles connexes 

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.