Applies ToExcel voor Microsoft 365

​​​​​​​Python in Excel wordt momenteel geïmplementeerd voor zakelijke en zakelijke gebruikers die het Current-kanaal in Windows uitvoeren, te beginnen met versie 2407 (build 17830.20128). Het is beschikbaar in preview voor gezins- en persoonlijke gebruikers die het huidige kanaal in Windows uitvoeren vanaf versie 2405 (build 17628.20164). Python in Excel is beschikbaar in preview voor onderwijsgebruikers die het Current-kanaal (preview) uitvoeren via het Microsoft 365 Insider-programma. Deze is momenteel niet beschikbaar voor het Monthly Enterprise-kanaal of het Semi-Annual Enterprise-kanaal.

Het wordt eerst geïmplementeerd in Excel voor Windows en vervolgens naar andere platforms op een later tijdstip. Zie Beschikbaarheid van Python in Excel voor meer informatie over de beschikbaarheid.

Als u problemen ondervindt met Python in Excel, meldt u deze door Help > Feedback in Excel te selecteren.

Nieuw bij Python in Excel? Begin met Inleiding tot Python in Excel en Aan de slag met Python in Excel.

Open-source Python-bibliotheken gebruiken om plots en grafieken te maken 

Python in Excel wordt geleverd met een kernset Python-bibliotheken die worden geleverd door Anaconda. In dit artikel wordt beschreven hoe u Python-bibliotheken, zoals seabornen matplotlib, gebruikt om plots en grafieken te maken. Zie Opensource-bibliotheken en Python in Excel voor meer informatie over de opensource-bibliotheken die beschikbaar zijn met Python in Excel. 

In de voorbeelden in dit artikel wordt gebruikgemaakt van de irisbloemgegevensset. Download deze voorbeeldwerkmap om samen met het artikel te volgen:python-in-excel-iris-dataset.xlsx

Een paarplot maken met seaborn 

In dit voorbeeld ziet u hoe u een paardiagramvisualisatie maakt van de irisbloemgegevensset. Een paarplot is een matrix van plots en grafieken waarmee de relatie tussen elke variabele in een gegevensset wordt vergeleken. In dit geval bevat de irisbloemgegevensset vier kolommen met numerieke gegevens: sepal_length, sepal_width, petal_length en petal_width

Gebruik Python in Excel om een paarplot te maken met de seaborn-bibliotheek.

Python in Excel maakt de visualisatie met de seaborn-bibliotheek. De seaborn-bibliotheekwordt automatisch geïmporteerd voor Python in Excel met de volgende import-instructie, zodat u ernaar kunt verwijzen met de alias sns.  

import seaborn as sns 

Voer de volgende stappen uit om een paarplot van de irisbloemenset met de seaborn-bibliotheek te maken:

  1. Voer het volgende codefragment in een Python-cel in Excel in. Het codefragment slaat de paarplot op als een variabele met de naam pairplot.  Hiermee wordt de paarplot gemaakt met de seaborn-bibliotheekalias sns en het seaborn-functiepaplot.  pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Als argument voor de pairplot-functie gebruikt het codefragment de aangepaste Python-functie xl() en verwijst het naar de eerste tabel in het werkblad, Table1. Het bevat de volledige inhoud van de tabel (als [#All]) en merkt op dat de tabel een veldnamenrij bevat (als headers=True). In dit voorbeeld bevat Tabel1 in het werkblad de Iris-gegevensset.Bekijk het voorbeeld van de paarplot in een DataFrame.

    Opmerking: Als er fouten optreden, raadpleegt u Problemen met Python in Excel oplossen voor meer informatie. 

  2. Nadat u uw Python-formule hebt doorgevoerd, retourneert Python in Excel de visualisatie van het paarteken in een afbeeldingsobject. Selecteer het kaartpictogram in de afbeeldingsobjectcel om een voorbeeld van de visualisatie te bekijken.Bekijk een voorbeeld van de plot in een DataFrame-kaart.

  3. Houd de visualisatie als een afbeeldingsobject om deze te blijven gebruiken voor Python-berekeningen. Pak de afbeelding uit naar het Excel-raster om de grootte ervan te wijzigen en elke plot in meer detail weer te geven. Als u de afbeelding naar het raster wilt extraheren, klikt u met de rechtermuisknop of Ctrl+klikt u op de cel met het afbeeldingsobject en selecteert u Plot weergeven boven Cellen in het menu.Zie de sectie Een afbeeldingsobject uitpakken naar het Excel-raster in dit artikel voor meer informatie over het extraheren van afbeeldingsobjecten.

Een spreidingsplot maken met Matplotlib 

In dit voorbeeld wordt beschreven hoe u een spreidingsplot maakt met de gegevensset Iris-bloemen. Een spreidingsplot toont de relatie tussen twee numerieke variabelen in een gegevensset. In het voorbeeld wordt een spreidingsplot gemaakt dat lijkt op de volgende schermopname, waarbij de waarden voor sepal_width en sepal_length worden vergeleken.

Gebruik Python in Excel om een spreidingsdiagram te maken met de matplotlib-bibliotheek.

Python in Excel maakt de visualisatie met de opensource-bibliotheek matplotlib. De Matplotlib-bibliotheekwordt automatisch geïmporteerd voor Python in Excel met de volgende importinstructie, zodat u ernaar kunt verwijzen als plt.  

import matplotlib.pyplot as plt 

Voer de volgende stappen uit om een spreidingsplot van de irisbloemenset te maken met de Matplotlib-bibliotheek:

  1. Gebruik in een Python in Excel-cel de functie matplotlibspreiding en voer de kolommen sepal_length en sepal_width van de Iris-gegevensset in als argumenten. In dit voorbeeld bevat Tabel1 in het werkblad de Iris-gegevensset.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))

  2. Voeg labels en een titel toe aan het spreidingsdiagram.  # 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')

    Opmerking: U kunt dit codefragment toevoegen als een extra regel code na de Python-formule in de vorige stap, in dezelfde Excel-cel, of u kunt het invoeren in een nieuwe Python in Excel-cel in uw werkmap. Als u ervoor kiest om deze in een nieuwe cel in te voeren, moet u de regels voor de volgorde van de primaire berekening volgen en deze na de eerste cel invoeren.

  3. Nadat u uw Python-formules hebt doorgevoerd, retourneert Python in Excel de visualisatie van het spreidingsdiagram als een afbeeldingsobject. Selecteer het kaartpictogram in de afbeeldingsobjectcel om een voorbeeld van de visualisatie te bekijken.  Bekijk een voorbeeld van de spreidingsplot in een DataFrame.

    Opmerking: Als er fouten optreden, raadpleegt u Problemen met Python in Excel oplossen voor meer informatie.  

  4. Behoud de visualisatie als een afbeeldingsobject om deze te blijven gebruiken voor Python-berekeningen. Pak de afbeelding uit naar het Excel-raster om het formaat ervan te wijzigen en de plot in meer detail weer te geven. Als u de afbeelding naar het raster wilt extraheren, klikt u met de rechtermuisknop of Ctrl+klikt u op de cel met het afbeeldingsobject en selecteert u Plot weergeven boven Cellen in het menu.Zie de sectie Een afbeeldingsobject uitpakken naar het Excel-raster in dit artikel voor meer informatie over het extraheren van afbeeldingsobjecten.

Een afbeeldingsobject extraheren naar het Excel-raster

Zoals in de voorbeelden in dit artikel wordt gedemonstreerd, kunnen Python-bibliotheken zoals seaborn en Matplotlib gegevensvisualisaties retourneren naar Excel-cellen. Python in Excel retourneert deze visualisaties standaard als afbeeldingsobjecten. 

Selecteer het kaartpictogram in een afbeeldingsobjectcel om een voorbeeld van de visualisatie te bekijken.

Bekijk een voorbeeld van de plot in een DataFrame-kaart.

Er zijn twee manieren om een afbeelding naar het Excel-raster te extraheren: de afbeelding weergeven als een teken over cellen of de afbeelding in een cel weergeven.

De afbeelding over cellen weergeven

Volg deze stappen om de afbeelding weer te geven als een teken over cellen.

  1. Klik met de rechtermuisknop of Ctrl+klik op de cel met het afbeeldingsobject en selecteer Plot weergeven boven Cellen in het menu (of gebruik de sneltoets Ctrl+Alt+Shift+C). Hiermee maakt u een kopie van de afbeelding die over het Excel-raster zweeft en eenvoudig kan worden aangepast. Het oorspronkelijke afbeeldingsobject blijft in de oorspronkelijke cel.

  2. Selecteer en sleep de tekenafbeelding om deze in het werkblad te verplaatsen. Selecteer en sleep de knooppunten in de hoeken en zijkanten van de afbeelding om het formaat ervan te wijzigen.Maak een visualisatie van een zwevende plot met het pictogram Verwijzing maken.

De afbeelding in een cel weergeven

Volg deze stappen om de afbeelding in een cel weer te geven.

  1. Retourneer het afbeeldingsobject als een Excel-waarde. Selecteer de afbeeldingsobjectcel, ga naar het python-uitvoermenu op de formulebalk en selecteer Excel-waarde.   Gebruik het Python-uitvoermenu naast de formulebalk om het uitvoertype te wijzigen. De tekenafbeelding wordt nu weergegeven in de cel.

    Tip: Als u de resultaten van Python-formules wilt schakelen tussen Python-objecten en Excel-waarden, gebruikt u de sneltoets Ctrl+Alt+Shift+M. Zie Sneltoetsen voor Python in Excel voor meer informatie over sneltoetsen.

  2. De grootte van de tekenafbeelding is afhankelijk van de grootte van de cel. Vergroot de grootte van de afbeelding door de cel groter te maken of door cellen samen te voegen.

Uw eigen plots en grafieken maken 

Nu u hebt geleerd hoe u Python in Excel-plots en -grafieken maakt met een voorbeeldgegevensset, voert u uw eigen gegevens in een Excel-werkmap in en maakt u aangepaste visualisaties.  

Als u externe gegevens wilt importeren voor gebruik met Python in Excel, gebruikt u Power Query. Zie Power Query gebruiken om gegevens te importeren voor Python in Excel voor meer informatie.

Verschillende lettertypen gebruiken voor niet-Engelse talen 

Als u gegevens wilt weergeven die niet-Latijnse alfabettekens gebruiken, zoals Chinees, Koreaans of Thai, gebruikt u excel.FontPath. Python in Excel geeft standaard niet-Latijnse alfabettekens weer als een leeg vierkant ('□'). U kunt dit oplossen door excel.FontPath de module excel te gebruiken om een ander lettertype aan te roepen en de tekens weer te geven.

De volgende lettertypen zijn beschikbaar. Het kenmerk wordt toegevoegd aan excel.FontPath in uw Python-code. Het pad verwijst naar het lettertypebestand dat wordt aangeroepen door het kenmerk.

Kenmerk

Pad

BENGAALS

/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

JAPANS

/usr/share/fonts/Meiryo.ttf

KOREAANS

/usr/share/fonts/Batang.ttf

THAIS

/usr/share/fonts/THSarabunPSK.ttf

uitblinken. FontPath-voorbeeld

Een stroomdiagram met rode verbindingspunten

In deze grafiek kunnen de juiste tekenlabels niet worden weergegeven omdat het standaardlettertype de opgegeven tekens niet ondersteunt.

Grafiek met tekens die niet worden weergegeven

Codevoorbeeld voor onjuist weergegeven grafieklabels: 

import matplotlib.pyplot as plt

# Make the plot.

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

# Show the plot.

plt.show()

Een tabelkop voor een kolom met contactgegevens

Als u de grafieklabels in dit voorbeeld wilt herstellen, gebruikt u excel.FontPath.CHINESE_SIMPLIFIED om de opgegeven Chinese tekens correct weer te geven. 

Grafiek met tekens die correct worden weergegeven

Codevoorbeeld voor correct weergegeven grafieklabels: 

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()

Verwante artikelen 

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.