"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 > ¿Cómo puedo pivotar eficazmente un DataFrame de Pandas?

¿Cómo puedo pivotar eficazmente un DataFrame de Pandas?

Publicado el 2024-12-21
Navegar:395

How Can I Effectively Pivot a Pandas DataFrame?

¿Cómo puedo pivotar un marco de datos?

Un pivote es una transformación que toma un marco de datos con columnas que representan categorías y filas que representan valores, y lo reorienta para que las categorías están en las filas, los valores están en las columnas y el índice se establece en los valores de la fila original.

Básico sintaxis:

df.pivot(index=, columns=, values=)

Ejemplos:

  • Pivotar en un solo columna:
df.pivot(index='row', columns='col', values='val')
  • Pivotar en varias columnas:
df.pivot(index=['row', 'item'], columns='col', values='val')
  • Pivotar en múltiples valores:
df.pivot(index='row', columns='col', values=['val0', 'val1'])
  • Pivotar con agregación personalizada funciones:
df.pivot(index='row', columns='col', values='val', aggfunc='mean')
  • Manejo de duplicados claves:

De forma predeterminada, si hay claves duplicadas en las etiquetas de fila o columna, se generará un error. Alternativamente, puede usar:

df.pivot_table(index='row', columns='col', values='val', fill_value=0)
  • Otros métodos para pivotando:
  • groupby desapilar:

    df.groupby('row', 'col')['val'].mean().unstack(fill_value=0)
  • pd.DataFrame.set_index: utilice set_index para configurar los ejes de filas y columnas y luego desapilar para pivotar.
  • pd.crosstab: Diseñado específicamente para crear tabulaciones cruzadas o tablas dinámicas.

Pivotación avanzada Técnicas:

  • Tabla cruzada (conteo de frecuencia):
pd.crosstab(index=df['row'], columns=df['col'], values=df['val'], aggfunc='count')
  • Agregación múltiple funciones:
df.pivot_table(index='row', columns='col', values='val', aggfunc=['mean', 'sum'])
  • Subdividiendo en varias columnas:
df.pivot_table(index='row', columns=['item', 'col'], values='val', fill_value=0, aggfunc='mean')
Ú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