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

Comment puis-je parcourir efficacement les lignes Pandas DataFrame ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-27 20:00:18661parcourir

How Can I Efficiently Iterate Through Pandas DataFrame Rows?

Parcours des lignes du Pandas DataFrame

Itérer sur les lignes d'un Pandas DataFrame est couramment rencontré lors de la manipulation de données tabulaires. Cet article explore deux méthodes pour accomplir cette tâche et met en lumière la composition des objets ligne.

Utilisation d'iterrows()

Pandas fournit un générateur DataFrame.iterrows efficace qui renvoie à la fois l'index et la ligne. sous forme de série pour chaque observation. Cette méthode permet un accès direct aux valeurs des colonnes à l'aide de l'index de la ligne :

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'])

Cet extrait génère :

10 100
11 110
12 120

Remarque sur les considérations en matière de performances

Lors de l'itération sur les objets Pandas est généralement une approche pratique, elle peut être lente par rapport aux opérations vectorisées. Pour des performances maximales, envisagez des techniques alternatives telles que :

  • Exploiter les méthodes intégrées et les fonctions NumPy pour les calculs vectorisés.
  • Utiliser l'indexation booléenne pour un sous-ensemble de données efficace.
  • Utiliser apply() pour les opérations itératives où une modification directe est nécessaire.
  • Optimiser les boucles critiques en termes de performances à l'aide cython ou numba.

Méthodes d'itération supplémentaires

Au-delà de iterrows(), Pandas propose d'autres méthodes d'itération de ligne telles que :

  • itertuples( ): Renvoie un tuple nommé pour chacun row.
  • iterrows(ignore_index=True): Itère sur les lignes, à l'exclusion de l'index.
  • itertuples(ignore_index=True): Similaire à itertuples(), mais exclut l'index.

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