logo

Python | Pandas.melt()

Pour faciliter l'analyse des données dans un tableau, nous pouvons remodeler les données sous une forme plus conviviale pour l'ordinateur à l'aide de Pandas en Python. Pandas.melt() est l'une des fonctions permettant de le faire. Pandas.melt() annule le pivotement d'un DataFrame du format large au format long.

jeux d'images pour Android

Les pandas fondent() La fonction est utile pour transformer un DataFrame dans un format dans lequel une ou plusieurs colonnes sont des variables d'identification, tandis que toutes les autres colonnes, considérées comme des variables mesurées, ne pivotent pas par rapport à l'axe des lignes, ne laissant que deux colonnes non-identifiantes, variable et valeur.

Syntaxe de la fonction Python Pandas.melt()

Syntaxe: pandas.melt(frame, id_vars=Aucun, value_vars=Aucun,



var_name=Aucun, value_name=’value’, col_level=Aucun)

Paramètres:

  • cadre : Trame de données
  • id_vars[tuple, liste ou ndarray, facultatif] : Colonne(s) à utiliser comme variables d'identification.
  • value_vars[tuple, liste ou ndarray, facultatif] : Colonne(s) à annuler le pivotement. Si non spécifié, utilise toutes les colonnes qui ne sont pas définies comme id_vars.
  • var_name[scalaire] : Nom à utiliser pour la colonne « variable ». Si aucun, il utilise frame.columns.name ou « variable ».
  • value_name[scalaire, 'valeur' ​​par défaut] : Nom à utiliser pour la colonne « valeur ».
  • col_level[int ou chaîne, facultatif] : Si les colonnes sont un MultiIndex, utilisez ce niveau pour fondre.

Création d'un exemple de DataFrame

Ici, nous avons créé un exemple de DataFrame que nous utiliserons dans cet article.

Python3




# importing pandas as pd> import> pandas as pd> # creating a dataframe> df>=> pd.DataFrame({>'Name'>: {>0>:>'John'>,>1>:>'Bob'>,>2>:>'Shiela'>},> >'Course'>: {>0>:>'Masters'>,>1>:>'Graduate'>,>2>:>'Graduate'>},> >'Age'>: {>0>:>27>,>1>:>23>,>2>:>21>}})> df>

>

>

melt () faire dans Pandas Exemple

Vous trouverez ci-dessous un exemple de la façon dont nous pouvons utiliser la fonction Pandas melt() de différentes manières dans Pandas :

Exemple 1 : Exemple de Pandas melt()

Dans cet exemple, lepd.melt>La fonction est utilisée pour annuler le pivotement de la colonne « Cours » tout en conservant « Nom » comme variable d'identification. Le DataFrame résultant comporte trois colonnes : « Nom », « variable » (contenant le nom de la colonne « Cours ») et « valeur » (contenant les valeurs correspondantes de la colonne « Cours »).

Python3




# Name is id_vars and Course is value_vars> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>])>

>

>

Sortir:

 Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>

Exemple 2 : Utilisation de id_vars et value_vars pour melt() d'un Pandas DataFrame

Dans cet exemple, lepd.melt>La fonction est utilisée pour annuler le pivotement des colonnes « Cours » et « Âge » tout en utilisant « Nom » comme variable d'identification.

Python3




# multiple unpivot columns> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>])>

>

>

Sortir:

date java maintenant
 Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate 3 John Age 27 4 Bob Age 23 5 Shiela Age 21>

Exemple 3 : Utilisation de var_name et value_name pour melt() d'un Pandas DataFrame

Dans cet exemple, lepd.melt>La fonction est utilisée avec des noms de colonnes personnalisés. La colonne « Cours » n'est pas pivotée tout en conservant « Nom » comme identifiant. Le DataFrame résultant comporte les colonnes « Name », « ChangedVarname » (pour le nom de la colonne fondue, défini sur « Course ») et « ChangedValname » (contenant les valeurs correspondantes de la colonne « Course »).

Python3

format de chaîne Java long




# Names of ‘variable’ and ‘value’ columns can be customized> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>],> >var_name>=>'ChangedVarname'>, value_name>=>'ChangedValname'>)>

>

>

Sortir:

 Name ChangedVarname ChangedValname 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate>

Exemple 4 : Utilisation d'ignore_index avec la fonction Pandas.melt()

Dans cet exemple, lepd.melt>La fonction est appliquée pour annuler le pivotement des colonnes « Cours » et « Âge » tout en utilisant « Nom » comme variable d'identification. L'index d'origine est ignoré en raison de laignore_index=True>paramètre.

Python3




# multiple unpivot columns with ignore_index> result>=> pd.melt(df, id_vars>=>[>'Name'>], value_vars>=>[>'Course'>,>'Age'>], ignore_index>=>True>)> print>(result)>

>

>

Sortir:

 Name variable value 0 John Course Masters 1 Bob Course Graduate 2 Shiela Course Graduate 3 John Age 27 4 Bob Age 23 5 Shiela Age 21>