Feat: statistics table

This commit is contained in:
Bertrand Benjamin 2021-04-20 19:04:06 +02:00
parent ab5de2711e
commit 1a7c97d869
2 changed files with 29 additions and 3 deletions

View File

@ -55,6 +55,15 @@ layout = html.Div(
], ],
id="final_score_table_container", id="final_score_table_container",
), ),
html.Div(
children=[
dash_table.DataTable(
id="score_statistics_table",
columns=[],
)
],
id="score_statistics_table_container",
),
], ],
id="analysis", id="analysis",
), ),

View File

@ -2,7 +2,6 @@
# encoding: utf-8 # encoding: utf-8
from dash.dependencies import Input, Output, State from dash.dependencies import Input, Output, State
import dash
from dash.exceptions import PreventUpdate from dash.exceptions import PreventUpdate
import dash_table import dash_table
import json import json
@ -52,7 +51,6 @@ def update_exams_choices(tribe):
], ],
) )
def update_scores_store(exam): def update_scores_store(exam):
ctx = dash.callback_context
if not exam: if not exam:
return [[], [], [], {}] return [[], [], [], {}]
exam = pd.DataFrame.from_dict([json.loads(exam)]) exam = pd.DataFrame.from_dict([json.loads(exam)])
@ -88,7 +86,26 @@ def update_scores_store(exam):
Input("scores_table", "data"), Input("scores_table", "data"),
], ],
) )
def update_scores_store(scores): def update_finale_score_table(scores):
scores_df = pd.DataFrame.from_records(scores) scores_df = pd.DataFrame.from_records(scores)
# print(scores_df) # print(scores_df)
return score_to_final_mark(scores_df) return score_to_final_mark(scores_df)
@app.callback(
[
Output("score_statistics_table", "columns"),
Output("score_statistics_table", "data"),
],
[
Input("final_score_table", "data"),
],
)
def update_statictics_table(finale_score):
df = pd.DataFrame.from_records(finale_score)
statistics = df["mark"].describe().to_frame().T
print(statistics)
return [
[{"id": c, "name": c} for c in statistics.columns],
statistics.to_dict("records"),
]