Maison >développement back-end >Tutoriel Python >Comment puis-je fusionner efficacement plusieurs DataFrames Pandas avec des colonnes qui se chevauchent ?

Comment puis-je fusionner efficacement plusieurs DataFrames Pandas avec des colonnes qui se chevauchent ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-28 17:44:10505parcourir

How Can I Efficiently Merge Multiple Pandas DataFrames with Overlapping Columns?

Combinaison de plusieurs trames de données à l'aide de jointures à trois voies dans Pandas

Étant donné plusieurs fichiers CSV avec des noms de personnes qui se chevauchent comme première colonne, la tâche est pour fusionner ces fichiers en un seul CSV, chaque ligne contenant tous les attributs d'une personne unique.

La fonction join() traditionnelle dans Pandas nécessite une indexation hiérarchique. Cependant, une approche alternative est disponible pour simplifier le processus de jonction.

Fonction de réduction pour la fusion de DataFrame

Un moyen efficace de fusionner des dataframes consiste à utiliser la fonction functools.reduce avec la fonction pd.merge. Voici à quoi ressemblerait le code :

import functools as ft
dfs = [df0, df1, df2, ..., dfN]
df_final = ft.reduce(lambda left, right: pd.merge(left, right, on='name'), dfs)

Cette approche permet la fusion d'un nombre arbitraire de trames de données avec une colonne « nom » commune.

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