Logo
Afbeelding

Pandas voor auditors

Geschreven door The Audit Analytics | 4 minuten

Als auditor werk je steeds vaker met grote hoeveelheden data. Zoals al eerder aangegeven, raad ik python hiervoor aan. Een van de krachtigste tools voor auditors is 'Pandas', een Python-bibliotheek die speciaal is ontworpen voor data-analyse. In dit artikel leren we je wat handige functies. Geen zorgen als je geen programmeerervaring hebt – we houden het praktisch en simpel!

Python installeren

Wat is een DataFrame?

Een DataFrame is eigenlijk een soort Excel-tabel binnen Python. Het bestaat uit rijen en kolommen en helpt je om data gestructureerd te analyseren. Je kunt het zien als een slimme versie van een spreadsheet.

Je kunt een DataFrame eenvoudig zelf maken:

import pandas as pd

# Simpele dataset maken
data = {'Naam': ['Alice', 'Bob', 'Charlie'],
        'Leeftijd': [25, 30, 35],
        'Salaris': [50000, 60000, 70000]}

# DataFrame aanmaken
df = pd.DataFrame(data)
print(df)

Uitvoer:

      Naam  Leeftijd  Salaris
0    Alice       25    50000
1      Bob       30    60000
2  Charlie       35    70000

Dit is een simpele tabel met drie kolommen: Naam, Leeftijd, en Salaris.

Je kunt het ook importeren:

# CSV-bestand inlezen
df_csv = pd.read_csv('bestand.csv')

# Excel-bestand inlezen
df_excel = pd.read_excel('bestand.xlsx')

# Tekstbestand (met tab als delimiter) inlezen
df_txt = pd.read_csv('bestand.txt', delimiter='\t')

Handige Pandas-functies voor auditors

Laten we nu aan de slag gaan. Ik laat je graag enkele handige functies zien, die je werk makkelijker maken.

1. Data snel verkennen

Voordat je een dataset analyseert, wil je weten hoe deze eruitziet. Gebruik dan deze commando's:

df.head()  # Toont de eerste 5 rijen
df.info()  # Geeft informatie over het datatype van de kolommen
df.describe()  # Geeft statistieken zoals gemiddelde, min en max

2. Filteren van data

Het kan best zijn dat je een sub-tabel wil maken die alleen specifieke data bevat. Dat kan heel gemakkelijk door een filter te plaatsen.

hoge_salarissen = df[df['Salaris'] > 55000]
print(hoge_salarissen)

hoge_salarissen is ook een dataframe, waardoor je hier dezelfde functies op kan toepassen.

3. Dubbele waarden vinden

Wil je controleren of er dubbele factuurnummers in een dataset staan?

duplicaten = df[df.duplicated(['Factuurnummer'], keep=False)]
print(duplicaten)

4. Waarden tellen

Welke afdelingen komen het meest voor in een dataset?

afdelingen['Afdeling'].value_counts()

5. Gegevens groeperen met groupby (Draaitabel-functionaliteit)

De draaitabel wordt veel gebruikt met Excel, maar je kunt het ook gemakkelijk genereren met python. Wil je bijvoorbeeld snel totalen of gemiddelden per categorie berekenen, zoals het gemiddelde salaris per afdeling? Gebruik dan de groupby-functie:

gemiddeld_salaris_per_afdeling = df.groupby('Afdeling')['Salaris'].mean()
print(gemiddeld_salaris_per_afdeling)

Dit groepeert de gegevens op basis van de 'Afdeling'-kolom en berekent het gemiddelde salaris per groep. Je kunt ook meerdere berekeningen toevoegen:

df.groupby('Afdeling').agg({'Salaris': ['mean', 'sum', 'count']})

Dit geeft je niet alleen het gemiddelde, maar ook de som en het aantal medewerkers per afdeling.

6. Data exporteren naar Excel

Na je analyse wil je het resultaat vaak in Excel delen. Dat doe je zo:

df.to_excel('audit_resultaten.xlsx', index=False)

Hoe combineer je datasets? (Merge)

Dan even wat lastiger. Soms heb je data verspreid over meerdere tabellen en wil je deze samenvoegen. Pandas heeft hiervoor de merge-functie, vergelijkbaar met een VLOOKUP in Excel, maar veel krachtiger.

Stel, je hebt een dataset met medewerkers en een aparte dataset met hun afdelingen:

# Eerste dataset: medewerkers
medewerkers = pd.DataFrame({
    'ID': [1, 2, 3],
    'Naam': ['Alice', 'Bob', 'Charlie']
})

# Tweede dataset: afdelingen
afdelingen = pd.DataFrame({
    'ID': [1, 2, 3],
    'Afdeling': ['Finance', 'IT', 'Audit']
})

# Merge de datasets op de ID-kolom
resultaat = pd.merge(medewerkers, afdelingen, on='ID')
print(resultaat)

Uitvoer:

   ID     Naam  Afdeling
0   1   Alice  Finance
1   2     Bob       IT
2   3  Charlie   Audit

Met pd.merge() combineer je eenvoudig datasets op basis van een gemeenschappelijke kolom, zoals een ID-nummer. Dit bespaart veel tijd bij het analyseren van auditdata! Het kan ook zijn dat je twee kolommen hebt die je wil matchen, die verschillend heten. Gebruik dan het left_on en right_on argument:

resultaat = pd.merge(medewerkers, afdelingen, left_on='Medewerker_ID', right_on='EmployeeID')

Conclusie

Zó, dit was echt een enorme snelcursus Pandas, maar ik hoop dat je door hebt dat het heel handig is. Wil je meer leren? Begin dan met kleine datasets en probeer zelf wat analyses uit. En dan zul je ongetwijfeld merken dat Pandas het werk niet alleen makkelijker, maar ook een stuk leuker maakt!