# Kako z pandas iterrows() prehoditi skozi DataFrames

Funkcija Python pandas `DataFrame.iterrows()` se uporablja za **ponavljanje vrstic v pandas DataFrame**. Za vsako vrstico zagotavlja Python tuple, ki vsebuje indeks vrstice in objekt Series s podatki vrstice.

## Kakšna je sintaksa za pandas `iterrows()`?

Osnovna sintaksa pandas `DataFrame.iterrows()` je preprosta, saj funkcija **ne sprejema nobenih parametrov**:

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

V tem primeru kode je `df` DataFrame, ki ga želite ponoviti.

## Kako uporabljati funkcijo pandas `iterrows()`

Funkcija `DataFrame.iterrows()` se običajno uporablja, ko je treba **podatke obdelati vrstico po vrstico**. Pogosto se kombinira s Pythonovimi for-cikli.

### Seštevanje vrednosti v stolpcu

Poglejmo primer DataFrame, ki vsebuje stolpce *Ime*, *Starost* in *Rezultat*:

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

Zgornja koda da naslednji DataFrame:

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

Sedaj izračunajmo vsoto točk. Za to lahko uporabimo 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}")
```

V tem primeru smo uporabili funkcijo pandas `iterrows()`, da smo prešli skozi vsako vrstico in sešteli vrednosti v stolpcu *Score* eno po eno. To da naslednji rezultat:

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

Note Pri uporabi pandas `iterrows()` je pomembno, **da ne spreminjate neposredno** podatkov, ki jih ponavljate. Glede na vrsto podatkov lahko to privede do nepričakovanih rezultatov in neželenega delovanja.

### Obdelava vrstic z uporabo pogojev

Funkcijo `iterrows()` lahko uporabite tudi za uporabo pogojev za posamezne vrstice v vašem DataFrame. Recimo, da želite iz DataFrame iz zadnjega primera pridobiti imena vseh oseb, starejših od 30 let:

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

V tem primeru smo uporabili `DataFrame.iterrows()`, da smo pregledali vsako vrstico podatkov. Znotraj zanke for preveri vrednosti v stolpcu *Age* in v seznamu Python shrani samo imena oseb, starejših od 30 let `names`. To se izvede s funkcijo Python append(). Tukaj je rezultat:

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

Note Čeprav je uporaba `DataFrames.iterrows()` enostavna, upoštevajte, da **morda ne bo delovala učinkovito na velikih podatkovnih okvirih**. V mnogih primerih je mogoče za doseganje boljše učinkovitosti uporabiti druge možnosti, kot so `apply()` ali vektorski izračuni.


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/python-pandas-dataframe-iterrows/](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/python-pandas-dataframe-iterrows/) for AI/LLM consumption.