Fusion de plusieurs DataFrames sur des colonnes dans Pandas avec des jointures à trois voies
La fusion de données, tâche fondamentale dans l'analyse des données, vous permet de combiner données provenant de plusieurs sources. Dans Pandas, la fonction join() est un outil puissant pour fusionner des dataframes. Cependant, lorsque vous joignez plusieurs trames de données, vous pouvez rencontrer des problèmes liés aux schémas d'indexation hiérarchique.
Jointures à trois voies utilisant une colonne commune
Considérez le scénario dans lequel vous avez trois Fichiers CSV, chacun contenant des informations sur le même ensemble de personnes. La première colonne de chaque fichier est le nom de la personne, tandis que les colonnes suivantes représentent ses attributs. Votre objectif est de combiner ces fichiers en un seul CSV, chaque ligne contenant tous les attributs de chaque personne unique.
Indexation hiérarchique et multi-index
Dans Pandas, multi-index fait référence à un schéma d'indexation dans lequel chaque niveau d'index représente une colonne différente. Lors de la jonction de dataframes, un multi-index est utilisé pour aligner les données en fonction de valeurs partagées. Dans votre cas, la fonction "join" peut spécifier que vous avez besoin d'un multi-index car vous vous joignez sur une seule colonne (nom), qui est l'index dans chaque dataframe.
Fusionner des dataframes sans Indexation hiérarchique
Cependant, certains scénarios peuvent ne pas nécessiter d'indexation hiérarchique. Si les trames de données ont une colonne commune, vous pouvez utiliser la fonction lambda et le package functools pour simplifier le processus de fusion. Voici un exemple :
import pandas as pd import functools as ft dfs = [df1, df2, df3, ..., dfN] df_final = ft.reduce(lambda left, right: pd.merge(left, right, on='name'), dfs)
Dans ce code :
Cette approche est pratique pour fusionner plusieurs dataframes sans avoir à spécifier des schémas d'indexation hiérarchique complexes.
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!