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
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