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

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

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

df.iterrows()
python

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

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

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

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

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

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

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

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

Τώρα, ας υπολογίσουμε το άθροισμα των βαθμολογιών. Μπορούμε να χρησιμοποιήσουμε το pandas DataFrame.iterrows() για να το κάνουμε αυτό:

# 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}")
python

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

The total score is: 265
Note

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

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

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

# 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}")
python

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

People over 30 years old: ['Ben']
Note

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

Go to Main Menu