Maison > Article > développement back-end > Comment combiner des DataFrames générés dans une boucle For à l'aide de pd.concat ?
Fusionner des DataFrames générés dans une boucle For
Lorsque vous travaillez avec plusieurs sources de données, il est souvent nécessaire de combiner les données en un seul dataframe consolidé . Cette question illustre un problème courant rencontré lors de la tentative d'ajout de trames de données générées dans une boucle for à l'aide de la fonction pd.concat.
L'approche initiale présentée dans la question est confrontée à une erreur due à l'invocation incorrecte de pd.append. Cette fonction nécessite au moins deux arguments, le premier étant la trame de données à ajouter, tandis que le deuxième argument doit être les données à ajouter. Le code essaie de s'ajouter des données à lui-même, ce qui n'est pas valide.
La bonne façon d'ajouter des dataframes est de les stocker dans une liste, puis d'utiliser pd.concat pour les fusionner en une seule dataframe. Voici une solution améliorée :
<code class="python">appended_data = [] for infile in glob.glob("*.xlsx"): data = pandas.read_excel(infile) appended_data.append(data) # concatenate the list of dataframes appended_data = pd.concat(appended_data) # save the merged dataframe to an excel file appended_data.to_excel('appended.xlsx')</code>
Ce code importe les bibliothèques nécessaires, parcourt les fichiers Excel, lit les données de chaque fichier et stocke la trame de données dans une liste. Enfin, il utilise pd.concat pour concaténer la liste des trames de données et exporte la trame de données fusionnée vers un nouveau fichier Excel. Cette approche permet un ajout transparent de trames de données générées en boucle.
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!