# Hvordan løpe gjennom DataFrames med pandas iterrows()

Python pandas-funksjonen `DataFrame.iterrows()` brukes til **å iterere over rader i en pandas DataFrame**. For hver rad gir den en Python-tuple som inneholder radindeksen og et Series-objekt med radenes data.

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

Den grunnleggende syntaksen til pandas `DataFrame.iterrows()` er enkel, siden funksjonen **ikke tar noen parametere**:

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

I dette kodeeksemplet er `df` DataFrame-en du ønsker å iterere gjennom.

## Hvordan bruke funksjonen pandas `iterrows()`

Funksjonen `DataFrame.iterrows()` brukes vanligvis når du trenger å **behandle data rad for rad**. Den kombineres ofte med Python for-løkker.

### Legge sammen verdier i en kolonne

La oss se på et eksempel på en DataFrame som inneholder kolonnene *Name*, *Age* 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)
```

Koden ovenfor resulterer i følgende DataFrame:

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

La oss nå beregne summen av poengene. Vi kan bruke pandas `DataFrame.iterrows()` til å gjø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 eksemplet brukte vi `iterrows()` -funksjonen til å løpe gjennom hver rad og legge sammen verdiene i kolonnen *Score* én etter én. Dette gir følgende resultat:

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

Note Når du bruker pandas `iterrows()`, er det viktig **å ikke endre** dataene du itererer over **direkte**. Avhengig av datatypen kan dette føre til uventede resultater og utilsiktet oppførsel.

### Behandling av rader ved hjelp av betingelser

Funksjonen `iterrows()` kan også brukes til å bruke betingelser på enkelte rader i DataFrame. La oss for eksempel si at du vil hente navnene på alle over 30 år i DataFrame fra det siste eksemplet:

```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 eksemplet brukte vi `DataFrame.iterrows()` til å gå gjennom hver rad med data. Inne i for-sløyfen sjekker den verdiene i kolonnen *Age* og lagrer bare navnene på personer over 30 år i Python-listen `names`. Dette gjøres ved hjelp av Python-funksjonen append(). Her er resultatet:

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

Note Selv om det er enkelt å bruke `DataFrames.iterrows()`, må du huske at det **kanskje ikke fungerer effektivt på store DataFrames**. I mange tilfeller kan andre alternativer som `apply()` eller vektoriserte beregninger brukes for å oppnå bedre ytelse.


This is a markdown version of: [https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/python-pandas-dataframe-iterrows/](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/python-pandas-dataframe-iterrows/) for AI/LLM consumption.