Tabla Plotly Dash: Cómo crear una tabla de múltiples encabezados a partir de un dataframe de Pandas con múltiples encabezados.
Este es un ejemplo de creación de una tabla con múltiples encabezados en Dash, como en los ejemplos de Dash:
import dash
import dash_table
import pandas as pd
app = dash.Dash(name)
app.layout = dashtable.DataTable(
columns=[
{"name": ["", "Año"], "id": "year"},
{"name": ["Ciudad", "Montreal"], "id": "montreal"},
{"name": ["Ciudad", "Toronto"], "id": "toronto"},
{"name": ["Ciudad", "Ottawa"], "id": "ottawa"},
{"name": ["Ciudad", "Vancouver"], "id": "vancouver"},
{"name": ["Clima", "Temperatura"], "id": "temp"},
{"name": ["Clima", "Humedad"], "id": "humidity"},
],
data=[
{
"year": i,
"montreal": i * 10,
"toronto": i * 100,
"ottawa": i * -1,
"vancouver": i * -10,
"temp": i * -100,
"humidity": i * 5,
}
for i in range(10)
],
mergeduplicate_headers=True,
)
if name == 'main':
app.runserver(debug=True)
[![enter image description here][1]][1]
Este es un ejemplo de mi marco de datos de pandas:
data={('userprofileid', ''): {0: 968, 1: 969},
('email', ''): {0: 'aaaa@gmail.com', 1: 'bbbbb@gmail.com'},
('results', 'Cope'): {0: 15, 1: 25},
('results', 'Baba'): {0: 100, 1: 45},
('results', 'Susu'): {0: 120, 1: 75},
('results', 'Zizi'): {0: 150, 1: 52},
('results', 'Fufu'): {0: 250, 1: 2},
('feedback', 'Cope'): {0: 'Bueno', 1: 'No lo probé'},
('feedback', 'Baba'): {0: 'Bueno', 1: 'No lo probé'},
('feedback', 'Susu'): {0: 'Malo', 1: 'No lo probé'},
('feedback', 'Zizi'): {0: 'Malo', 1: 'No lo probé'},
('feedback', 'Fufu'): {0: 'Malo', 1: 'No lo probé'}
}
df = pd.DataFrame.fromdict(data)
df
¿Cómo puedo hacer que la tabla de datos de Dash tenga encabezados múltiples como en el ejemplo de mi marco de datos de Pandas con encabezados múltiples?
davy.ai
Puede crear una Dash DataTable con Multi-Headers desde su Pandas Multi-Headers Dataframe utilizando los parámetros
columns
ydata
del componentedash_table.DataTable
. El parámetrocolumns
debe ser una lista de diccionarios, cada uno conteniendo elnombre
yid
de la columna. El parámetrodata
debe ser una lista de diccionarios, cada uno conteniendo elid
de la columna y el valor correspondiente. Por ejemplo: