Maison > développement back-end > Tutoriel Python > Comment faire fondre et défondre les DataFrames Pandas : un guide complet ?

Comment faire fondre et défondre les DataFrames Pandas : un guide complet ?

Mary-Kate Olsen
Libérer: 2024-12-24 11:08:13
original
192 Les gens l'ont consulté

How to Melt and Unmelt Pandas DataFrames: A Comprehensive Guide?

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 :

  • id_vars : Spécifie les colonnes qui doivent être utilisées comme identifiants.
  • value_vars : Spécifie les colonnes qui doivent être fondues. Si non spécifié, toutes les colonnes qui ne sont pas définies comme id_vars seront fondues.
  • var_name : Spécifie le nom de la colonne qui stockera les noms de variables.
  • value_name : Spécifie le nom de la colonne qui stockera les valeurs.

Quand dois-je utiliser fondre ?

La fusion d'un dataframe est utile lorsque vous souhaitez :

  • Remodeler les données d'un format large à un format long.
  • Extraire des données spécifiques valeurs de plusieurs colonnes.
  • Créez un ensemble de données bien rangé pour analyse.

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')
Copier après la connexion

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')
Copier après la connexion

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')
Copier après la connexion

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')
Copier après la connexion

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)
Copier après la connexion

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')
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal