Maison > développement back-end > Tutoriel Python > Comment remplacer la méthode « append » obsolète de Pandas pour ajouter des lignes à un DataFrame ?

Comment remplacer la méthode « append » obsolète de Pandas pour ajouter des lignes à un DataFrame ?

Linda Hamilton
Libérer: 2024-12-03 19:21:11
original
708 Les gens l'ont consulté

How to Replace Pandas' Deprecated `append` Method for Adding Rows to a DataFrame?

Erreur "L'objet DataFrame" n'a pas d'attribut 'append'" : utilisation de 'concat' à la place

Dans les pandas, la méthode 'append' a été supprimé à partir de la version 2.0 et remplacé par 'concat'. Cela signifie que vous ne pouvez plus utiliser DataFrame.append() pour ajouter un dictionnaire en tant que nouvelle ligne à un DataFrame. Pour résoudre cette erreur et obtenir la fonctionnalité souhaitée, vous devez plutôt utiliser « concat ».

Utiliser 'concat'

Pour ajouter un dictionnaire en tant que nouvelle ligne à un DataFrame en utilisant 'concat', suivez ces étapes :

  1. Convertissez le dictionnaire en DataFrame avec un row :

    new_row_df = pd.DataFrame([new_row])
    Copier après la connexion
  2. Concaténer la nouvelle ligne DataFrame avec le DataFrame d'origine :

    df = pd.concat([df, new_row_df], ignore_index=True)
    Copier après la connexion

Alternative : utiliser 'loc ' (avec prudence)

Une autre option, mais avec certaines restrictions, consiste à utiliser 'loc' :

df.loc[len(df)] = new_row
Copier après la connexion

Cependant, notez que cela ne fonctionne que si le nouvel index n'est pas déjà présent dans le DataFrame (généralement le cas si l'index est un RangeIndex).

Pourquoi « append » a-t-il été supprimé ?

La méthode « append » a été supprimée car elle était inefficace pour les insertions répétées. Alors que 'list.append' est O(1) à chaque étape, 'DataFrame.append' était O(n), ce qui ralentit les boucles. De plus, il a créé un nouveau DataFrame pour chaque étape, conduisant à un comportement quadratique.

Bonnes pratiques pour l'insertion répétée

Si vous devez ajouter à plusieurs reprises des lignes à un DataFrame , il est préférable de collecter les nouveaux éléments dans une liste, de la convertir en DataFrame, puis de la concaténer au DataFrame d'origine à la fin de la boucle. Cette approche évite la surcharge des opérations d'ajout répété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!

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