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 :
Convertissez le dictionnaire en DataFrame avec un row :
new_row_df = pd.DataFrame([new_row])
Concaténer la nouvelle ligne DataFrame avec le DataFrame d'origine :
df = pd.concat([df, new_row_df], ignore_index=True)
Alternative : utiliser 'loc ' (avec prudence)
Une autre option, mais avec certaines restrictions, consiste à utiliser 'loc' :
df.loc[len(df)] = new_row
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!