Qué es el método Pandas.melt()?

La función Pandas.melt() convierte un DataFrame de formato ancho en un DataFrame de formato largo al “fundir” o “desorientar” los datos.

Transforma un DataFrame con múltiples columnas en un DataFrame con menos columnas, donde una o más columnas son variables de identificación y el resto se fusionan en una sola variable y columnas de valor.

Sintaxis Pandas.melt()

pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, 
            value_name='value', col_level=None, ignore_index=True)

Parámetros

frame:

el marco de datos de entrada para derretir.

id_vars: Columnas para usar como variables identificadoras. Estas columnas permanecerán sin cambios en el DataFrame resultante.

value_vars: Columnas para fundirse en las columnas de variables y valores. De forma predeterminada, se fusionan todas las columnas que no se establecen como variables de identificador.

var_name: el nombre que se utilizará para la columna variable. El valor predeterminado es None que deduce el nombre del DataFrame de entrada.

value_name: el nombre que se utilizará para la columna de valor. El valor predeterminado es ‘value‘.

col_level: para DataFrames con columnas de varios niveles, especifique qué nivel fusionar. El valor predeterminado es None que funde todos los niveles.

ignore_index: si es verdadero, el índice del frame de datos resultante se restablece. El valor por defecto es verdadero.

Ejemplo

import pandas as pd

data = {
  'Name': ['Krunal', 'Ankit', 'Rushabh', 'Dhaval', 'Hemang'],
  'Age': [25, 30, 22, 28, 35],
  'Score': [90, 85, 92, 88, 78]
}
df = pd.DataFrame(data)
print("Original DataFrame:")
print(df)

melted_df = pd.melt(df, id_vars=['Name'], value_vars=[
            'Age', 'Score'], var_name='Attribute', value_name='Value')
print("\nMelted DataFrame:")
print(melted_df)

Producción

Original DataFrame:
   Name    Age   Score
0  Krunal  25     90
1  Ankit   30     85
2  Rushabh 22     92
3  Dhaval  28     88
4  Hemang  35     78

Melted DataFrame:
   Name    Attribute  Value
0  Krunal    Age       25
1  Ankit     Age       30
2  Rushabh   Age       22
3  Dhaval    Age       28
4  Hemang    Age       35
5  Krunal   Score      90
6  Ankit    Score      85
7  Rushabh  Score      92
8  Dhaval   Score      88
9  Hemang   Score      78

En este código, creamos un marco de datos de muestra con las columnas ‘Nombre’ , ‘Edad’ y ‘Puntuación’ .

En el siguiente paso, fusionamos el DataFrame usando la columna ‘Nombre’ como variable de identificación y ‘Edad’ y ‘Puntuación’ como variables de valor.

El DataFrame final tiene una columna de ‘Nombre’ , una columna de ‘Atributo’ (columna de variable) y una columna de ‘Valor’ .

Artículos Relacionados
Aprender a programar es cada vez más difícil

Este artículo transcribe una publicación de Allen Downey, en la que se expone su opinión sobre la dificultad de aprender a programar en la era actual, en la que existen los smarthphones como dispositivo principal y todos los servicios se basan en el mundo ¡SEGUIR LEYENDO!

5 Mejores lenguajes de programación para trabajadores freelance

¿Quieres trabajar como desarrollador independiente pero no estás seguro de qué lenguaje de programación aprender? Has venido al lugar correcto. Antes de sacar conclusiones precipitadas, asegúrate de aprender un idioma que te permita encontrar suficiente trabajo para convertirte en un trabajador freelance a tiempo ¡SEGUIR LEYENDO!

10 Repositorio de GitHub que todo Desarrollador Web debería conocer

GitHub es el lugar que debes buscar cuando intentas mejorar como desarrollador, toda la información que necesitas está disponible en algún repositorio que alguien ya se ha molestado en indexar. Sin embargo, la parte complicado es encontrar el repositorio más adecuado. Es fácil sentirse ¡SEGUIR LEYENDO!