Maison > développement back-end > Tutoriel Python > Quel est le moyen le plus efficace de créer un DataFrame Pandas ?

Quel est le moyen le plus efficace de créer un DataFrame Pandas ?

Susan Sarandon
Libérer: 2024-11-27 16:49:11
original
800 Les gens l'ont consulté

What's the Most Efficient Way to Create a Pandas DataFrame?

Création de DataFrames vides : une comparaison des approches

La méthode traditionnelle consistant à créer un DataFrame pandas vide et à le remplir progressivement peut être inefficace et mémoire -intensif. Une approche plus optimale consiste à accumuler des données dans une liste et à les convertir en DataFrame si nécessaire.

Avantages de l'accumulation de liste :

  • Efficacité de la mémoire : Les listes sont des structures de données légères qui consomment moins de mémoire que DataFrames.
  • Performance : L'ajout à une liste est nettement plus rapide que l'ajout répété à un DataFrame.
  • Inférence automatique du type de données : Lorsque la liste est converti en DataFrame, les pandas détermineront automatiquement les types de données appropriés.
  • Index automatique création : Un RangeIndex est automatiquement créé pour les données, éliminant ainsi le besoin d'attribution manuelle d'index.

Exemple de code pour l'accumulation de liste :

data = []
for row in some_function_that_yields_data():
    data.append(row)

df = pd.DataFrame(data)
Copier après la connexion

Approches prudentes Évitez :

  • Ajout itératif à un DataFrame : Évitez d'utiliser df.append ou pd.concat dans une boucle pour des raisons de performances. Cette approche conduit à des opérations de complexité quadratique.
  • Utilisation de loc dans une boucle : L'ajout à l'aide de df.loc[len(df)] entraîne également une allocation de mémoire inefficace.
  • DataFrame vide de NaN : La création d'un DataFrame rempli de NaN peut créer des colonnes d'objets, ce qui peut gêner performances.

Résultats de référence :

Les résultats de référence démontrent que l'accumulation de liste est nettement plus rapide que la méthode traditionnelle d'ajout itératif. À mesure que le DataFrame grandit, la différence de temps devient plus prononcée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal