Maison >développement back-end >Tutoriel Python >Comment faire fondre et défondre les DataFrames Pandas : un guide complet ?
Comment faire fondre une dataframe pandas ?
La fusion d'une dataframe implique de transposer les données d'un format large vers un format long, où plusieurs les colonnes sont fusionnées et ne font plus qu'une.
Comment utiliser melt?
Pour utiliser melt sur une trame de données, vous pouvez utiliser la fonction pd.melt(). Cette fonction prend les arguments suivants :
Quand dois-je utiliser fondre ?
La fusion d'un dataframe est utile lorsque vous souhaitez :
Comment puis-je résoudre des problèmes spécifiques liés à la fusion ?
Problème 1 : Transposer une trame de données
Pour transposer une trame de données (par exemple, convertir des colonnes en lignes), utilisez ce qui suit code :
df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
Problème 2 : Sélection de colonnes spécifiques pour la fusion
Pour fondre uniquement des colonnes spécifiques, utilisez l'argument value_vars, comme ceci :
df.melt(id_vars=['Name', 'Age'], value_vars=['Math'], var_name='Subject', value_name='Grades')
Problème 3 : Regroupement et commande fondus data
Pour regrouper et trier les données fondues, vous pouvez utiliser les fonctions groupby() et sort_values() :
df.melt(id_vars=['Name', 'Age']) \ .groupby('Grades') \ .agg(', '.join) \ .sort_values('Grades')
Problème 4 : Défusion d'une trame de données fondue
Pour reconvertir une trame de données fondue dans son format d'origine, utilisez la fonction pivot_table() fonction :
df.pivot_table("Grades", ['Name', 'Age'], 'Subject', aggfunc='first')
Problème 5 : Regrouper par noms et séparer les matières et les notes
Pour regrouper par noms et séparer les matières et les notes, fusionnez les colonnes à l'aide de melt( ), puis utilisez groupby() :
df.melt(id_vars=['Name', 'Age']) \ .groupby('Name') \ .agg(', '.join)
Problème 6 : Faire fondre l'ensemble dataframe
Pour fondre l'intégralité du dataframe, omettez l'argument value_vars :
df.melt(var_name='Column', value_name='Value')
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!