Maison >développement back-end >Tutoriel Python >Quels sont les moyens efficaces d'itérer sur les lignes Pandas DataFrame ?

Quels sont les moyens efficaces d'itérer sur les lignes Pandas DataFrame ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-26 22:08:10253parcourir

What are the Efficient Ways to Iterate Over Pandas DataFrame Rows?

Itération efficace des lignes DataFrame dans Pandas

Itérer sur les lignes DataFrame est une tâche courante dans l'analyse des données. Cet article explore deux méthodes : DataFrame.T.iteritems() et DataFrame.iterrows(), fournissant une explication claire de l'objet ligne et de son utilisation.

Objet ligne

L'objet ligne renvoyé par DataFrame.iterrows() est une série représentant une seule ligne du DataFrame. Il permet d'accéder aux valeurs de cellules individuelles par nom de colonne :

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

Exemple

Considérez le DataFrame suivant :

c1 c2
10 100
11 110
12 120

Itération sur le les lignes utilisant la méthode ci-dessus produiraient le résultat suivant :

10 100
11 110
12 120

Performance Considérations

Il est important de noter que l'itération sur les lignes DataFrame peut nécessiter beaucoup de calculs. La documentation recommande d'utiliser des opérations vectorisées ou la fonction apply() autant que possible pour éviter les goulots d'étranglement des performances.

Alternatives aux Iterrows

Pour les opérations avancées, vous pouvez envisager d'utiliser ce qui suit alternatives aux fonctions iter* :

  • Opérations vectorisées avec méthodes intégrées ou NumPy fonctions
  • Application de fonction avec apply()
  • Cython ou Numba pour des performances améliorées

En comprenant comment travailler avec l'objet ligne et en considérant les implications en termes de performances, vous peut parcourir efficacement les lignes DataFrame pour effectuer diverses tâches d'analyse de données.

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