# Kuidas läbida DataFrames'i pandas iterrows() abil

Python pandas funktsiooni `DataFrame.iterrows()` kasutatakse **pandas DataFrame’i ridade läbimiseks**. Iga rea jaoks pakub see Python-tuple’it, mis sisaldab rea indeksit ja Series-objekti rea andmetega.

## Mis on pandas `iterrows()` süntaks?

Pandas `DataFrame.iterrows()` põhiline süntaks on lihtne, kuna funktsioon **ei võta vastu mingeid parameetreid**:

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

Selles koodinäites on `df` andmestik, mida soovite läbi käia.

## Kuidas kasutada pandas `iterrows()` funktsiooni

Funktsiooni `DataFrame.iterrows()` kasutatakse tavaliselt siis, kui on vaja **töödelda andmeid rida haaval**. Seda kombineeritakse sageli Python for-tsüklitega.

### Veeru väärtuste liitmine

Vaadakem näidet DataFrame’ist, mis sisaldab veerge *Name*, *Age* ja *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)
```

Eespool toodud kood annab järgmise DataFrame’i:

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

Nüüd arvutame punktide summa. Selleks saame kasutada pandas `DataFrame.iterrows()`:

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

Selles näites kasutasime pandas `iterrows()` funktsiooni, et läbida iga rida, liites üksteise järel kokku veerus *„Score”* olevad väärtused. See annab järgmise tulemuse:

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

Note Pandas `iterrows()` kasutamisel on oluline **mitte muuta otseselt** andmeid, mida iteratsiooniga töödeldakse. Sõltuvalt andmetüübist võib see põhjustada ootamatuid tulemusi ja soovimatut käitumist.

### Ridade töötlemine tingimuste abil

Funktsiooni `iterrows()` saab kasutada ka tingimuste rakendamiseks DataFrame’i üksikutele ridadele. Näiteks, oletame, et soovite viimasest näidisest DataFrame’ist välja otsida kõik üle 30-aastased isikud:

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

Selles näites kasutasime `DataFrame.iterrows()`, et läbida iga andmereaga. For-tsükli sees kontrollitakse *vanuse* veeru väärtusi ja salvestatakse Python-nimekirja `names` ainult üle 30-aastaste inimeste nimed. Selleks kasutatakse Python-funktsiooni append(). Siin on tulemus:

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

Note Kuigi `DataFrames.iterrows()` on lihtne kasutada, pea meeles, et see **ei pruugi suuremate andmestruktuuride puhul tõhusalt töötada**. Paljudel juhtudel saab parema tulemuse saavutamiseks kasutada teisi võimalusi, nagu `apply()` või vektoriseeritud arvutused.


This is a markdown version of: [https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/python-pandas-dataframe-iterrows/](https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/python-pandas-dataframe-iterrows/) for AI/LLM consumption.