Feat: Base for student exploration
This commit is contained in:
@@ -2,8 +2,20 @@
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"execution_count": 1,
|
||||
"metadata": {
|
||||
"extensions": {
|
||||
"jupyter_dashboards": {
|
||||
"version": 1,
|
||||
"views": {
|
||||
"grid_default": {},
|
||||
"report_default": {
|
||||
"hidden": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from IPython.display import Markdown as md\n",
|
||||
@@ -11,7 +23,7 @@
|
||||
"import pandas as pd\n",
|
||||
"from pathlib import Path\n",
|
||||
"from datetime import datetime\n",
|
||||
"from recopytex import flat_clear_csv, pp_q_scores\n",
|
||||
"from recopytex import flat_df_students, pp_q_scores\n",
|
||||
"#import prettytable as pt\n",
|
||||
"%matplotlib inline"
|
||||
]
|
||||
@@ -20,6 +32,17 @@
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {
|
||||
"extensions": {
|
||||
"jupyter_dashboards": {
|
||||
"version": 1,
|
||||
"views": {
|
||||
"grid_default": {},
|
||||
"report_default": {
|
||||
"hidden": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"parameters"
|
||||
]
|
||||
@@ -35,7 +58,19 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"metadata": {
|
||||
"extensions": {
|
||||
"jupyter_dashboards": {
|
||||
"version": 1,
|
||||
"views": {
|
||||
"grid_default": {},
|
||||
"report_default": {
|
||||
"hidden": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
@@ -59,107 +94,65 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"execution_count": 5,
|
||||
"metadata": {
|
||||
"extensions": {
|
||||
"jupyter_dashboards": {
|
||||
"version": 1,
|
||||
"views": {
|
||||
"grid_default": {},
|
||||
"report_default": {
|
||||
"hidden": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"stack_scores = pd.read_csv(csv_file, encoding=\"latin_1\")\n",
|
||||
"scores = flat_clear_csv(stack_scores).dropna(subset=[\"Score\"])\n",
|
||||
"scores = flat_df_students(stack_scores).dropna(subset=[\"Score\"])\n",
|
||||
"scores = pp_q_scores(scores)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<div>\n",
|
||||
"<style scoped>\n",
|
||||
" .dataframe tbody tr th:only-of-type {\n",
|
||||
" vertical-align: middle;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe tbody tr th {\n",
|
||||
" vertical-align: top;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe thead th {\n",
|
||||
" text-align: right;\n",
|
||||
" }\n",
|
||||
"</style>\n",
|
||||
"<table border=\"1\" class=\"dataframe\">\n",
|
||||
" <thead>\n",
|
||||
" <tr style=\"text-align: right;\">\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" <th>Note</th>\n",
|
||||
" <th>Bareme</th>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>Exercice</th>\n",
|
||||
" <th>Eleve</th>\n",
|
||||
" <th></th>\n",
|
||||
" <th></th>\n",
|
||||
" </tr>\n",
|
||||
" </thead>\n",
|
||||
" <tbody>\n",
|
||||
" <tr>\n",
|
||||
" <th rowspan=\"5\" valign=\"top\">1</th>\n",
|
||||
" <th>ABDOU Asmahane</th>\n",
|
||||
" <td>3.67</td>\n",
|
||||
" <td>6.0</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>ABOU Roihim</th>\n",
|
||||
" <td>0.00</td>\n",
|
||||
" <td>6.0</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>AHMED BOINALI Kouraichia</th>\n",
|
||||
" <td>1.33</td>\n",
|
||||
" <td>6.0</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>AHMED Rahada</th>\n",
|
||||
" <td>2.67</td>\n",
|
||||
" <td>6.0</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>ALI SAID Anchourati</th>\n",
|
||||
" <td>0.00</td>\n",
|
||||
" <td>6.0</td>\n",
|
||||
" </tr>\n",
|
||||
" </tbody>\n",
|
||||
"</table>\n",
|
||||
"</div>"
|
||||
],
|
||||
"text/plain": [
|
||||
" Note Bareme\n",
|
||||
"Exercice Eleve \n",
|
||||
"1 ABDOU Asmahane 3.67 6.0\n",
|
||||
" ABOU Roihim 0.00 6.0\n",
|
||||
" AHMED BOINALI Kouraichia 1.33 6.0\n",
|
||||
" AHMED Rahada 2.67 6.0\n",
|
||||
" ALI SAID Anchourati 0.00 6.0"
|
||||
]
|
||||
},
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
"execution_count": 6,
|
||||
"metadata": {
|
||||
"extensions": {
|
||||
"jupyter_dashboards": {
|
||||
"version": 1,
|
||||
"views": {
|
||||
"grid_default": {},
|
||||
"report_default": {
|
||||
"hidden": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"exercises_scores = scores.groupby([\"Exercice\", \"Eleve\"]).agg({\"Note\": \"sum\", \"Bareme\": \"sum\"})\n",
|
||||
"exercises_scores.head()"
|
||||
"#exercises_scores.head()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"metadata": {},
|
||||
"execution_count": 7,
|
||||
"metadata": {
|
||||
"extensions": {
|
||||
"jupyter_dashboards": {
|
||||
"version": 1,
|
||||
"views": {
|
||||
"grid_default": {},
|
||||
"report_default": {
|
||||
"hidden": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
@@ -195,117 +188,117 @@
|
||||
" <tr>\n",
|
||||
" <th>ABDOU Asmahane</th>\n",
|
||||
" <td>5.00</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>ABOU Roihim</th>\n",
|
||||
" <td>0.00</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>AHMED BOINALI Kouraichia</th>\n",
|
||||
" <td>2.67</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>AHMED Rahada</th>\n",
|
||||
" <td>6.33</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>ALI SAID Anchourati</th>\n",
|
||||
" <td>0.00</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>ASSANE Noussouraniya</th>\n",
|
||||
" <td>4.67</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>BACAR Issiaka</th>\n",
|
||||
" <td>0.00</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>BACAR Samina</th>\n",
|
||||
" <td>3.67</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>CHAIHANE Said</th>\n",
|
||||
" <td>5.33</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>COMBO Houzaimati</th>\n",
|
||||
" <td>5.00</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>DAOUD Anzilati</th>\n",
|
||||
" <td>5.17</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>DAOUD Talaenti</th>\n",
|
||||
" <td>5.67</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>DARKAOUI Rachma</th>\n",
|
||||
" <td>5.67</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>DHAKIOINE Nabaouya</th>\n",
|
||||
" <td>1.00</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>DJANFAR Soioutinour</th>\n",
|
||||
" <td>5.33</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>DRISSA Ibrahim</th>\n",
|
||||
" <td>0.00</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>HACHIM SIDI Assani</th>\n",
|
||||
" <td>7.00</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>HAFIDHUI Zalifa</th>\n",
|
||||
" <td>5.67</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>HOUMADI Marie</th>\n",
|
||||
" <td>6.67</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>HOUMADI Sania</th>\n",
|
||||
" <td>5.33</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>MAANDHUI Halouoi</th>\n",
|
||||
" <td>7.00</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>MASSONDI Nasma</th>\n",
|
||||
" <td>7.33</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>SAIDALI Irichad</th>\n",
|
||||
" <td>5.00</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>12</td>\n",
|
||||
" </tr>\n",
|
||||
" </tbody>\n",
|
||||
"</table>\n",
|
||||
@@ -314,32 +307,32 @@
|
||||
"text/plain": [
|
||||
" Note Bareme\n",
|
||||
"Eleve \n",
|
||||
"ABDOU Asmahane 5.00 12.0\n",
|
||||
"ABOU Roihim 0.00 12.0\n",
|
||||
"AHMED BOINALI Kouraichia 2.67 12.0\n",
|
||||
"AHMED Rahada 6.33 12.0\n",
|
||||
"ALI SAID Anchourati 0.00 12.0\n",
|
||||
"ASSANE Noussouraniya 4.67 12.0\n",
|
||||
"BACAR Issiaka 0.00 12.0\n",
|
||||
"BACAR Samina 3.67 12.0\n",
|
||||
"CHAIHANE Said 5.33 12.0\n",
|
||||
"COMBO Houzaimati 5.00 12.0\n",
|
||||
"DAOUD Anzilati 5.17 12.0\n",
|
||||
"DAOUD Talaenti 5.67 12.0\n",
|
||||
"DARKAOUI Rachma 5.67 12.0\n",
|
||||
"DHAKIOINE Nabaouya 1.00 12.0\n",
|
||||
"DJANFAR Soioutinour 5.33 12.0\n",
|
||||
"DRISSA Ibrahim 0.00 12.0\n",
|
||||
"HACHIM SIDI Assani 7.00 12.0\n",
|
||||
"HAFIDHUI Zalifa 5.67 12.0\n",
|
||||
"HOUMADI Marie 6.67 12.0\n",
|
||||
"HOUMADI Sania 5.33 12.0\n",
|
||||
"MAANDHUI Halouoi 7.00 12.0\n",
|
||||
"MASSONDI Nasma 7.33 12.0\n",
|
||||
"SAIDALI Irichad 5.00 12.0"
|
||||
"ABDOU Asmahane 5.00 12\n",
|
||||
"ABOU Roihim 0.00 12\n",
|
||||
"AHMED BOINALI Kouraichia 2.67 12\n",
|
||||
"AHMED Rahada 6.33 12\n",
|
||||
"ALI SAID Anchourati 0.00 12\n",
|
||||
"ASSANE Noussouraniya 4.67 12\n",
|
||||
"BACAR Issiaka 0.00 12\n",
|
||||
"BACAR Samina 3.67 12\n",
|
||||
"CHAIHANE Said 5.33 12\n",
|
||||
"COMBO Houzaimati 5.00 12\n",
|
||||
"DAOUD Anzilati 5.17 12\n",
|
||||
"DAOUD Talaenti 5.67 12\n",
|
||||
"DARKAOUI Rachma 5.67 12\n",
|
||||
"DHAKIOINE Nabaouya 1.00 12\n",
|
||||
"DJANFAR Soioutinour 5.33 12\n",
|
||||
"DRISSA Ibrahim 0.00 12\n",
|
||||
"HACHIM SIDI Assani 7.00 12\n",
|
||||
"HAFIDHUI Zalifa 5.67 12\n",
|
||||
"HOUMADI Marie 6.67 12\n",
|
||||
"HOUMADI Sania 5.33 12\n",
|
||||
"MAANDHUI Halouoi 7.00 12\n",
|
||||
"MASSONDI Nasma 7.33 12\n",
|
||||
"SAIDALI Irichad 5.00 12"
|
||||
]
|
||||
},
|
||||
"execution_count": 15,
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
@@ -351,8 +344,20 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"execution_count": 8,
|
||||
"metadata": {
|
||||
"extensions": {
|
||||
"jupyter_dashboards": {
|
||||
"version": 1,
|
||||
"views": {
|
||||
"grid_default": {},
|
||||
"report_default": {
|
||||
"hidden": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
@@ -368,7 +373,7 @@
|
||||
"Name: Note, dtype: float64"
|
||||
]
|
||||
},
|
||||
"execution_count": 7,
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
@@ -379,16 +384,38 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"execution_count": 9,
|
||||
"metadata": {
|
||||
"extensions": {
|
||||
"jupyter_dashboards": {
|
||||
"version": 1,
|
||||
"views": {
|
||||
"grid_default": {},
|
||||
"report_default": {
|
||||
"hidden": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/usr/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 192 from C header, got 216 from PyObject\n",
|
||||
" return f(*args, **kwds)\n",
|
||||
"/usr/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 192 from C header, got 216 from PyObject\n",
|
||||
" return f(*args, **kwds)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"<matplotlib.axes._subplots.AxesSubplot at 0x7f0ae61e5cf8>"
|
||||
"<matplotlib.axes._subplots.AxesSubplot at 0x7f104b318090>"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
@@ -413,13 +440,44 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"metadata": {
|
||||
"extensions": {
|
||||
"jupyter_dashboards": {
|
||||
"version": 1,
|
||||
"views": {
|
||||
"grid_default": {},
|
||||
"report_default": {
|
||||
"hidden": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"celltoolbar": "Tags",
|
||||
"extensions": {
|
||||
"jupyter_dashboards": {
|
||||
"activeView": "grid_default",
|
||||
"version": 1,
|
||||
"views": {
|
||||
"grid_default": {
|
||||
"cellMargin": 10,
|
||||
"defaultCellHeight": 20,
|
||||
"maxColumns": 12,
|
||||
"name": "grid",
|
||||
"type": "grid"
|
||||
},
|
||||
"report_default": {
|
||||
"name": "report",
|
||||
"type": "report"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
@@ -435,7 +493,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.7.3"
|
||||
"version": "3.7.4"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user