3539 lines
108 KiB
Plaintext
3539 lines
108 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import xlsxwriter\n",
|
||
"import sqlite3\n",
|
||
"import pandas as pd\n",
|
||
"import numpy as np\n",
|
||
"from math import ceil\n",
|
||
"import seaborn as sns\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"%matplotlib inline\n",
|
||
"from pprint import pprint"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from repytex.tools.evaluation import Evaluation\n",
|
||
"from repytex.tools.sqlite_getters import all_ev_description"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Récupération de la structure du DNB blanc"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"conn = sqlite3.connect('../recopytex.db')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"ev = Evaluation.from_sqlite(21, conn)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>term</th>\n",
|
||
" <th>t_id</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>21</td>\n",
|
||
" <td>DNB blanc1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id name term t_id\n",
|
||
"0 21 DNB blanc1 2 1"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"ev.ev_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>grade</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>302</td>\n",
|
||
" <td>3e</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id name grade\n",
|
||
"0 1 302 3e"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"ev.t_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>surname</th>\n",
|
||
" <th>mail</th>\n",
|
||
" <th>commment</th>\n",
|
||
" <th>tribe_id</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>1</td>\n",
|
||
" <td>ABDALLAH ALLAOUI</td>\n",
|
||
" <td>Taiassima</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>ADANI</td>\n",
|
||
" <td>Ismou</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>3</td>\n",
|
||
" <td>AHAMADA</td>\n",
|
||
" <td>Dhoulkamal</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>4</td>\n",
|
||
" <td>AHAMADI</td>\n",
|
||
" <td>Asbahati</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>5</td>\n",
|
||
" <td>AHAMADI OUSSENI</td>\n",
|
||
" <td>Ansufiddine</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id name surname mail commment tribe_id\n",
|
||
"0 1 ABDALLAH ALLAOUI Taiassima None 1\n",
|
||
"1 2 ADANI Ismou None 1\n",
|
||
"2 3 AHAMADA Dhoulkamal None 1\n",
|
||
"3 4 AHAMADI Asbahati None 1\n",
|
||
"4 5 AHAMADI OUSSENI Ansufiddine None 1"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"ev.s_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>eval_id</th>\n",
|
||
" <th>date</th>\n",
|
||
" <th>comment</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>64</td>\n",
|
||
" <td>1 - QCM</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>65</td>\n",
|
||
" <td>2 - Boite de chocolat</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>66</td>\n",
|
||
" <td>3 - Scratch</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>67</td>\n",
|
||
" <td>4 - Programme de calcul</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>68</td>\n",
|
||
" <td>5 - Macaron</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>5</th>\n",
|
||
" <td>69</td>\n",
|
||
" <td>6 - Inspecteur</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>6</th>\n",
|
||
" <td>70</td>\n",
|
||
" <td>7 - La tache</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7</th>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-18 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id name eval_id date comment\n",
|
||
"0 64 1 - QCM 21 2018-02-07 00:00:00.000000 \n",
|
||
"1 65 2 - Boite de chocolat 21 2018-02-07 00:00:00.000000 \n",
|
||
"2 66 3 - Scratch 21 2018-02-07 00:00:00.000000 \n",
|
||
"3 67 4 - Programme de calcul 21 2018-02-07 00:00:00.000000 \n",
|
||
"4 68 5 - Macaron 21 2018-02-07 00:00:00.000000 \n",
|
||
"5 69 6 - Inspecteur 21 2018-02-07 00:00:00.000000 \n",
|
||
"6 70 7 - La tache 21 2018-02-07 00:00:00.000000 \n",
|
||
"7 91 Présentation 21 2018-02-18 00:00:00.000000 "
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"ev.ex_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>question_id</th>\n",
|
||
" <th>student_id</th>\n",
|
||
" <th>value</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
"Empty DataFrame\n",
|
||
"Columns: [id, question_id, student_id, value]\n",
|
||
"Index: []"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"ev.sc_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Evaluation DNB blanc1 302 - T2\n",
|
||
"Ex 1 - QCM\n",
|
||
"\tQu 1: QCM (2, Cal)\n",
|
||
"\tQu 2: QCM (2, Cal)\n",
|
||
"\tQu 3: QCM (2, Cal)\n",
|
||
"\tQu 4: QCM (2, Rep)\n",
|
||
"\tQu 5: QCM (2, Cal)\n",
|
||
"Ex 2 - Boite de chocolat\n",
|
||
"\tQu 1 à 3: Calcul proba (4, Rep)\n",
|
||
"\tQu 2: Modification situation (3, Rai)\n",
|
||
"\tQu 3: Nouvelle composition (3, Rai)\n",
|
||
"Ex 3 - Scratch\n",
|
||
"\tQu 1: Que fait le programme (3, Com)\n",
|
||
"\tQu 2: Réponse à 13 (4, Rai)\n",
|
||
"\tQu 3: Age pour conduire (3, Cher)\n",
|
||
"Ex 4 - Programme de calcul\n",
|
||
"\tQu 1: Application du calcul (5, Cal)\n",
|
||
"\tQu 2: Renverser le calcul (4, Rai)\n",
|
||
"\tQu 3: Appliquer à x et developper (6, Cal)\n",
|
||
"Ex 5 - Macaron\n",
|
||
"\tQu 1: Proportionnalité (3, Mod)\n",
|
||
"\tQu 2 et 4: Lecture graphique (4, Rep)\n",
|
||
"\tQu 3: Écart de température (4, Rep)\n",
|
||
"\tQu 4: Satisfaction (4, Com)\n",
|
||
"Ex 6 - Inspecteur\n",
|
||
"\tQu 1: Hypothèses (2, Cher)\n",
|
||
"\tQu 1: Reconnaissance des théorèmes (3, Mod)\n",
|
||
"\tQu 1: Calculs dans les théorèmes (4, Cal)\n",
|
||
"\tQu 1: Réponse à la question (3, Com)\n",
|
||
"\tQu 2: Confiance au pilote (3, Rai)\n",
|
||
"Ex 7 - La tache\n",
|
||
"\tQu : Décomposition du problème (3, Cher)\n",
|
||
"\tQu : Lecture des informations (4, Cher)\n",
|
||
"\tQu : Calculs sensé (4, Cal)\n",
|
||
"\tQu : Clarté des explications (4, Com)\n",
|
||
"Ex Présentation\n",
|
||
"\tQu : (10, Com)\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print(ev.description())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"source": [
|
||
"## Construction des df à partir du tableur pour les 306"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"ev_df = ev.ev_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"ex_df = ev.ex_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"q_df = ev.q_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"t_df = ev.t_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"s_df = ev.s_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Extraction des scores"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"excelname = './302_dnbblanc1.xls'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"xls_df = pd.read_excel(excelname).T"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Présentation</th>\n",
|
||
" <th>Ex 1 - QCM</th>\n",
|
||
" <th>0 - QCM</th>\n",
|
||
" <th>1 - QCM</th>\n",
|
||
" <th>2 - QCM</th>\n",
|
||
" <th>3 - QCM</th>\n",
|
||
" <th>4 - QCM</th>\n",
|
||
" <th>Ex 2 - Boite de chocolat</th>\n",
|
||
" <th>0 - Calcul proba</th>\n",
|
||
" <th>1 - Modification situation</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>0 - Hypothèses</th>\n",
|
||
" <th>1 - Reconnaissance des théorèmes</th>\n",
|
||
" <th>2 - Calculs dans les théorèmes</th>\n",
|
||
" <th>3 - Réponse à la question</th>\n",
|
||
" <th>4 - Confiance au pilote</th>\n",
|
||
" <th>Ex 7 - La tache</th>\n",
|
||
" <th>0 - Décomposition du problème</th>\n",
|
||
" <th>1 - Lecture des informations</th>\n",
|
||
" <th>2 - Calculs sensé</th>\n",
|
||
" <th>3 - Clarté des explications</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>Competence</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Com</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Barème</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>15</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>ismou</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>asbahati</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>13</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Hadaïta</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>7</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 35 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Présentation Ex 1 - QCM 0 - QCM 1 - QCM 2 - QCM 3 - QCM 4 - QCM \\\n",
|
||
"Competence NaN NaN Cal Cal Cal Rep Cal \n",
|
||
"Barème 10 10 2 2 2 2 2 \n",
|
||
"ismou 8 4 2 0 0 0 2 \n",
|
||
"asbahati 10 6 2 0 2 2 0 \n",
|
||
"Hadaïta 9 6 0 2 2 2 0 \n",
|
||
"\n",
|
||
" Ex 2 - Boite de chocolat 0 - Calcul proba \\\n",
|
||
"Competence NaN Rep \n",
|
||
"Barème 10 4 \n",
|
||
"ismou 0 0 \n",
|
||
"asbahati 10 4 \n",
|
||
"Hadaïta 7 4 \n",
|
||
"\n",
|
||
" 1 - Modification situation ... \\\n",
|
||
"Competence Rai ... \n",
|
||
"Barème 3 ... \n",
|
||
"ismou 0 ... \n",
|
||
"asbahati 3 ... \n",
|
||
"Hadaïta 3 ... \n",
|
||
"\n",
|
||
" 0 - Hypothèses 1 - Reconnaissance des théorèmes \\\n",
|
||
"Competence Cher Mod \n",
|
||
"Barème 2 3 \n",
|
||
"ismou 0 1 \n",
|
||
"asbahati 0 0 \n",
|
||
"Hadaïta 0 2 \n",
|
||
"\n",
|
||
" 2 - Calculs dans les théorèmes 3 - Réponse à la question \\\n",
|
||
"Competence Cal Com \n",
|
||
"Barème 4 3 \n",
|
||
"ismou 0 0 \n",
|
||
"asbahati 0 0 \n",
|
||
"Hadaïta 0 1 \n",
|
||
"\n",
|
||
" 4 - Confiance au pilote Ex 7 - La tache \\\n",
|
||
"Competence Rai NaN \n",
|
||
"Barème 3 15 \n",
|
||
"ismou 0 4 \n",
|
||
"asbahati 3 13 \n",
|
||
"Hadaïta 3 11 \n",
|
||
"\n",
|
||
" 0 - Décomposition du problème 1 - Lecture des informations \\\n",
|
||
"Competence Cher Cher \n",
|
||
"Barème 3 4 \n",
|
||
"ismou 1 1 \n",
|
||
"asbahati 3 4 \n",
|
||
"Hadaïta 3 4 \n",
|
||
"\n",
|
||
" 2 - Calculs sensé 3 - Clarté des explications \n",
|
||
"Competence Cal Com \n",
|
||
"Barème 4 4 \n",
|
||
"ismou 1 1 \n",
|
||
"asbahati 2 4 \n",
|
||
"Hadaïta 2 2 \n",
|
||
"\n",
|
||
"[5 rows x 35 columns]"
|
||
]
|
||
},
|
||
"execution_count": 18,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"xls_df = xls_df.drop(\"DNB blanc1\", axis = 1)\n",
|
||
"xls_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Présentation</th>\n",
|
||
" <th>0 - QCM</th>\n",
|
||
" <th>1 - QCM</th>\n",
|
||
" <th>2 - QCM</th>\n",
|
||
" <th>3 - QCM</th>\n",
|
||
" <th>4 - QCM</th>\n",
|
||
" <th>0 - Calcul proba</th>\n",
|
||
" <th>1 - Modification situation</th>\n",
|
||
" <th>2 - Nouvelle composition</th>\n",
|
||
" <th>0 - Que fait le programme</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>3 - Satisfaction</th>\n",
|
||
" <th>0 - Hypothèses</th>\n",
|
||
" <th>1 - Reconnaissance des théorèmes</th>\n",
|
||
" <th>2 - Calculs dans les théorèmes</th>\n",
|
||
" <th>3 - Réponse à la question</th>\n",
|
||
" <th>4 - Confiance au pilote</th>\n",
|
||
" <th>0 - Décomposition du problème</th>\n",
|
||
" <th>1 - Lecture des informations</th>\n",
|
||
" <th>2 - Calculs sensé</th>\n",
|
||
" <th>3 - Clarté des explications</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>Competence</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Com</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Barème</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>ismou</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>asbahati</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Hadaïta</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 28 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Présentation 0 - QCM 1 - QCM 2 - QCM 3 - QCM 4 - QCM \\\n",
|
||
"Competence NaN Cal Cal Cal Rep Cal \n",
|
||
"Barème 10 2 2 2 2 2 \n",
|
||
"ismou 8 2 0 0 0 2 \n",
|
||
"asbahati 10 2 0 2 2 0 \n",
|
||
"Hadaïta 9 0 2 2 2 0 \n",
|
||
"\n",
|
||
" 0 - Calcul proba 1 - Modification situation \\\n",
|
||
"Competence Rep Rai \n",
|
||
"Barème 4 3 \n",
|
||
"ismou 0 0 \n",
|
||
"asbahati 4 3 \n",
|
||
"Hadaïta 4 3 \n",
|
||
"\n",
|
||
" 2 - Nouvelle composition 0 - Que fait le programme \\\n",
|
||
"Competence Rai Com \n",
|
||
"Barème 3 3 \n",
|
||
"ismou 0 2 \n",
|
||
"asbahati 3 3 \n",
|
||
"Hadaïta 0 3 \n",
|
||
"\n",
|
||
" ... 3 - Satisfaction 0 - Hypothèses \\\n",
|
||
"Competence ... Com Cher \n",
|
||
"Barème ... 4 2 \n",
|
||
"ismou ... 4 0 \n",
|
||
"asbahati ... 4 0 \n",
|
||
"Hadaïta ... 4 0 \n",
|
||
"\n",
|
||
" 1 - Reconnaissance des théorèmes 2 - Calculs dans les théorèmes \\\n",
|
||
"Competence Mod Cal \n",
|
||
"Barème 3 4 \n",
|
||
"ismou 1 0 \n",
|
||
"asbahati 0 0 \n",
|
||
"Hadaïta 2 0 \n",
|
||
"\n",
|
||
" 3 - Réponse à la question 4 - Confiance au pilote \\\n",
|
||
"Competence Com Rai \n",
|
||
"Barème 3 3 \n",
|
||
"ismou 0 0 \n",
|
||
"asbahati 0 3 \n",
|
||
"Hadaïta 1 3 \n",
|
||
"\n",
|
||
" 0 - Décomposition du problème 1 - Lecture des informations \\\n",
|
||
"Competence Cher Cher \n",
|
||
"Barème 3 4 \n",
|
||
"ismou 1 1 \n",
|
||
"asbahati 3 4 \n",
|
||
"Hadaïta 3 4 \n",
|
||
"\n",
|
||
" 2 - Calculs sensé 3 - Clarté des explications \n",
|
||
"Competence Cal Com \n",
|
||
"Barème 4 4 \n",
|
||
"ismou 1 1 \n",
|
||
"asbahati 2 4 \n",
|
||
"Hadaïta 2 2 \n",
|
||
"\n",
|
||
"[5 rows x 28 columns]"
|
||
]
|
||
},
|
||
"execution_count": 19,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"ex_cols = [c for c in xls_df.columns if 'Ex' in c]\n",
|
||
"xls_df = xls_df.drop(ex_cols, axis=1)\n",
|
||
"xls_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>score_rate</th>\n",
|
||
" <th>is_leveled</th>\n",
|
||
" <th>exercise_id</th>\n",
|
||
" <th>competence</th>\n",
|
||
" <th>domain</th>\n",
|
||
" <th>comment</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>201</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>64</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td></td>\n",
|
||
" <td>QCM</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>224</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>64</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td></td>\n",
|
||
" <td>QCM</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>225</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>64</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td></td>\n",
|
||
" <td>QCM</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>226</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>64</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td></td>\n",
|
||
" <td>QCM</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>227</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>64</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td></td>\n",
|
||
" <td>QCM</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>202</td>\n",
|
||
" <td>1 à 3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>65</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Proba</td>\n",
|
||
" <td>Calcul proba</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>203</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>65</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Proba</td>\n",
|
||
" <td>Modification situation</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>204</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>65</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Proba</td>\n",
|
||
" <td>Nouvelle composition</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>205</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>66</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Scratch</td>\n",
|
||
" <td>Que fait le programme</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>206</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>66</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Scratch</td>\n",
|
||
" <td>Réponse à 13</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>207</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>66</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Scratch</td>\n",
|
||
" <td>Age pour conduire</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>208</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>67</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Programme</td>\n",
|
||
" <td>Application du calcul</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>209</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>67</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Programme</td>\n",
|
||
" <td>Renverser le calcul</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>210</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>67</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Programme</td>\n",
|
||
" <td>Appliquer à x et developper</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>211</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>68</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Proportionnel</td>\n",
|
||
" <td>Proportionnalité</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>212</td>\n",
|
||
" <td>2 et 4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>68</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Graphique</td>\n",
|
||
" <td>Lecture graphique</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>213</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>68</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Graphique</td>\n",
|
||
" <td>Écart de température</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>214</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>68</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Graphique</td>\n",
|
||
" <td>Satisfaction</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>215</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>69</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Géométrie</td>\n",
|
||
" <td>Hypothèses</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>216</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>69</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Géométrie</td>\n",
|
||
" <td>Reconnaissance des théorèmes</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>217</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>69</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Géométrie</td>\n",
|
||
" <td>Calculs dans les théorèmes</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>218</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>69</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Géométrie</td>\n",
|
||
" <td>Réponse à la question</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>219</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>69</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Géométrie</td>\n",
|
||
" <td>Confiance au pilote</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>220</td>\n",
|
||
" <td></td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>70</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>TC</td>\n",
|
||
" <td>Décomposition du problème</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>221</td>\n",
|
||
" <td></td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>70</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>TC</td>\n",
|
||
" <td>Lecture des informations</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>222</td>\n",
|
||
" <td></td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>70</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>TC</td>\n",
|
||
" <td>Calculs sensé</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>223</td>\n",
|
||
" <td></td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>70</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>TC</td>\n",
|
||
" <td>Clarté des explications</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id name score_rate is_leveled exercise_id competence domain \\\n",
|
||
"0 201 1 2 1 64 Cal \n",
|
||
"1 224 2 2 1 64 Cal \n",
|
||
"2 225 3 2 1 64 Cal \n",
|
||
"3 226 4 2 1 64 Rep \n",
|
||
"4 227 5 2 1 64 Cal \n",
|
||
"0 202 1 à 3 4 1 65 Rep Proba \n",
|
||
"1 203 2 3 1 65 Rai Proba \n",
|
||
"2 204 3 3 1 65 Rai Proba \n",
|
||
"0 205 1 3 1 66 Com Scratch \n",
|
||
"1 206 2 4 1 66 Rai Scratch \n",
|
||
"2 207 3 3 1 66 Cher Scratch \n",
|
||
"0 208 1 5 1 67 Cal Programme \n",
|
||
"1 209 2 4 1 67 Rai Programme \n",
|
||
"2 210 3 6 1 67 Cal Programme \n",
|
||
"0 211 1 3 1 68 Mod Proportionnel \n",
|
||
"1 212 2 et 4 4 1 68 Rep Graphique \n",
|
||
"2 213 3 4 1 68 Rep Graphique \n",
|
||
"3 214 4 4 1 68 Com Graphique \n",
|
||
"0 215 1 2 1 69 Cher Géométrie \n",
|
||
"1 216 1 3 1 69 Mod Géométrie \n",
|
||
"2 217 1 4 1 69 Cal Géométrie \n",
|
||
"3 218 1 3 1 69 Com Géométrie \n",
|
||
"4 219 2 3 1 69 Rai Géométrie \n",
|
||
"0 220 3 1 70 Cher TC \n",
|
||
"1 221 4 1 70 Cher TC \n",
|
||
"2 222 4 1 70 Cal TC \n",
|
||
"3 223 4 1 70 Com TC \n",
|
||
"0 289 10 1 91 Com Présentation \n",
|
||
"\n",
|
||
" comment \n",
|
||
"0 QCM \n",
|
||
"1 QCM \n",
|
||
"2 QCM \n",
|
||
"3 QCM \n",
|
||
"4 QCM \n",
|
||
"0 Calcul proba \n",
|
||
"1 Modification situation \n",
|
||
"2 Nouvelle composition \n",
|
||
"0 Que fait le programme \n",
|
||
"1 Réponse à 13 \n",
|
||
"2 Age pour conduire \n",
|
||
"0 Application du calcul \n",
|
||
"1 Renverser le calcul \n",
|
||
"2 Appliquer à x et developper \n",
|
||
"0 Proportionnalité \n",
|
||
"1 Lecture graphique \n",
|
||
"2 Écart de température \n",
|
||
"3 Satisfaction \n",
|
||
"0 Hypothèses \n",
|
||
"1 Reconnaissance des théorèmes \n",
|
||
"2 Calculs dans les théorèmes \n",
|
||
"3 Réponse à la question \n",
|
||
"4 Confiance au pilote \n",
|
||
"0 Décomposition du problème \n",
|
||
"1 Lecture des informations \n",
|
||
"2 Calculs sensé \n",
|
||
"3 Clarté des explications \n",
|
||
"0 "
|
||
]
|
||
},
|
||
"execution_count": 20,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"q_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>score_rate</th>\n",
|
||
" <th>is_leveled</th>\n",
|
||
" <th>exercise_id</th>\n",
|
||
" <th>competence</th>\n",
|
||
" <th>domain</th>\n",
|
||
" <th>comment</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>201</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>64</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td></td>\n",
|
||
" <td>QCM</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>224</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>64</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td></td>\n",
|
||
" <td>QCM</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>225</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>64</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td></td>\n",
|
||
" <td>QCM</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>226</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>64</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td></td>\n",
|
||
" <td>QCM</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>227</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>64</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td></td>\n",
|
||
" <td>QCM</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>202</td>\n",
|
||
" <td>1 à 3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>65</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Proba</td>\n",
|
||
" <td>Calcul proba</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>203</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>65</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Proba</td>\n",
|
||
" <td>Modification situation</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>204</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>65</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Proba</td>\n",
|
||
" <td>Nouvelle composition</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>205</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>66</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Scratch</td>\n",
|
||
" <td>Que fait le programme</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>206</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>66</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Scratch</td>\n",
|
||
" <td>Réponse à 13</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>207</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>66</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Scratch</td>\n",
|
||
" <td>Age pour conduire</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>208</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>67</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Programme</td>\n",
|
||
" <td>Application du calcul</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>209</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>67</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Programme</td>\n",
|
||
" <td>Renverser le calcul</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>210</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>67</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Programme</td>\n",
|
||
" <td>Appliquer à x et developper</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>211</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>68</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Proportionnel</td>\n",
|
||
" <td>Proportionnalité</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>212</td>\n",
|
||
" <td>2 et 4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>68</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Graphique</td>\n",
|
||
" <td>Lecture graphique</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>213</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>68</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Graphique</td>\n",
|
||
" <td>Écart de température</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>214</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>68</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Graphique</td>\n",
|
||
" <td>Satisfaction</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>215</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>69</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Géométrie</td>\n",
|
||
" <td>Hypothèses</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>216</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>69</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Géométrie</td>\n",
|
||
" <td>Reconnaissance des théorèmes</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>217</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>69</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Géométrie</td>\n",
|
||
" <td>Calculs dans les théorèmes</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>218</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>69</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Géométrie</td>\n",
|
||
" <td>Réponse à la question</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>219</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>69</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Géométrie</td>\n",
|
||
" <td>Confiance au pilote</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>220</td>\n",
|
||
" <td></td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>70</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>TC</td>\n",
|
||
" <td>Décomposition du problème</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>221</td>\n",
|
||
" <td></td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>70</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>TC</td>\n",
|
||
" <td>Lecture des informations</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>222</td>\n",
|
||
" <td></td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>70</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>TC</td>\n",
|
||
" <td>Calculs sensé</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>223</td>\n",
|
||
" <td></td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>70</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>TC</td>\n",
|
||
" <td>Clarté des explications</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id name score_rate is_leveled exercise_id competence domain \\\n",
|
||
"0 201 1 2 1 64 Cal \n",
|
||
"1 224 2 2 1 64 Cal \n",
|
||
"2 225 3 2 1 64 Cal \n",
|
||
"3 226 4 2 1 64 Rep \n",
|
||
"4 227 5 2 1 64 Cal \n",
|
||
"0 202 1 à 3 4 1 65 Rep Proba \n",
|
||
"1 203 2 3 1 65 Rai Proba \n",
|
||
"2 204 3 3 1 65 Rai Proba \n",
|
||
"0 205 1 3 1 66 Com Scratch \n",
|
||
"1 206 2 4 1 66 Rai Scratch \n",
|
||
"2 207 3 3 1 66 Cher Scratch \n",
|
||
"0 208 1 5 1 67 Cal Programme \n",
|
||
"1 209 2 4 1 67 Rai Programme \n",
|
||
"2 210 3 6 1 67 Cal Programme \n",
|
||
"0 211 1 3 1 68 Mod Proportionnel \n",
|
||
"1 212 2 et 4 4 1 68 Rep Graphique \n",
|
||
"2 213 3 4 1 68 Rep Graphique \n",
|
||
"3 214 4 4 1 68 Com Graphique \n",
|
||
"0 215 1 2 1 69 Cher Géométrie \n",
|
||
"1 216 1 3 1 69 Mod Géométrie \n",
|
||
"2 217 1 4 1 69 Cal Géométrie \n",
|
||
"3 218 1 3 1 69 Com Géométrie \n",
|
||
"4 219 2 3 1 69 Rai Géométrie \n",
|
||
"0 220 3 1 70 Cher TC \n",
|
||
"1 221 4 1 70 Cher TC \n",
|
||
"2 222 4 1 70 Cal TC \n",
|
||
"3 223 4 1 70 Com TC \n",
|
||
"0 289 10 1 91 Com Présentation \n",
|
||
"\n",
|
||
" comment \n",
|
||
"0 QCM \n",
|
||
"1 QCM \n",
|
||
"2 QCM \n",
|
||
"3 QCM \n",
|
||
"4 QCM \n",
|
||
"0 Calcul proba \n",
|
||
"1 Modification situation \n",
|
||
"2 Nouvelle composition \n",
|
||
"0 Que fait le programme \n",
|
||
"1 Réponse à 13 \n",
|
||
"2 Age pour conduire \n",
|
||
"0 Application du calcul \n",
|
||
"1 Renverser le calcul \n",
|
||
"2 Appliquer à x et developper \n",
|
||
"0 Proportionnalité \n",
|
||
"1 Lecture graphique \n",
|
||
"2 Écart de température \n",
|
||
"3 Satisfaction \n",
|
||
"0 Hypothèses \n",
|
||
"1 Reconnaissance des théorèmes \n",
|
||
"2 Calculs dans les théorèmes \n",
|
||
"3 Réponse à la question \n",
|
||
"4 Confiance au pilote \n",
|
||
"0 Décomposition du problème \n",
|
||
"1 Lecture des informations \n",
|
||
"2 Calculs sensé \n",
|
||
"3 Clarté des explications \n",
|
||
"0 "
|
||
]
|
||
},
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"q_df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'0 - Application du calcul': 208,\n",
|
||
" '0 - Calcul proba': 202,\n",
|
||
" '0 - Décomposition du problème': 220,\n",
|
||
" '0 - Hypothèses': 215,\n",
|
||
" '0 - Proportionnalité': 211,\n",
|
||
" '0 - QCM': 201,\n",
|
||
" '0 - Que fait le programme': 205,\n",
|
||
" '1 - Lecture des informations': 221,\n",
|
||
" '1 - Lecture graphique': 212,\n",
|
||
" '1 - Modification situation': 203,\n",
|
||
" '1 - QCM': 224,\n",
|
||
" '1 - Reconnaissance des théorèmes': 216,\n",
|
||
" '1 - Renverser le calcul': 209,\n",
|
||
" '1 - Réponse à 13': 206,\n",
|
||
" '2 - Age pour conduire': 207,\n",
|
||
" '2 - Appliquer à x et developper': 210,\n",
|
||
" '2 - Calculs dans les théorèmes': 217,\n",
|
||
" '2 - Calculs sensé': 222,\n",
|
||
" '2 - Nouvelle composition': 204,\n",
|
||
" '2 - QCM': 225,\n",
|
||
" '2 - Écart de température': 213,\n",
|
||
" '3 - Clarté des explications': 223,\n",
|
||
" '3 - QCM': 226,\n",
|
||
" '3 - Réponse à la question': 218,\n",
|
||
" '3 - Satisfaction': 214,\n",
|
||
" '4 - Confiance au pilote': 219,\n",
|
||
" '4 - QCM': 227,\n",
|
||
" 'Présentation': 289}"
|
||
]
|
||
},
|
||
"execution_count": 22,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"cols = {}\n",
|
||
"qcm = 0\n",
|
||
"for c in xls_df.columns:\n",
|
||
" a = q_df[q_df['comment']==c.split(' - ')[-1]]\n",
|
||
" try:\n",
|
||
" if \"QCM\" in c:\n",
|
||
" cols[c] = a.id.values[qcm]\n",
|
||
" qcm += 1\n",
|
||
" else:\n",
|
||
" cols[c] = a.id.values[0]\n",
|
||
" except IndexError:\n",
|
||
" # id de la question de présentation\n",
|
||
" cols[c] = 289\n",
|
||
"cols"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>289</th>\n",
|
||
" <th>201</th>\n",
|
||
" <th>224</th>\n",
|
||
" <th>225</th>\n",
|
||
" <th>226</th>\n",
|
||
" <th>227</th>\n",
|
||
" <th>202</th>\n",
|
||
" <th>203</th>\n",
|
||
" <th>204</th>\n",
|
||
" <th>205</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>214</th>\n",
|
||
" <th>215</th>\n",
|
||
" <th>216</th>\n",
|
||
" <th>217</th>\n",
|
||
" <th>218</th>\n",
|
||
" <th>219</th>\n",
|
||
" <th>220</th>\n",
|
||
" <th>221</th>\n",
|
||
" <th>222</th>\n",
|
||
" <th>223</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>ismou</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>asbahati</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Hadaïta</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>anissa</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>raydel</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 28 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" 289 201 224 225 226 227 202 203 204 205 ... 214 215 216 217 218 219 \\\n",
|
||
"ismou 8 2 0 0 0 2 0 0 0 2 ... 4 0 1 0 0 0 \n",
|
||
"asbahati 10 2 0 2 2 0 4 3 3 3 ... 4 0 0 0 0 3 \n",
|
||
"Hadaïta 9 0 2 2 2 0 4 3 0 3 ... 4 0 2 0 1 3 \n",
|
||
"anissa 8 0 2 2 2 2 4 3 2 3 ... 4 0 0 0 0 2 \n",
|
||
"raydel 10 0 0 2 0 0 4 3 0 3 ... 4 2 2 2 0 3 \n",
|
||
"\n",
|
||
" 220 221 222 223 \n",
|
||
"ismou 1 1 1 1 \n",
|
||
"asbahati 3 4 2 4 \n",
|
||
"Hadaïta 3 4 2 2 \n",
|
||
"anissa 3 4 4 4 \n",
|
||
"raydel 3 4 4 4 \n",
|
||
"\n",
|
||
"[5 rows x 28 columns]"
|
||
]
|
||
},
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"xls_df = xls_df.rename(columns=cols).drop([\"Competence\", 'Barème', \"anchoura\"])\n",
|
||
"xls_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0 Taiassima\n",
|
||
"1 Ismou\n",
|
||
"2 Dhoulkamal\n",
|
||
"3 Asbahati\n",
|
||
"4 Ansufiddine\n",
|
||
"5 Fayadhi\n",
|
||
"6 Hadaïta\n",
|
||
"7 Anissa\n",
|
||
"8 Raydel\n",
|
||
"9 Fatima\n",
|
||
"10 Elzame\n",
|
||
"11 Zalida\n",
|
||
"12 Abdillah Mze Limassi\n",
|
||
"13 Zaankidine\n",
|
||
"14 Kayssoiria\n",
|
||
"15 Asna\n",
|
||
"16 Soibrata\n",
|
||
"17 Doulkifly\n",
|
||
"18 Nassur\n",
|
||
"19 Anchoura\n",
|
||
"20 Nadia\n",
|
||
"21 Izak\n",
|
||
"22 Bakari\n",
|
||
"23 Fatoumia\n",
|
||
"24 Claudiana\n",
|
||
"25 Salahou\n",
|
||
"26 Chaharzade\n",
|
||
"Name: surname, dtype: object"
|
||
]
|
||
},
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"s_df[\"surname\"]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'Dhoulkamal': 3,\n",
|
||
" 'Hadaïta': 7,\n",
|
||
" 'abdillah mze': 13,\n",
|
||
" 'anissa': 8,\n",
|
||
" 'ansufiddine': 5,\n",
|
||
" 'asbahati': 4,\n",
|
||
" 'asna': 16,\n",
|
||
" 'bakari': 23,\n",
|
||
" 'chaharzade': 76,\n",
|
||
" 'claudiana': 25,\n",
|
||
" 'doulkifly': 18,\n",
|
||
" 'elzame': 11,\n",
|
||
" 'fatima': 10,\n",
|
||
" 'fatoumia': 24,\n",
|
||
" 'fayadhi': 6,\n",
|
||
" 'ismou': 2,\n",
|
||
" 'izak': 22,\n",
|
||
" 'kayssoiria': 15,\n",
|
||
" 'nadia': 21,\n",
|
||
" 'nassur': 19,\n",
|
||
" 'raydel': 9,\n",
|
||
" 'salahou': 26,\n",
|
||
" 'soibrata': 17,\n",
|
||
" 'taiassima': 1,\n",
|
||
" 'zaankidine': 14,\n",
|
||
" 'zalida': 12}"
|
||
]
|
||
},
|
||
"execution_count": 25,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"studs = {}\n",
|
||
"for s in xls_df.index:\n",
|
||
" ss = s_df[s_df['surname'].str.contains(s, case=False)]\n",
|
||
" ss = ss.id.values\n",
|
||
" try:\n",
|
||
" studs[s] = ss[0]\n",
|
||
" except IndexError:\n",
|
||
" print(f\"rien sur {s}\")\n",
|
||
"studs"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 26,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>289</th>\n",
|
||
" <th>201</th>\n",
|
||
" <th>224</th>\n",
|
||
" <th>225</th>\n",
|
||
" <th>226</th>\n",
|
||
" <th>227</th>\n",
|
||
" <th>202</th>\n",
|
||
" <th>203</th>\n",
|
||
" <th>204</th>\n",
|
||
" <th>205</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>214</th>\n",
|
||
" <th>215</th>\n",
|
||
" <th>216</th>\n",
|
||
" <th>217</th>\n",
|
||
" <th>218</th>\n",
|
||
" <th>219</th>\n",
|
||
" <th>220</th>\n",
|
||
" <th>221</th>\n",
|
||
" <th>222</th>\n",
|
||
" <th>223</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>8</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>9</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 28 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" 289 201 224 225 226 227 202 203 204 205 ... 214 215 216 217 218 219 220 221 \\\n",
|
||
"2 8 2 0 0 0 2 0 0 0 2 ... 4 0 1 0 0 0 1 1 \n",
|
||
"4 10 2 0 2 2 0 4 3 3 3 ... 4 0 0 0 0 3 3 4 \n",
|
||
"7 9 0 2 2 2 0 4 3 0 3 ... 4 0 2 0 1 3 3 4 \n",
|
||
"8 8 0 2 2 2 2 4 3 2 3 ... 4 0 0 0 0 2 3 4 \n",
|
||
"9 10 0 0 2 0 0 4 3 0 3 ... 4 2 2 2 0 3 3 4 \n",
|
||
"\n",
|
||
" 222 223 \n",
|
||
"2 1 1 \n",
|
||
"4 2 4 \n",
|
||
"7 2 2 \n",
|
||
"8 4 4 \n",
|
||
"9 4 4 \n",
|
||
"\n",
|
||
"[5 rows x 28 columns]"
|
||
]
|
||
},
|
||
"execution_count": 26,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"xls_df = xls_df.rename(index=studs)\n",
|
||
"xls_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"2 289 8\n",
|
||
" 201 2\n",
|
||
" 224 0\n",
|
||
" 225 0\n",
|
||
" 226 0\n",
|
||
"dtype: object"
|
||
]
|
||
},
|
||
"execution_count": 27,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"xls_df = xls_df.stack()\n",
|
||
"xls_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>student_id</th>\n",
|
||
" <th>question_id</th>\n",
|
||
" <th>mark</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>201</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>224</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>225</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>226</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" student_id question_id mark\n",
|
||
"0 2 289 8\n",
|
||
"1 2 201 2\n",
|
||
"2 2 224 0\n",
|
||
"3 2 225 0\n",
|
||
"4 2 226 0"
|
||
]
|
||
},
|
||
"execution_count": 28,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sc_df = xls_df.reset_index().rename(columns={\"level_0\": \"student_id\", \"level_1\": \"question_id\", 0:'mark'})\n",
|
||
"sc_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>student_id</th>\n",
|
||
" <th>question_id</th>\n",
|
||
" <th>mark</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>201</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>224</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>225</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>226</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" student_id question_id mark\n",
|
||
"0 2 289 8\n",
|
||
"1 2 201 2\n",
|
||
"2 2 224 0\n",
|
||
"3 2 225 0\n",
|
||
"4 2 226 0"
|
||
]
|
||
},
|
||
"execution_count": 29,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sc_df[\"mark\"] = sc_df[\"mark\"].astype(int)\n",
|
||
"sc_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Maintenant il faut transformer tout ça en niveau de compétence"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from repytex.tools.sc_transforms import mark2level\n",
|
||
"def mark2level_row(x):\n",
|
||
" return mark2level(x[\"mark\"], x[\"score_rate\"])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>student_id</th>\n",
|
||
" <th>question_id</th>\n",
|
||
" <th>mark</th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>score_rate</th>\n",
|
||
" <th>is_leveled</th>\n",
|
||
" <th>exercise_id</th>\n",
|
||
" <th>competence</th>\n",
|
||
" <th>domain</th>\n",
|
||
" <th>comment</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>4</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>7</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" student_id question_id mark id name score_rate is_leveled \\\n",
|
||
"0 2 289 8 289 10 1 \n",
|
||
"1 4 289 10 289 10 1 \n",
|
||
"2 7 289 9 289 10 1 \n",
|
||
"3 8 289 8 289 10 1 \n",
|
||
"4 9 289 10 289 10 1 \n",
|
||
"\n",
|
||
" exercise_id competence domain comment \n",
|
||
"0 91 Com Présentation \n",
|
||
"1 91 Com Présentation \n",
|
||
"2 91 Com Présentation \n",
|
||
"3 91 Com Présentation \n",
|
||
"4 91 Com Présentation "
|
||
]
|
||
},
|
||
"execution_count": 31,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sc_q_df = pd.merge(sc_df, q_df, left_on=\"question_id\", right_on=\"id\")\n",
|
||
"sc_q_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"sc_q_df[\"value\"] = sc_q_df.apply(mark2level_row, axis=1)\n",
|
||
"sc_q_df = sc_q_df[['student_id', 'question_id', 'value']]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 33,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"sc_df = pd.merge(sc_df, sc_q_df, on=[\"student_id\", 'question_id'])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"On met tout ensemble dans l'évaluation"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 34,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"dnbBlanc = Evaluation(ev_df, t_df, s_df, ex_df)\n",
|
||
"dnbBlanc.set_scores(sc_df)\n",
|
||
"dnbBlanc.set_ex_qu_structure(ex_df, q_df)\n",
|
||
"dnbBlanc.set_competence_assessment(sc_df, q_df)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Exploration"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 35,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>student_id</th>\n",
|
||
" <th>question_id</th>\n",
|
||
" <th>mark</th>\n",
|
||
" <th>value</th>\n",
|
||
" <th>id_x</th>\n",
|
||
" <th>name_x</th>\n",
|
||
" <th>surname</th>\n",
|
||
" <th>mail</th>\n",
|
||
" <th>commment</th>\n",
|
||
" <th>tribe_id</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>is_leveled</th>\n",
|
||
" <th>exercise_id</th>\n",
|
||
" <th>competence</th>\n",
|
||
" <th>domain</th>\n",
|
||
" <th>comment_x</th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>eval_id</th>\n",
|
||
" <th>date</th>\n",
|
||
" <th>comment_y</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>ADANI</td>\n",
|
||
" <td>Ismou</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-18 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>4</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>AHAMADI</td>\n",
|
||
" <td>Asbahati</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-18 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>7</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>7</td>\n",
|
||
" <td>AHMED SAID</td>\n",
|
||
" <td>Hadaïta</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-18 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>ALI MADI</td>\n",
|
||
" <td>Anissa</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-18 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>ALI</td>\n",
|
||
" <td>Raydel</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2018-02-18 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 23 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" student_id question_id mark value id_x name_x surname mail \\\n",
|
||
"0 2 289 8 2 2 ADANI Ismou \n",
|
||
"1 4 289 10 3 4 AHAMADI Asbahati \n",
|
||
"2 7 289 9 3 7 AHMED SAID Hadaïta \n",
|
||
"3 8 289 8 2 8 ALI MADI Anissa \n",
|
||
"4 9 289 10 3 9 ALI Raydel \n",
|
||
"\n",
|
||
" commment tribe_id ... is_leveled exercise_id competence \\\n",
|
||
"0 None 1 ... 1 91 Com \n",
|
||
"1 None 1 ... 1 91 Com \n",
|
||
"2 None 1 ... 1 91 Com \n",
|
||
"3 None 1 ... 1 91 Com \n",
|
||
"4 None 1 ... 1 91 Com \n",
|
||
"\n",
|
||
" domain comment_x id name eval_id \\\n",
|
||
"0 Présentation 91 Présentation 21 \n",
|
||
"1 Présentation 91 Présentation 21 \n",
|
||
"2 Présentation 91 Présentation 21 \n",
|
||
"3 Présentation 91 Présentation 21 \n",
|
||
"4 Présentation 91 Présentation 21 \n",
|
||
"\n",
|
||
" date comment_y \n",
|
||
"0 2018-02-18 00:00:00.000000 \n",
|
||
"1 2018-02-18 00:00:00.000000 \n",
|
||
"2 2018-02-18 00:00:00.000000 \n",
|
||
"3 2018-02-18 00:00:00.000000 \n",
|
||
"4 2018-02-18 00:00:00.000000 \n",
|
||
"\n",
|
||
"[5 rows x 23 columns]"
|
||
]
|
||
},
|
||
"execution_count": 35,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sc_s_df = pd.merge(dnbBlanc.sc_df, dnbBlanc.s_df, left_on='student_id', right_on='id')\n",
|
||
"sc_s_df = pd.merge(sc_s_df, dnbBlanc.q_df, left_on='question_id', right_on='id')\n",
|
||
"sc_s_df = pd.merge(sc_s_df, dnbBlanc.ex_df, left_on='exercise_id', right_on='id')\n",
|
||
"sc_s_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Le compte y est! Ouf"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 36,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\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>mark</th>\n",
|
||
" <th>score_rate</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>surname</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th rowspan=\"5\" valign=\"top\">Abdillah Mze Limassi</th>\n",
|
||
" <th>1 - QCM</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2 - Boite de chocolat</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3 - Scratch</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4 - Programme de calcul</th>\n",
|
||
" <td>5</td>\n",
|
||
" <td>15</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>5 - Macaron</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>15</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" mark score_rate\n",
|
||
"surname name \n",
|
||
"Abdillah Mze Limassi 1 - QCM 8 10\n",
|
||
" 2 - Boite de chocolat 8 10\n",
|
||
" 3 - Scratch 10 10\n",
|
||
" 4 - Programme de calcul 5 15\n",
|
||
" 5 - Macaron 8 15"
|
||
]
|
||
},
|
||
"execution_count": 36,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sc_s_df.groupby([\"surname\", \"name\"]).sum()[[\"mark\", 'score_rate']].head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 37,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"surname\n",
|
||
"Abdillah Mze Limassi 69\n",
|
||
"Anissa 72\n",
|
||
"Ansufiddine 26\n",
|
||
"Asbahati 72\n",
|
||
"Asna 60\n",
|
||
"Name: mark, dtype: int64"
|
||
]
|
||
},
|
||
"execution_count": 37,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sc_s_df.groupby([\"surname\"]).sum()[\"mark\"].head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 38,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style>\n",
|
||
" .dataframe thead tr:only-child th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: left;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>student_id</th>\n",
|
||
" <th>question_id</th>\n",
|
||
" <th>mark</th>\n",
|
||
" <th>value</th>\n",
|
||
" <th>id_x</th>\n",
|
||
" <th>name_x</th>\n",
|
||
" <th>surname</th>\n",
|
||
" <th>mail</th>\n",
|
||
" <th>commment</th>\n",
|
||
" <th>tribe_id</th>\n",
|
||
" <th>id_y</th>\n",
|
||
" <th>name_y</th>\n",
|
||
" <th>score_rate</th>\n",
|
||
" <th>is_leveled</th>\n",
|
||
" <th>exercise_id</th>\n",
|
||
" <th>competence</th>\n",
|
||
" <th>domain</th>\n",
|
||
" <th>comment</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>2</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>ADANI</td>\n",
|
||
" <td>Ismou</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>4</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>AHAMADI</td>\n",
|
||
" <td>Asbahati</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>7</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>7</td>\n",
|
||
" <td>AHMED SAID</td>\n",
|
||
" <td>Hadaïta</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>8</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>ALI MADI</td>\n",
|
||
" <td>Anissa</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>ALI</td>\n",
|
||
" <td>Raydel</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>289</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" student_id question_id mark value id_x name_x surname mail \\\n",
|
||
"0 2 289 8 2 2 ADANI Ismou \n",
|
||
"1 4 289 10 3 4 AHAMADI Asbahati \n",
|
||
"2 7 289 9 3 7 AHMED SAID Hadaïta \n",
|
||
"3 8 289 8 2 8 ALI MADI Anissa \n",
|
||
"4 9 289 10 3 9 ALI Raydel \n",
|
||
"\n",
|
||
" commment tribe_id id_y name_y score_rate is_leveled exercise_id \\\n",
|
||
"0 None 1 289 10 1 91 \n",
|
||
"1 None 1 289 10 1 91 \n",
|
||
"2 None 1 289 10 1 91 \n",
|
||
"3 None 1 289 10 1 91 \n",
|
||
"4 None 1 289 10 1 91 \n",
|
||
"\n",
|
||
" competence domain comment \n",
|
||
"0 Com Présentation \n",
|
||
"1 Com Présentation \n",
|
||
"2 Com Présentation \n",
|
||
"3 Com Présentation \n",
|
||
"4 Com Présentation "
|
||
]
|
||
},
|
||
"execution_count": 38,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"full_df = pd.merge(dnbBlanc.sc_df, dnbBlanc.s_df, left_on=\"student_id\", right_on=\"id\")\n",
|
||
"full_df = pd.merge(full_df, dnbBlanc.q_df, left_on=\"question_id\", right_on=\"id\")\n",
|
||
"full_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## On compile?"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 39,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from repytex.reports.eval_reports import build_target_name\n",
|
||
"from repytex.reports.produce_compile import produce_compile"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 40,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Path('.//302/report_DNB blanc 1.tex')"
|
||
]
|
||
},
|
||
"execution_count": 40,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"datas = {\"evaluation\": dnbBlanc}\n",
|
||
"target = build_target_name('302', 'DNB blanc 1')\n",
|
||
"target"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 41,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"template=\"tpl_reports_eval.tex\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 42,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"b'! Package Rep Error: Undefinded type of answer: .\\n'\n",
|
||
"b'! Package Rep Error: Undefinded type of answer: .\\n'\n",
|
||
"b'! Package Rep Error: Undefinded type of answer: .\\n'\n",
|
||
"b'! Package Rep Error: Undefinded type of answer: .\\n'\n",
|
||
"b'! Package Rep Error: Undefinded type of answer: .\\n'\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"produce_compile(template, datas, target, force=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.6.4"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
}
|