"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Explicación detallada del formato largo de pandas a formato amplio: guía paso a paso

Explicación detallada del formato largo de pandas a formato amplio: guía paso a paso

Publicado el 2025-05-01
Navegar:303

How to Reshape Data from Long to Wide Format in Pandas: A Step-by-Step Guide

remodelando los datos de larga a ancho en pandas: una guía completa

muchos conjuntos de datos se almacenan inicialmente en formato largo, donde cada fila representa una observación única y múltiples variables se enumeran como columnas. Sin embargo, a menudo se vuelve necesario remodelar los datos en un formato amplio, donde cada fila corresponde a una combinación única de valores de dos o más variables.

problema: transformar datos de formato largo a amplio puede ser una tarea vigente en pandas, especialmente cuando se usa los métodos de melt/stack/instack. Por ejemplo, considere el siguiente formato largo DataFrame:

import pandas as pd

data = pd.DataFrame({
    'Salesman': ['Knut', 'Knut', 'Knut', 'Steve'],
    'Height': [6, 6, 6, 5],
    'product': ['bat', 'ball', 'wand', 'pen'],
    'price': [5, 1, 3, 2]
})

Reshaping to Wide Format:

para rehaporizar los datos en un formato amplio, podemos utilizar la solución de Chris Albon:

crea largos datos de datos: [&] [&] [&] Raw_Dates. 'paciente': [1, 1, 1, 2, 2], 'Obs': [1, 2, 3, 1, 2], 'tratamiento': [0, 1, 0, 1, 0], 'Puntuación': [6252, 24243, 2345, 2342, 23525] } df = pd.DataFrame (raw_data, columns = ['paciente', 'obs', 'tratamiento', 'score'])

raw_data = {
    'patient': [1, 1, 1, 2, 2],
    'obs': [1, 2, 3, 1, 2],
    'treatment': [0, 1, 0, 1, 0],
    'score': [6252, 24243, 2345, 2342, 23525]
}

df = pd.DataFrame(raw_data, columns=['patient', 'obs', 'treatment', 'score'])

df.pivot (index = 'paciente', columns = 'Obs', valores = ') el DataFrame de formato amplio deseado:

 OBS 1 2 3
paciente
1 6252.0 24243.0 2345.0
2 2342.0 23525.0 nan 
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3