# Πώς να κάνετε βρόχο σε DataFrames με pandas iterrows()

Η συνάρτηση Python pandas `DataFrame.iterrows()` χρησιμοποιείται για **την επανάληψη σειρών σε ένα DataFrame pandas**. Για κάθε σειρά, παρέχει ένα Python tuple που περιέχει τον δείκτη σειράς και ένα αντικείμενο Series με τα δεδομένα της σειράς.

## Ποια είναι η σύνταξη για το pandas `iterrows()`;

Η βασική σύνταξη του pandas `DataFrame.iterrows()` είναι απλή, καθώς η συνάρτηση **δεν δέχεται παραμέτρους**:

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

Σε αυτό το παράδειγμα κώδικα, `df` είναι το DataFrame που θέλετε να επαναλάβετε.

## Πώς να χρησιμοποιήσετε τη συνάρτηση pandas `iterrows()`

Η συνάρτηση `DataFrame.iterrows()` χρησιμοποιείται συνήθως όταν χρειάζεται να **επεξεργαστείτε δεδομένα σειρά προς σειρά**. Συχνά συνδυάζεται με βρόχους for της Python.

### Προσθήκη τιμών σε μια στήλη

Ας δούμε ένα παράδειγμα DataFrame που περιέχει τις στήλες *Όνομα*, *Ηλικία* και *Βαθμολογία*:

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

Ο παραπάνω κώδικας έχει ως αποτέλεσμα το ακόλουθο DataFrame:

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

Τώρα, ας υπολογίσουμε το άθροισμα των βαθμολογιών. Μπορούμε να χρησιμοποιήσουμε το 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}")
```

Σε αυτό το παράδειγμα, χρησιμοποιήσαμε τη συνάρτηση pandas `iterrows()` για να κάνουμε βρόχο σε κάθε σειρά, προσθέτοντας τις τιμές στη στήλη *Score* μία προς μία. Αυτό παράγει το ακόλουθο αποτέλεσμα:

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

Note Όταν χρησιμοποιείτε pandas `iterrows()`, είναι σημαντικό **να μην τροποποιείτε απευθείας** τα δεδομένα που επαναλαμβάνετε. Ανάλογα με τον τύπο των δεδομένων, αυτό μπορεί να οδηγήσει σε απροσδόκητα αποτελέσματα και ανεπιθύμητη συμπεριφορά.

### Επεξεργασία σειρών με χρήση συνθηκών

Η συνάρτηση `iterrows()` μπορεί επίσης να χρησιμοποιηθεί για την εφαρμογή συνθηκών σε μεμονωμένες σειρές στο DataFrame σας. Για παράδειγμα, ας υποθέσουμε ότι θέλετε να ανακτήσετε τα ονόματα όλων των ατόμων άνω των 30 ετών στο DataFrame από το τελευταίο παράδειγμα:

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

Σε αυτό το παράδειγμα, χρησιμοποιήσαμε `DataFrame.iterrows()` για να περάσουμε κάθε σειρά δεδομένων. Μέσα στον βρόχο for, ελέγχει τις τιμές στη στήλη *Age* και αποθηκεύει μόνο τα ονόματα των ατόμων άνω των 30 ετών στη λίστα Python `names`. Αυτό γίνεται χρησιμοποιώντας τη συνάρτηση append() της Python. Εδώ είναι το αποτέλεσμα:

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

Note Αν και η χρήση `DataFrames.iterrows()` είναι εύκολη, λάβετε υπόψη ότι **ενδέχεται να μην λειτουργεί αποτελεσματικά σε μεγάλα DataFrames**. Σε πολλές περιπτώσεις, μπορούν να χρησιμοποιηθούν άλλες επιλογές, όπως `apply()` ή οι διανυσματικοί υπολογισμοί, για την επίτευξη καλύτερης απόδοσης.


This is a markdown version of: [https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-pandas-dataframe-iterrows/](https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-pandas-dataframe-iterrows/) for AI/LLM consumption.