De Python pandas-functie DataFrame.iterrows() wordt gebruikt om rijen in een pandas DataFrame te doorlopen. Voor elke rij levert deze functie een Python-tuple op die de rij-index en een Series-object met de gegevens van de rij bevat.

Wat is de syntaxis voor pandas iterrows()?

De basissyntaxis van pandas DataFrame.iterrows() is eenvoudig, aangezien de functie geen parameters nodig heeft:

df.iterrows()
python

In dit codevoorbeeld is df het DataFrame dat u wilt doorlopen.

Hoe gebruik je de functie pandas iterrows()?

De functie DataFrame.iterrows() wordt meestal gebruikt wanneer u gegevens rij voor rij moet verwerken. Deze functie wordt vaak gecombineerd met Python for-loops.

Waarden in een kolom optellen

Laten we eens kijken naar een voorbeeld van een DataFrame met de kolommen Naam, Leeftijd en Score:

import pandas as pd
# Creating an example DataFrame
data = {'Name': ['Anna', 'Ben', 'Clara'],
    'Age': [23, 35, 29],
    'Score': [88, 92, 85]}
df = pd.DataFrame(data)
print(df)
python

De bovenstaande code resulteert in het volgende DataFrame:

Name  Age  Score
0   Anna    23     88
1    Ben    35     92
2  Clara    29     85

Laten we nu de som van de scores berekenen. We kunnen hiervoor pandas DataFrame.iterrows() gebruiken:

# Calculating the total score
total_score = 0
for index, row in df.iterrows():
    total_score += row['Score']
print(f"The total score is: {total_score}")
python

In dit voorbeeld hebben we de functie pandas iterrows() gebruikt om elke rij te doorlopen en de waarden in de kolom Score één voor één bij elkaar op te tellen. Dit levert het volgende resultaat op:

The total score is: 265
Opmerking

Bij het gebruik van pandas iterrows() is het belangrijk om de gegevens waarover u iteraties uitvoert niet rechtstreeks te wijzigen. Afhankelijk van het gegevenstype kan dit leiden tot onverwachte resultaten en onbedoeld gedrag.

Rijen verwerken met behulp van voorwaarden

De functie iterrows() kan ook worden gebruikt om voorwaarden toe te passen op afzonderlijke rijen in uw DataFrame. Stel dat u bijvoorbeeld de namen wilt ophalen van iedereen ouder dan 30 jaar in de DataFrame uit het vorige voorbeeld:

# Retrieving names of people over 30 years old
names = []
for index, row in df.iterrows():
    if row['Age'] > 30:
        names.append(row['Name'])
print(f"People over 30 years old: {names}")
python

In dit voorbeeld hebben we DataFrame.iterrows() gebruikt om elke rij met gegevens te doorlopen. Binnen de for-lus controleert het de waarden in de kolom Leeftijd en slaat het alleen de namen van mensen ouder dan 30 jaar op in de Python-lijst names. Dit wordt gedaan met behulp van de Python-functie append(). Dit is het resultaat:

People over 30 years old: ['Ben']
Opmerking

Hoewel DataFrames.iterrows() gemakkelijk te gebruiken is, moet u er rekening mee houden dat het mogelijk niet efficiënt werkt bij grote DataFrames. In veel gevallen kunnen andere opties, zoals apply() of gevectoriseerde berekeningen, worden gebruikt om betere prestaties te behalen.

Ga naar hoofdmenu