Maison >développement back-end >Tutoriel Python >Comment parcourir efficacement les trames de données Pandas ?

Comment parcourir efficacement les trames de données Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-13 03:45:02568parcourir

How to Efficiently Loop Through Pandas Dataframes?

Méthode la plus efficace pour parcourir des dataframes dans Pandas

Lorsque vous travaillez avec des données financières complexes stockées dans des dataframes, des techniques d'itération efficaces deviennent cruciales. L'approche traditionnelle utilisant enumerate(df.values) peut être inefficace. Heureusement, pandas a introduit une solution plus optimisée.

Utilisation de la fonction iterrows de Pandas

Les versions récentes de pandas offrent la fonction iterrows pour parcourir les lignes :

for index, row in df.iterrows():
    # Perform logic here

Cette méthode fournit à la fois les données d'index et de ligne, garantissant l'efficacité tout en permettant une personnalisation analyse.

Alternative : fonction itertuples Pandas

Une option encore plus rapide consiste à utiliser la fonction itertuples :

for idx, row_obj in df.itertuples(index=True):
    # Perform logic here

Cette approche exploite les fonctions numpy pour manipuler les données directement, en contournant l'itération des lignes, ce qui peut améliorer considérablement performances.

Utilisation des opérations Numpy

Comme suggéré par unutbu, l'utilisation directe des fonctions numpy peut fournir le code le plus rapide. Au lieu d'itérer sur les lignes, vous pouvez appliquer des opérations sur l'ensemble du dataframe :

df['new_column'] = np.where(df['open'] > 10, 'high', 'low')

Cette approche élimine les itérations inutiles et exploite les opérations vectorisées de numpy pour une efficacité supérieure.

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