Python, en dan met name Pandas, heeft qua functionaliteit veel overlap met Microsoft Excel omdat ze beide met data in tabelvorm om kunnen gaan.
Nu hoef je echter niet meer te kiezen: Microsoft heeft Python-functionaliteit in Excel beschikbaar gemaakt, waardoor je het beste van twee werelden kan combineren.Nu hoef je echter niet meer te kiezen: Microsoft heeft Python-functionaliteit in Excel beschikbaar gemaakt, waardoor je het beste van twee werelden kan combineren.
In dit blog lees je meer over:
- Python in Excel activeren
- Python in Excel gebruiken
- Grafieken maken met Python in Excel
- Overige mogelijkheden met Python in Excel
Python in Excel activeren
Op het moment van schrijven is de functionaliteit nog niet officiëel uitgebracht. Je kan het wel al proberen door deel te nemen aan het Microsoft 365 Insider-programma. Als deelnemer krijg je vroege toegang tot nieuwe functionaliteit van Microsoft office.
Binnen dit programma zijn er twee kanalen: preview en beta. In het beta-kanaal krijg je nog eerder nieuwe functionaliteit tot je beschikking, met als risico dat er nog bugs in kunnen zitten. Om gebruik te maken van Python in Excel moet je het beta-kanaal kiezen.
Hierna is in het tabblad 'Formules' de 'Insert Python'-knop beschikbaar.
Nadat je op deze knop drukt verschijnt er een groen PY
icoon in de formulebalk, wat betekent dat je nu Python-syntax kunt gebruiken i.p.v. Excel syntax, en dan met Pandas-syntax specifiek, aangezien dat package bij uitstek geschikt is om met datasets te werken. De code wordt online uitgevoerd, je moet dus een internetverbinding hebben.
Python gebruiken in Excel
Een dataset inladen doe je als volgt:
- Gebruik de Excel-specifieke functie
xl()
om te verwijzen naar een bereik van cellen. Voorbeeld:
df=xl("A1:B6", headers=True)
Je kunt nu naar de variabele
df
verwijzen vanuit andere cellen. Als je bijvoorbeeld een gemiddelde wilt berekenen, kan dit met de formuledf['gewicht'].mean()
. Dit geeft de waarde 74 terug (zie cel D2).De met Python berekende waarde in cel D2 kan vervolgens door andere formules gebruikt worden zoals je elke cel zou gebruiken. Op deze manier kan je Python/Pandas-code gemakkelijk combineren met Excel-formules.
Wanneer je ingewikkeldere berekeningen wilt doen wordt dit handig. Wil je bijvoorbeeld met één regel code berekenen wat het gemiddelde gewicht is voor voor mensen met een lengte groter dan 175 cm? Dat kan in één regel code bijvoorbeeld als volgt:
df[df['lengte']>175]['gewicht'].mean()
Daarnaast kun je berekende waarde tussentijds opslaan in variabelen waardoor je gemakkelijker berekeningen kunt hergebruiken.
Grafieken maken met Matplotlib
Naast het uitvoeren van berekeningen op tabulaire data kan je ook grafieken maken met matplotlib
. Ook hierbij geldt dat je Matplotlib kunt gebruiken zoals je gewend bent in Python, waarna de grafiek in Excel getoond wordt.
import matplotlib.pyplot as plt
plt.scatter(x=df['lengte'], y=df['gewicht'])
plt.xlabel('Lengte [cm]')
plt.ylabel('Gewicht [kg]')
plt.title('Lengte vs. gewicht')
Overige mogelijkheden met Python in Excel
Naast Matplotlib en Pandas zijn er ook nog andere packages beschikbaar. Dit kun je achterhalen door naast de 'Insert Python'-knop te kiezen voor 'Initialization'. Hier zie je de code die initiëel elke keer wordt uigevoerd:
# The following import statements are pre-loaded.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import statsmodels as sm
import seaborn as sns
import excel
from excel import client_timezone, client_locale
import warnings
warnings.simplefilter('ignore')
# Set default conversions for the xl() function.
excel.set_xl_scalar_conversion(excel.convert_to_scalar)
excel.set_xl_array_conversion(excel.convert_to_dataframe)
Ook Numpy, Statsmodels en Seaborn zijn dus beschikbaar.
Conclusie over de mogelijkheden van Python in Excel
Door gebruik te maken van Excel in Python kunnen bepaalde werkzaamheden makkelijker worden gemaakt. Dit is met name handig voor berekeningen die in Excel complexer en minder makkelijk leesbaar zijn dan in Python en Pandas. Daarnaast kan je variabelen makkelijk hergebruiken.
Wil je nog veel meer leren over met mogelijkheden met Python voor Data Science? Schrijf je dan in voor onze Python cursus voor data science, onze machine learning training, of voor onze data science opleiding en leer met vertrouwen te programmeren en analyseren in Python. Nadat je een van onze trainingen hebt gevolgd kun je zelfstandig verder aan de slag. Je kunt ook altijd even contact opnemen als je een vraag hebt.
Download één van onze opleidingsbrochures voor meer informatie
Terry is afgestudeerd aan de TU Delft als ingenieur en heeft zich in zijn carrière beziggehouden met het optimaal benutten van data om bedrijfsprestaties te verbeteren. Dit heeft hij gedaan in verschillende rollen, als software ontwikkelaar en als data scientist.