Ga naar hoofdinhoud

Pandas Profiling (ydata-profiling) in Python: een gids voor beginners

Leer hoe je de ydata-profiling-bibliotheek in Python gebruikt om gedetailleerde rapporten te genereren voor datasets met veel kenmerken.
Bijgewerkt 2 jun 2026  · 9 min lezen

Als je met een dataset werkt, bijvoorbeeld met 10.000 rijen en 50 kolommen, is het best een uitdaging om daar snel een goed overzicht van te krijgen. Daar komt pandas Profiling goed van pas. Het automatiseert het proces door een uitgebreid rapport van je dataset te genereren, zodat je minder tijd kwijt bent aan het verkennen van grote datasets.

In dit artikel leer je hoe je aan de slag gaat met wat voorheen bekendstond als pandas Profiling. De pakketnaam pandas-profiling is recent gewijzigd in ydata-profiling. In deze tutorial leer je hoe je een profilerapport uit de dataset genereert, wat er in het rapport staat, hoe je het leest en tot slot hoe je het opslaat voor later gebruik.

Wat is pandas Profiling (ydata-profiling)?

Pandas Profiling wordt gebruikt om een volledig en gedetailleerd rapport van de dataset te genereren, met veel mogelijkheden en aanpassingen in het rapport. Dit rapport bevat allerlei informatie, zoals datasetstatistieken, de verdeling van waarden, ontbrekende waarden, geheugengebruik, enzovoort, wat erg handig is om data efficiënt te verkennen en te analyseren.

Pandas Profiling helpt ook veel bij Exploratory Data Analysis (EDA). EDA wordt gebruikt om de onderliggende structuur van data te begrijpen, patronen te detecteren en inzichten te genereren in een visueel formaat.

Voor EDA moeten we vaak veel regels code schrijven, wat soms complex en tijdrovend kan zijn, maar met Pandas Profiling kun je dat automatiseren met slechts een paar regels code.

Heb je een opfrisser nodig voor EDA? Lees dan Python Exploratory Data Analysis.

Hier is een voorbeeld van een profilerapport:

overzicht van pandas-profielrapport

Afbeelding door de auteur

Voordelen en nadelen van pandas Profiling

Pandas profiling wordt veel gebruikt in EDA vanwege het gebruiksgemak, de tijdswinst en de interactieve HTML-rapporten. Er zijn echter ook enkele mogelijke nadelen bij het gebruik van pandas profiling met grote datasets.

Voordelen

  • Gebruiksgemak: Pandas profiling is erg eenvoudig in gebruik. Met slechts een paar regels code genereer je al een uitgebreid rapport.
  • Tijdbesparend: Pandas profiling kan met minimale moeite een uitgebreid rapport maken met een breed scala aan informatie over een dataset. Dat maakt het een uitstekende optie voor EDA.
  • Interactieve HTML-rapporten: Pandas profiling genereert interactieve HTML-rapporten die gemakkelijk te analyseren en te begrijpen zijn. De rapporten laten je ook dieper inzoomen op specifieke variabelen en hun verdelingen verkennen.

Nadelen

  • Prestaties bij grote datasets: Het belangrijkste nadeel van pandas profiling zit in de prestaties bij grote datasets. Naarmate het datavolume groeit, neemt de tijd om het rapport te genereren aanzienlijk toe, waardoor het minder efficiënt wordt voor grootschalige data-analyse.

Installatie van pandas Profiling

Om pandas Profiling te installeren, kun je afhankelijk van je voorkeur en omgeving pip of conda gebruiken.

Met Pip:

Open een opdrachtprompt of terminal en voer de volgende opdracht uit:

pip install ydata-profiling

Met Conda:

Open de Anaconda PowerShell Prompt en voer de volgende opdracht uit:

conda install -c conda-forge ydata-profiling

Pandas Profiling importeren

Importeer na een succesvolle installatie ydata-profiling met de volgende regel.

from ydata_profiling import ProfileReport

Dit importeert de klasse ProfileReport uit de bibliotheek ydata_profiling. Met deze klasse kun je profilerapporten genereren voor je DataFrames.

Profilerapport genereren

Volg de onderstaande stappen om een profilerapport te genereren:

  1. Importeer pandas.
  2. Importeer de klasse ProfileReport uit de bibliotheek ydata_profiling.
  3. Maak een DataFrame met je data.
  4. Gebruik de klasse ProfileReport() en geef het DataFrame door.

Hier is de eenvoudige code die de bovenstaande stappen volgt. Eerst importeren we de benodigde bibliotheken en lezen we vervolgens het CSV-bestand in met de functie read_csv(). In dit geval gebruiken we het CSV-bestand van de Top 100 Bestselling Book Reviews. Daarna gebruiken we de klasse ProfileReport en geven ons DataFrame door.

Daarnaast stellen we een nieuwe titel in, "Trending Books". Standaard is de titel iets anders, maar als je deze wilt aanpassen, gebruik dan de variabele title binnen de klasse. Tot slot kun je om het rapport te genereren en weer te geven profile of profile.to_notebook_iframe() gebruiken.

code om een profilerapport te genereren

Het rapport wordt in de volgende volgorde gegenereerd: eerst wordt de volledige dataset samengevat. Daarna wordt de rapportstructuur opgebouwd. Tot slot wordt het rapport getoond, dat je als HTML-bestand kunt opslaan en gebruiken voor verdere analyse.

genereren van profilerapport is bezig.

Hier is het gegenereerde rapport, met verschillende secties zoals Overzicht, Variabelen, Interacties, Correlaties, Ontbrekende waarden en Voorbeeld.

volledig overzicht van het profilerapport met verschillende secties

Ben je nieuw met EDA en specifieker met dataprofiling? Lees dan Exploratory Data Analysis of Craft Beers: Data Profiling.

Het gegenereerde profilerapport verkennen

Het rapport is opgedeeld in meerdere secties; laten we ze één voor één verkennen.

Overzicht

Deze sectie bestaat uit 3 tabbladen: Overzicht, Waarschuwingen en Reproductie.

Het tabblad Overzicht bevat datasetstatistieken, zoals het aantal variabelen (of het aantal verschillende kolommen), het aantal cellen met ontbrekende waarden, dubbele rijen en de grootte van de dataset in het geheugen.

In onze dataset zijn in totaal 8 variabelen of kolommen. Daarvan zijn er vier numeriek (rang, boekprijs, beoordeling en publicatiejaar), terwijl de overige vier tekstgebaseerd zijn (boektitel, auteur, genre en URL). Er zijn geen dubbele rijen, wat blijkt uit een telling van 0 voor duplicaten. Ook bevat de kolom 'rating' drie ontbrekende waarden.

tabblad overzicht van de sectie overzicht van het rapport

Het tabblad Waarschuwingen bevat meldingen over correlaties met andere variabelen, ontbrekende waarden, unieke waarden, nullen, enz.

In ons geval hebben de kolommen URL en Rank unieke waarden, en de kolom rating heeft drie ontbrekende waarden.

tabblad waarschuwingen van de sectie overzicht

Het tabblad Reproductie toont wanneer de analyse is gestart en wanneer deze is geëindigd. Het geeft de duur van de analyse weer, inclusief de softwareversie die je gebruikt (in mijn geval is dat ydata-profiling v4.6.1).

tabblad reproductie van de sectie overzicht

Variabelen

De sectie Variabelen bevat alle kolommen van je dataset. Je kunt op de pijl klikken en elke kolom selecteren.

sectie variabelen met verschillende kolommen

Stel dat je de kolom rating hebt geselecteerd; het rapport laat zien dat deze kolom 10 unieke waarden bevat die verdeeld zijn over 100 rijen. Daarnaast ontbreken in drie cellen waarden. De minimumwaarde is 4,1 en de maximumwaarde is 5. Het gemiddelde van alle beoordelingen wordt ook weergegeven.

kolom rating van de sectie variabelen

Een belangrijke opmerking: rechtsonder staat een knop More Details. Als je op deze knop klikt, krijg je meer informatie over de kolom rating, zoals de mediaan, standaarddeviatie, variatiecoëfficiënt en diverse andere kenmerken van de kolom.

Correlaties

Dit helpt bij het bestuderen van de relatie tussen twee variabelen, oftewel de correlatie. De heatmap hieronder toont de onderlinge relaties tussen alle variabelen. Rank is 100% gerelateerd aan Rank, en daarom wordt dit weergegeven door het donkerblauwe vierkant linksboven.

Het publicatiejaar hangt matig samen met de boekprijs (ongeveer 0,75), wat wordt weergegeven door de lichtblauwe kleur omdat ze niet volledig gerelateerd zijn. Bijvoorbeeld: de boekprijs is 20,93 en het publicatiejaar is 2023; deze getallen houden in zekere mate verband met elkaar.

tabblad heatmap van de sectie correlaties

Ontbrekende waarden

Deze sectie geeft informatie over de ontbrekende waarden in de dataset. Het tabblad Count van deze sectie geeft aan dat er 3 ontbrekende waarden zijn in de kolom rating.

tabblad count van de sectie ontbrekende waarden

In het tabblad Matrix van de sectie ontbrekende waarden zijn drie horizontale lijnen te zien in de kolom Rating, wat aangeeft dat er drie waarden in die kolom ontbreken.

tabblad matrix van de sectie ontbrekende waarden

Voorbeeld

Deze sectie bevat een steekproef van de dataset. Hij toont de eerste en laatste 10 rijen van de dataset.

eerste en laatste rijen van de sectie voorbeeld

Het profilerapport opslaan

Je profilerapport is gegenereerd en je wilt het misschien opslaan voor later gebruik, bijvoorbeeld om nuttige data uit het rapport te halen of het te integreren met andere applicaties. Je kunt het rapport opslaan in HTML- en JSON-indelingen. De methode to_file() slaat het rapport buiten de Jupyter Notebook op.

rapport wordt gegenereerd en opgeslagen in html- en json-indeling

Hier is de volledige code voor de pandas-profiling:

from ydata_profiling import ProfileReport
import pandas as pd

df = pd.read_csv("trending-books.csv")
profile = ProfileReport(df, title="Trending Books")
profile.to_notebook_iframe()
profile.to_file("books_data.html")

Geavanceerde toepassingen

Voor het genereren van het rapport geven we simpelweg het CSV-bestand door en verder niets. We voegen geen extra elementen toe; alleen standaardwaarden worden gebruikt.

Toch zijn er misschien secties die je wilt weglaten of extra informatie die je wilt toevoegen. Daar komen de geavanceerde toepassingen van Pandas Profiling om de hoek kijken. Je kunt verschillende aspecten van het rapport sturen door de standaardconfiguratie te wijzigen.

Als je meer wilt leren over tools voor data-analyse en visualisatie, lees dan 21 Essential Python Tools.

Datasetbeschrijving & metadata

Bij het delen van rapporten met collega’s of bij online publicatie kan het belangrijk zijn om metadata van de dataset op te nemen, zoals de auteur, de rechthebbende of beschrijvingen. Met ydata-profiling kun je een rapport met die informatie aanvullen.

De momenteel ondersteunde eigenschappen zijn description, creator, author, url, copyright_year en copyright_holder. Standaard worden de datasets weergegeven in de sectie Overzicht van het rapport.

from ydata_profiling import ProfileReport
import pandas as pd

df = pd.read_csv("trending-books.csv")
report = ProfileReport(
    df,
    title="Trending Books",
    dataset={
        "description": "This profiling report was generated for the datacamp learning resources.",
        "author": "Satyam Tripathi",
        "copyright_holder": "DataCamp, Inc.",
        "copyright_year": 2023,
        "url": "<https://www.datacamp.com/>",
    },
)
report.to_notebook_iframe()

Hier is de code-uitvoer:

tabblad dataset van de sectie overzicht

Naast informatie over de dataset willen gebruikers bij het delen van rapporten met teamleden en stakeholders vaak ook kolomspecifieke beschrijvingen opnemen. Standaard worden deze beschrijvingen weergegeven in de sectie Overzicht van het rapport.

from ydata_profiling import ProfileReport
import pandas as pd

df = pd.read_csv("trending-books.csv")
report = ProfileReport(
    df,
    title="Trending Books",
    variables={
        "descriptions": {
            "genre": "It contains the genre or category of the book. For example, it could be 'Mystery', 'Science Fiction', 'Romance', 'Fantasy', etc.",
            "url": "It contains Amazon links for each book.",
            "rating": "It contains the rating assigned to the book out of 5.",
        }
    },
)
report.to_notebook_iframe()

Hier is de code-uitvoer:

tabblad variabelen van de sectie overzicht

Profiling van grote datasets

Standaard vat ydata-profiling de invoerdataset uitgebreid samen om zoveel mogelijk inzichten te bieden voor data-analyse. Voor kleine datasets kunnen deze berekeningen snel worden uitgevoerd. Bij grotere datasets kan dit echter te omslachtig worden.

ydata-profiling bevat een minimale configuratie waarin de meest kostbare berekeningen standaard zijn uitgeschakeld. Deze configuratie sluit tijdrovende secties uit, zoals correlaties, interacties, enz.

from ydata_profiling import ProfileReport
import pandas as pd

df = pd.read_csv("trending-books.csv")
report = ProfileReport(df, minimal=True)
report.to_notebook_iframe()

ydata-profiling biedt ook verschillende alternatieven om de uitdaging van het omgaan met grote datasets te overwinnen. Ontdek ze hier.

Conclusie

In dit artikel heb je kennisgemaakt met de unieke bibliotheek ydata-profiling, voorheen bekend als "Pandas Profiling", waarmee je met slechts een paar regels code rapporten kunt maken. Je leerde hoe je het profilerapport genereert en alle secties en tabbladen in het rapport verkent. Het belangrijkste is dat je de geavanceerde toepassingen van deze bibliotheek hebt gezien, die je een stap verder brengen in je data science-reis.

Pandas is ’s werelds populairste Python-bibliotheek, gebruikt voor alles van datamanipulatie tot data-analyse. Wil je leren hoe je DataFrames manipuleert terwijl je echte datasets extraheert, filtert en transformeert voor analyse? Bekijk dan onze cursus Data Manipulation with pandas.


Satyam Tripathi's photo
Author
Satyam Tripathi
LinkedIn
Onderwerpen

Ontdek meer toepassingen van pandas

Cursus

Gestroomlijnde data-inname met pandas

4 Hr
62.6K
Leer hoe je gegevens kunt halen uit veelgebruikte bestandsformaten en systemen, zoals CSV-bestanden, spreadsheets, JSON, SQL-databases en API's.
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer zienMeer zien