# Sådan gennemløber du DataFrames med pandas iterrows()

Python-funktionen pandas `DataFrame.iterrows()` bruges til **at gentage rækker i en pandas DataFrame**. For hver række leverer den en Python-tuple, der indeholder rækkeindekset og et Series-objekt med rækkeens data.

## Hvad er syntaksen for pandas `iterrows()`?

Den grundlæggende syntaks i pandas `DataFrame.iterrows()` er enkel, da funktionen **ikke tager nogen parametre**:

```python
df.iterrows()
```

I dette kodeeksempel er `df` den DataFrame, du vil gentage.

## Sådan bruges funktionen pandas `iterrows()`

Funktionen `DataFrame.iterrows()` bruges typisk, når du skal **behandle data række for række**. Den kombineres ofte med Python for-loops.

### Addition af værdier i en kolonne

Lad os se på et eksempel på en DataFrame, der indeholder kolonnerne *Navn*, *Alder* og *Score*:

```python
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)
```

Ovenstående kode resulterer i følgende DataFrame:

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

Lad os nu beregne summen af scorerne. Vi kan bruge pandas `DataFrame.iterrows()` til at gøre dette:

```python
# 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}")
```

I dette eksempel har vi brugt pandas `iterrows()` -funktionen til at gennemløbe hver række og lægge værdierne i kolonnen *Score* sammen én efter én. Dette giver følgende resultat:

```none
The total score is: 265
```

Note Når du bruger pandas `iterrows()`, er det vigtigt **ikke at ændre** de data, du itererer over, **direkte**. Afhængigt af datatypen kan dette føre til uventede resultater og utilsigtet adfærd.

### Behandling af rækker ved hjælp af betingelser

Funktionen `iterrows()` kan også bruges til at anvende betingelser på individuelle rækker i din DataFrame. Lad os for eksempel sige, at du vil hente navnene på alle over 30 år i DataFrame fra det sidste eksempel:

```python
# 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}")
```

I dette eksempel brugte vi `DataFrame.iterrows()` til at gennemgå hver datarække. Inden for for-løkken tjekker den værdierne i kolonnen *Alder* og gemmer kun navnene på personer over 30 år i Python-listen `names`. Dette gøres ved hjælp af Python-funktionen append(). Her er resultatet:

```none
People over 30 years old: ['Ben']
```

Note Selvom det er nemt at bruge `DataFrames.iterrows()`, skal du være opmærksom på, at det **muligvis ikke kører effektivt på store DataFrames**. I mange tilfælde kan andre muligheder som `apply()` eller vektoriserede beregninger bruges til at opnå bedre ydeevne.


This is a markdown version of: [https://www.ionos.com/da-dk/digitalguide/websteder/webudvikling/python-pandas-dataframe-iterrows/](https://www.ionos.com/da-dk/digitalguide/websteder/webudvikling/python-pandas-dataframe-iterrows/) for AI/LLM consumption.