Funcția Python pandas DataFrame.iterrows() este utilizată pentru a itera peste rândurile dintr-un DataFrame pandas. Pentru fiecare rând, aceasta furnizează un tuple Python care conține indexul rândului și un obiect Series cu datele rândului.

Care este sintaxa pentru pandas iterrows()?

Sintaxa de bază a pandas DataFrame.iterrows() este simplă, deoarece funcția nu acceptă niciun parametru:

df.iterrows()
python

În acest exemplu de cod, df este DataFrame pe care doriți să îl parcurgeți.

Cum se utilizează funcția pandas iterrows()

Funcția DataFrame.iterrows() este utilizată de obicei atunci când trebuie să procesați datele rând cu rând. Este adesea combinată cu buclele for din Python.

Adunarea valorilor dintr-o coloană

Să analizăm un exemplu de DataFrame care conține coloanele Nume, Vârstă și Punctaj:

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

Codul de mai sus generează următorul DataFrame:

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

Acum, să calculăm suma punctajelor. Pentru aceasta, putem folosi 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

În acest exemplu, am folosit funcția pandas iterrows() pentru a parcurge fiecare rând, adăugând valorile din coloana Score una câte una. Acest lucru produce următorul rezultat:

The total score is: 265
Notă

Când utilizați pandas iterrows(), este important să nu modificați direct datele pe care le parcurgeți. În funcție de tipul de date, acest lucru poate duce la rezultate neașteptate și comportamente neintenționate.

Prelucrarea rândurilor utilizând condiții

Funcția iterrows() poate fi utilizată și pentru a aplica condiții la rânduri individuale din DataFrame. De exemplu, să presupunem că doriți să extrageți numele tuturor persoanelor cu vârsta peste 30 de ani din DataFrame din ultimul exemplu:

# 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

În acest exemplu, am folosit DataFrame.iterrows() pentru a parcurge fiecare rând de date. În interiorul buclei for, se verifică valorile din coloana Age și se stochează numai numele persoanelor cu vârsta peste 30 de ani în lista Python names. Acest lucru se realizează folosind funcția Python append(). Iată rezultatul:

People over 30 years old: ['Ben']
Notă

Deși este ușor de utilizat DataFrames.iterrows(), rețineți că este posibil să nu funcționeze eficient pe cadre de date mari. În multe cazuri, pentru a obține performanțe mai bune, pot fi utilizate alte opțiuni, cum ar fi apply() sau calcule vectorizate.

Mergi la meniul principal