# Kā iziet cauri DataFrames ar pandas iterrows()

Python pandas funkcija `DataFrame.iterrows()` tiek izmantota, lai **iterētu pāri rindām pandas DataFrame**. Katrai rindai tā nodrošina Python tuple, kas satur rindas indeksu un Series objektu ar rindas datiem.

## Kāda ir pandas `iterrows()` sintakse?

Pandas `DataFrame.iterrows()` pamata sintakse ir vienkārša, jo funkcija **nepieņem nekādus parametrus**:

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

Šajā koda piemērā `df` ir DataFrame, kuru vēlaties iziet cauri.

## Kā lietot pandas `iterrows()` funkciju

`DataFrame.iterrows()` funkcija parasti tiek izmantota, ja ir nepieciešams **apstrādāt datus rindu pa rindai**. Tā bieži tiek kombinēta ar Python for-cilpām.

### Vērtību summēšana kolonnā

Apskatīsim piemēru DataFrame, kas satur kolonnu *Name*, *Age* un *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)
```

Iepriekš minētais kods rada šādu DataFrame:

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

Tagad aprēķināsim punktu summu. To var izdarīt, izmantojot 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}")
```

Šajā piemērā mēs izmantojām pandas `iterrows()` funkciju, lai izietu cauri katrai rindai, summējot vērtības kolonnā *Score* viena pēc otras. Tas dod šādu rezultātu:

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

Note Lietojot pandas `iterrows()`, ir svarīgi **nemainīt** datus **, kurus** atkārtojat. Atkarībā no datu tipa, tas var izraisīt negaidītus rezultātus un neparedzētu darbību.

### Rindu apstrāde, izmantojot nosacījumus

Funkciju `iterrows()` var izmantot arī, lai piemērotu nosacījumus atsevišķām rindām jūsu DataFrame. Piemēram, pieņemsim, ka jūs vēlaties iegūt visu DataFrame pēdējā piemērā minēto personu vārdus, kuras ir vecākas par 30 gadiem:

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

Šajā piemērā mēs izmantojām `DataFrame.iterrows()`, lai izietu cauri katrai datu rindai. For-cilpas iekšienē tā pārbauda vērtības kolonnā *Age* un Python sarakstā saglabā tikai to cilvēku vārdus, kuri ir vecāki par 30 gadiem `names`. Tas tiek veikts, izmantojot Python funkciju append(). Šeit ir rezultāts:

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

Note Lai gan `DataFrames.iterrows()` ir viegli lietojams, jāpatur prātā, ka tas **var nedarboties efektīvi ar lieliem DataFrames**. Daudzos gadījumos, lai sasniegtu labāku veiktspēju, var izmantot citas opcijas, piemēram, `apply()` vai vektoru aprēķinus.


This is a markdown version of: [https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/python-pandas-dataframe-iterrows/](https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/python-pandas-dataframe-iterrows/) for AI/LLM consumption.