Maison >développement back-end >Tutoriel Python >Comment parcourir efficacement les lignes d'un DataFrame Pandas ?

Comment parcourir efficacement les lignes d'un DataFrame Pandas ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-23 20:37:11355parcourir

How Do I Iterate Over Rows in a Pandas DataFrame Efficiently?

Itérer sur les lignes d'un Pandas DataFrame

Itérer sur les lignes d'un Pandas DataFrame vous permet d'accéder à des lignes individuelles et à leurs éléments. Pour y parvenir, Pandas propose deux méthodes couramment utilisées : DataFrame.iterrows et DataFrame.T.iteritems().

DataFrame.iterrows :

DataFrame.iterrows est un générateur qui produit à la fois l'index de la ligne et la ligne elle-même représentée comme une série Pandas. L'extrait de code suivant démontre son utilisation :

import pandas as pd
df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})

for index, row in df.iterrows():
    print(row['c1'], row['c2'])

Cela affichera :

10 100
11 110
12 120

DataFrame.T.iteritems():

DataFrame.T.iteritems() parcourt les colonnes d'un DataFrame. La transposition du DataFrame à l'aide de .T et de .iteritems() donne à la fois le nom de la colonne et la ligne sous forme de série. Notez que cette approche est généralement moins efficace que iterrows :

for column_name, row in df.T.iteritems():
    print(column_name, row['c1'], row['c2'])

Cela affichera :

c1 10 11 12
c2 100 110 120

Considérations relatives aux performances :

Itération sur Les objets pandas sont généralement plus lents que les opérations vectorisées ou l'application de fonctions utilisant la méthode apply(). Si les performances sont cruciales, envisagez d'utiliser cython ou numba pour améliorer les performances des opérations itératives.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn