2398 lines
72 KiB
Plaintext
2398 lines
72 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": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"ev = Evaluation.from_sqlite(20, 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>20</td>\n",
|
||
" <td>DNB blanc1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id name term t_id\n",
|
||
"0 20 DNB blanc1 2 2"
|
||
]
|
||
},
|
||
"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>2</td>\n",
|
||
" <td>306</td>\n",
|
||
" <td>3e</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id name grade\n",
|
||
"0 2 306 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>27</td>\n",
|
||
" <td>ABDALLAH</td>\n",
|
||
" <td>Rachma</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>28</td>\n",
|
||
" <td>ABDOU</td>\n",
|
||
" <td>Kassim</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>29</td>\n",
|
||
" <td>AHAMADI</td>\n",
|
||
" <td>Irchadi</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>30</td>\n",
|
||
" <td>AHAMED</td>\n",
|
||
" <td>Mikidadi</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>31</td>\n",
|
||
" <td>ANLI</td>\n",
|
||
" <td>El Anziz</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id name surname mail commment tribe_id\n",
|
||
"0 27 ABDALLAH Rachma None 2\n",
|
||
"1 28 ABDOU Kassim None 2\n",
|
||
"2 29 AHAMADI Irchadi None 2\n",
|
||
"3 30 AHAMED Mikidadi None 2\n",
|
||
"4 31 ANLI El Anziz None 2"
|
||
]
|
||
},
|
||
"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>58</td>\n",
|
||
" <td>1 Dalle de béton</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>59</td>\n",
|
||
" <td>2 Soirée Basket</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>60</td>\n",
|
||
" <td>3 Recette de gateau</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>61</td>\n",
|
||
" <td>4 Dessiner une figure</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>2018-02-07 00:00:00.000000</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>62</td>\n",
|
||
" <td>5 Cross du collège</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>2018-02-07 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 58 1 Dalle de béton 20 2018-02-07 00:00:00.000000 \n",
|
||
"1 59 2 Soirée Basket 20 2018-02-07 00:00:00.000000 \n",
|
||
"2 60 3 Recette de gateau 20 2018-02-07 00:00:00.000000 \n",
|
||
"3 61 4 Dessiner une figure 20 2018-02-07 00:00:00.000000 \n",
|
||
"4 62 5 Cross du collège 20 2018-02-07 00:00:00.000000 "
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"ev.ex_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"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 306 - T2\n",
|
||
"Ex 1 Dalle de béton\n",
|
||
"\tQu 1: Multiplications total HT (3, Cal)\n",
|
||
"\tQu 1: Division quantité (2, Cal)\n",
|
||
"\tQu 1: Somme Total HT et TC (4, Cal)\n",
|
||
"\tQu 2 a et b: Lecture de tableur (4, Rep)\n",
|
||
"\tQu 2 c et d: Formule tableur (4, Rep)\n",
|
||
"Ex 2 Soirée Basket\n",
|
||
"\tQu 1 à 3: Lire un tableau (6, Cher)\n",
|
||
"\tQu 4 à 5: Calculs de points (6, Mod)\n",
|
||
"\tQu 6: Paniers à 2 points (4, Rai)\n",
|
||
"\tQu 7: Champion de la soirée (3, Rai)\n",
|
||
"Ex 3 Recette de gateau\n",
|
||
"\tQu 1: Multiplier les quantités (3, Mod)\n",
|
||
"\tQu 1: Rapport 3 (3, Mod)\n",
|
||
"\tQu 1: Multiplication de la fraction (1, Mod)\n",
|
||
"\tQu 2: Quantité restante (2, Cal)\n",
|
||
"\tQu 2: Fractions (2, Cal)\n",
|
||
"Ex 4 Dessiner une figure\n",
|
||
"\tQu 1: Dessin du lutin (3, Rep)\n",
|
||
"\tQu 2: Modifications (6, Rep)\n",
|
||
"Ex 5 Cross du collège\n",
|
||
"\tQu 1 et 2: Calculs de longueur (6, Rep)\n",
|
||
"\tQu 3: Pythagore (5, Mod)\n",
|
||
"\tQu 4: Longueur d'un tour (5, Mod)\n",
|
||
"\tQu 5: Longueur pour les 3e (4, Cal)\n",
|
||
"Ex 6 Voyage en famille\n",
|
||
"\tQu 1: Calcul temps et conversion demi heure (4, Cal)\n",
|
||
"\tQu 2: Lectures graphiques (6, Rep)\n",
|
||
"\tQu 3: Véracité de l'affirmation (4, Rai)\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": {},
|
||
"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": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"excelname = './306-DNB blanc1-pro.xlsx'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"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 Dalle de béton</th>\n",
|
||
" <th>0 - Multiplications total HT</th>\n",
|
||
" <th>1 - Division quantité</th>\n",
|
||
" <th>2 - Somme Total HT et TC</th>\n",
|
||
" <th>3 - Lecture de tableur</th>\n",
|
||
" <th>4 - Formule tableur</th>\n",
|
||
" <th>Ex 2 Soirée Basket</th>\n",
|
||
" <th>0 - Lire un tableau</th>\n",
|
||
" <th>1 - Calculs de points</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>1 - Modifications</th>\n",
|
||
" <th>Ex 5 Cross du collège</th>\n",
|
||
" <th>0 - Calculs de longueur</th>\n",
|
||
" <th>1 - Pythagore</th>\n",
|
||
" <th>2 - Longueur d'un tour</th>\n",
|
||
" <th>3 - Longueur pour les 3e</th>\n",
|
||
" <th>Ex 6 Voyage en famille</th>\n",
|
||
" <th>0 - Calcul temps et conversion demi heure</th>\n",
|
||
" <th>1 - Lectures graphiques</th>\n",
|
||
" <th>2 - Véracité de l'affirmation</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>Rep</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Barème</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>17</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>14</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Ousseni Fayadhui</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>BOINA Chadia</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</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>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>MAGNELE Chamsidine</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>13</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 30 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Présentation Ex 1 Dalle de béton \\\n",
|
||
"Competence NaN NaN \n",
|
||
"Barème 10 17 \n",
|
||
"Ousseni Fayadhui 10 0 \n",
|
||
"BOINA Chadia 9 10 \n",
|
||
"MAGNELE Chamsidine 9 13 \n",
|
||
"\n",
|
||
" 0 - Multiplications total HT 1 - Division quantité \\\n",
|
||
"Competence Cal Cal \n",
|
||
"Barème 3 2 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 2 2 \n",
|
||
"MAGNELE Chamsidine 3 2 \n",
|
||
"\n",
|
||
" 2 - Somme Total HT et TC 3 - Lecture de tableur \\\n",
|
||
"Competence Cal Rep \n",
|
||
"Barème 4 4 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 4 \n",
|
||
"MAGNELE Chamsidine 4 4 \n",
|
||
"\n",
|
||
" 4 - Formule tableur Ex 2 Soirée Basket 0 - Lire un tableau \\\n",
|
||
"Competence Rep NaN Cher \n",
|
||
"Barème 4 19 6 \n",
|
||
"Ousseni Fayadhui 0 0 0 \n",
|
||
"BOINA Chadia 2 0 0 \n",
|
||
"MAGNELE Chamsidine 0 1 1 \n",
|
||
"\n",
|
||
" 1 - Calculs de points ... \\\n",
|
||
"Competence Mod ... \n",
|
||
"Barème 6 ... \n",
|
||
"Ousseni Fayadhui 0 ... \n",
|
||
"BOINA Chadia 0 ... \n",
|
||
"MAGNELE Chamsidine 0 ... \n",
|
||
"\n",
|
||
" 1 - Modifications Ex 5 Cross du collège \\\n",
|
||
"Competence Rep NaN \n",
|
||
"Barème 6 20 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 0 \n",
|
||
"MAGNELE Chamsidine 0 0 \n",
|
||
"\n",
|
||
" 0 - Calculs de longueur 1 - Pythagore \\\n",
|
||
"Competence Rep Mod \n",
|
||
"Barème 6 5 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 0 \n",
|
||
"MAGNELE Chamsidine 0 0 \n",
|
||
"\n",
|
||
" 2 - Longueur d'un tour 3 - Longueur pour les 3e \\\n",
|
||
"Competence Mod Cal \n",
|
||
"Barème 5 4 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 0 \n",
|
||
"MAGNELE Chamsidine 0 0 \n",
|
||
"\n",
|
||
" Ex 6 Voyage en famille \\\n",
|
||
"Competence NaN \n",
|
||
"Barème 14 \n",
|
||
"Ousseni Fayadhui 0 \n",
|
||
"BOINA Chadia 0 \n",
|
||
"MAGNELE Chamsidine 0 \n",
|
||
"\n",
|
||
" 0 - Calcul temps et conversion demi heure \\\n",
|
||
"Competence Cal \n",
|
||
"Barème 4 \n",
|
||
"Ousseni Fayadhui 0 \n",
|
||
"BOINA Chadia 0 \n",
|
||
"MAGNELE Chamsidine 0 \n",
|
||
"\n",
|
||
" 1 - Lectures graphiques 2 - Véracité de l'affirmation \n",
|
||
"Competence Rep Rai \n",
|
||
"Barème 6 4 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 0 \n",
|
||
"MAGNELE Chamsidine 0 0 \n",
|
||
"\n",
|
||
"[5 rows x 30 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 - Multiplications total HT</th>\n",
|
||
" <th>1 - Division quantité</th>\n",
|
||
" <th>2 - Somme Total HT et TC</th>\n",
|
||
" <th>3 - Lecture de tableur</th>\n",
|
||
" <th>4 - Formule tableur</th>\n",
|
||
" <th>0 - Lire un tableau</th>\n",
|
||
" <th>1 - Calculs de points</th>\n",
|
||
" <th>2 - Paniers à 2 points</th>\n",
|
||
" <th>3 - Champion de la soirée</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>4 - Fractions</th>\n",
|
||
" <th>0 - Dessin du lutin</th>\n",
|
||
" <th>1 - Modifications</th>\n",
|
||
" <th>0 - Calculs de longueur</th>\n",
|
||
" <th>1 - Pythagore</th>\n",
|
||
" <th>2 - Longueur d'un tour</th>\n",
|
||
" <th>3 - Longueur pour les 3e</th>\n",
|
||
" <th>0 - Calcul temps et conversion demi heure</th>\n",
|
||
" <th>1 - Lectures graphiques</th>\n",
|
||
" <th>2 - Véracité de l'affirmation</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>Rep</td>\n",
|
||
" <td>Cher</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Mod</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Cal</td>\n",
|
||
" <td>Rep</td>\n",
|
||
" <td>Rai</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Barème</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Ousseni Fayadhui</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>BOINA Chadia</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>MAGNELE Chamsidine</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</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>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 24 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Présentation 0 - Multiplications total HT \\\n",
|
||
"Competence NaN Cal \n",
|
||
"Barème 10 3 \n",
|
||
"Ousseni Fayadhui 10 0 \n",
|
||
"BOINA Chadia 9 2 \n",
|
||
"MAGNELE Chamsidine 9 3 \n",
|
||
"\n",
|
||
" 1 - Division quantité 2 - Somme Total HT et TC \\\n",
|
||
"Competence Cal Cal \n",
|
||
"Barème 2 4 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 2 0 \n",
|
||
"MAGNELE Chamsidine 2 4 \n",
|
||
"\n",
|
||
" 3 - Lecture de tableur 4 - Formule tableur \\\n",
|
||
"Competence Rep Rep \n",
|
||
"Barème 4 4 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 4 2 \n",
|
||
"MAGNELE Chamsidine 4 0 \n",
|
||
"\n",
|
||
" 0 - Lire un tableau 1 - Calculs de points \\\n",
|
||
"Competence Cher Mod \n",
|
||
"Barème 6 6 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 0 \n",
|
||
"MAGNELE Chamsidine 1 0 \n",
|
||
"\n",
|
||
" 2 - Paniers à 2 points 3 - Champion de la soirée \\\n",
|
||
"Competence Rai Rai \n",
|
||
"Barème 4 3 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 0 \n",
|
||
"MAGNELE Chamsidine 0 0 \n",
|
||
"\n",
|
||
" ... 4 - Fractions \\\n",
|
||
"Competence ... Cal \n",
|
||
"Barème ... 2 \n",
|
||
"Ousseni Fayadhui ... 0 \n",
|
||
"BOINA Chadia ... 0 \n",
|
||
"MAGNELE Chamsidine ... 0 \n",
|
||
"\n",
|
||
" 0 - Dessin du lutin 1 - Modifications \\\n",
|
||
"Competence Rep Rep \n",
|
||
"Barème 3 6 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 0 \n",
|
||
"MAGNELE Chamsidine 0 0 \n",
|
||
"\n",
|
||
" 0 - Calculs de longueur 1 - Pythagore \\\n",
|
||
"Competence Rep Mod \n",
|
||
"Barème 6 5 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 0 \n",
|
||
"MAGNELE Chamsidine 0 0 \n",
|
||
"\n",
|
||
" 2 - Longueur d'un tour 3 - Longueur pour les 3e \\\n",
|
||
"Competence Mod Cal \n",
|
||
"Barème 5 4 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 0 \n",
|
||
"MAGNELE Chamsidine 0 0 \n",
|
||
"\n",
|
||
" 0 - Calcul temps et conversion demi heure \\\n",
|
||
"Competence Cal \n",
|
||
"Barème 4 \n",
|
||
"Ousseni Fayadhui 0 \n",
|
||
"BOINA Chadia 0 \n",
|
||
"MAGNELE Chamsidine 0 \n",
|
||
"\n",
|
||
" 1 - Lectures graphiques 2 - Véracité de l'affirmation \n",
|
||
"Competence Rep Rai \n",
|
||
"Barème 6 4 \n",
|
||
"Ousseni Fayadhui 0 0 \n",
|
||
"BOINA Chadia 0 0 \n",
|
||
"MAGNELE Chamsidine 0 0 \n",
|
||
"\n",
|
||
"[5 rows x 24 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": [],
|
||
"source": [
|
||
"cols = {}\n",
|
||
"for c in xls_df.columns:\n",
|
||
" a = q_df[q_df['comment']==c.split(' - ')[-1]]\n",
|
||
" try:\n",
|
||
" cols[c] = a.id.values[0]\n",
|
||
" except IndexError:\n",
|
||
" # id de la question de présentation\n",
|
||
" cols[c] = 278\n",
|
||
"#cols"
|
||
]
|
||
},
|
||
{
|
||
"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>278</th>\n",
|
||
" <th>178</th>\n",
|
||
" <th>179</th>\n",
|
||
" <th>180</th>\n",
|
||
" <th>181</th>\n",
|
||
" <th>182</th>\n",
|
||
" <th>183</th>\n",
|
||
" <th>184</th>\n",
|
||
" <th>185</th>\n",
|
||
" <th>186</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>191</th>\n",
|
||
" <th>192</th>\n",
|
||
" <th>193</th>\n",
|
||
" <th>194</th>\n",
|
||
" <th>195</th>\n",
|
||
" <th>196</th>\n",
|
||
" <th>197</th>\n",
|
||
" <th>198</th>\n",
|
||
" <th>199</th>\n",
|
||
" <th>200</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>Ousseni Fayadhui</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>BOINA Chadia</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>MAGNELE Chamsidine</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</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>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>MBAROUKOU Dania</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>6</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>6</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>TSIMPOU Zoubert</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 24 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" 278 178 179 180 181 182 183 184 185 186 ... 191 192 193 \\\n",
|
||
"Ousseni Fayadhui 10 0 0 0 0 0 0 0 0 0 ... 0 0 0 \n",
|
||
"BOINA Chadia 9 2 2 0 4 2 0 0 0 0 ... 0 0 0 \n",
|
||
"MAGNELE Chamsidine 9 3 2 4 4 0 1 0 0 0 ... 0 0 0 \n",
|
||
"MBAROUKOU Dania 10 2 2 2 4 4 5 6 4 3 ... 0 0 0 \n",
|
||
"TSIMPOU Zoubert 10 0 0 0 0 0 0 0 0 0 ... 0 0 0 \n",
|
||
"\n",
|
||
" 194 195 196 197 198 199 200 \n",
|
||
"Ousseni Fayadhui 0 0 0 0 0 0 0 \n",
|
||
"BOINA Chadia 0 0 0 0 0 0 0 \n",
|
||
"MAGNELE Chamsidine 0 0 0 0 0 0 0 \n",
|
||
"MBAROUKOU Dania 6 0 0 1 0 0 0 \n",
|
||
"TSIMPOU Zoubert 0 0 0 0 0 0 0 \n",
|
||
"\n",
|
||
"[5 rows x 24 columns]"
|
||
]
|
||
},
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"xls_df = xls_df.rename(columns=cols).drop([\"Competence\", 'Barème'])\n",
|
||
"xls_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"studs = {}\n",
|
||
"for s in xls_df.index:\n",
|
||
" ss = s_df[s_df['surname'].str.contains(s.split(' ')[-1], case=False)]\n",
|
||
" ss = ss.id.values\n",
|
||
" studs[s] = ss[0]\n",
|
||
"#studs"
|
||
]
|
||
},
|
||
{
|
||
"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>278</th>\n",
|
||
" <th>178</th>\n",
|
||
" <th>179</th>\n",
|
||
" <th>180</th>\n",
|
||
" <th>181</th>\n",
|
||
" <th>182</th>\n",
|
||
" <th>183</th>\n",
|
||
" <th>184</th>\n",
|
||
" <th>185</th>\n",
|
||
" <th>186</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>191</th>\n",
|
||
" <th>192</th>\n",
|
||
" <th>193</th>\n",
|
||
" <th>194</th>\n",
|
||
" <th>195</th>\n",
|
||
" <th>196</th>\n",
|
||
" <th>197</th>\n",
|
||
" <th>198</th>\n",
|
||
" <th>199</th>\n",
|
||
" <th>200</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>42</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>34</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38</th>\n",
|
||
" <td>9</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</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>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>39</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>6</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>6</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>46</th>\n",
|
||
" <td>10</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 24 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" 278 178 179 180 181 182 183 184 185 186 ... 191 192 193 194 195 196 197 \\\n",
|
||
"42 10 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 \n",
|
||
"34 9 2 2 0 4 2 0 0 0 0 ... 0 0 0 0 0 0 0 \n",
|
||
"38 9 3 2 4 4 0 1 0 0 0 ... 0 0 0 0 0 0 0 \n",
|
||
"39 10 2 2 2 4 4 5 6 4 3 ... 0 0 0 6 0 0 1 \n",
|
||
"46 10 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 \n",
|
||
"\n",
|
||
" 198 199 200 \n",
|
||
"42 0 0 0 \n",
|
||
"34 0 0 0 \n",
|
||
"38 0 0 0 \n",
|
||
"39 0 0 0 \n",
|
||
"46 0 0 0 \n",
|
||
"\n",
|
||
"[5 rows x 24 columns]"
|
||
]
|
||
},
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"xls_df = xls_df.rename(index=studs)\n",
|
||
"xls_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"42 278 10\n",
|
||
" 178 0\n",
|
||
" 179 0\n",
|
||
" 180 0\n",
|
||
" 181 0\n",
|
||
"dtype: object"
|
||
]
|
||
},
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"xls_df = xls_df.stack()\n",
|
||
"xls_df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"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>42</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>178</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>179</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>180</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>181</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" student_id question_id mark\n",
|
||
"0 42 278 10\n",
|
||
"1 42 178 0\n",
|
||
"2 42 179 0\n",
|
||
"3 42 180 0\n",
|
||
"4 42 181 0"
|
||
]
|
||
},
|
||
"execution_count": 25,
|
||
"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": 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>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>42</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>178</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>179</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>180</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>181</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" student_id question_id mark\n",
|
||
"0 42 278 10\n",
|
||
"1 42 178 0\n",
|
||
"2 42 179 0\n",
|
||
"3 42 180 0\n",
|
||
"4 42 181 0"
|
||
]
|
||
},
|
||
"execution_count": 26,
|
||
"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": 27,
|
||
"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": 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",
|
||
" <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>42</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>86</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>34</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>86</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>38</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>86</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>39</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>86</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>46</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>86</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 42 278 10 278 10 1 \n",
|
||
"1 34 278 9 278 10 1 \n",
|
||
"2 38 278 9 278 10 1 \n",
|
||
"3 39 278 10 278 10 1 \n",
|
||
"4 46 278 10 278 10 1 \n",
|
||
"\n",
|
||
" exercise_id competence domain comment \n",
|
||
"0 86 Com Présentation \n",
|
||
"1 86 Com Présentation \n",
|
||
"2 86 Com Présentation \n",
|
||
"3 86 Com Présentation \n",
|
||
"4 86 Com Présentation "
|
||
]
|
||
},
|
||
"execution_count": 28,
|
||
"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": 29,
|
||
"metadata": {},
|
||
"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": 30,
|
||
"metadata": {},
|
||
"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": 31,
|
||
"metadata": {},
|
||
"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": 32,
|
||
"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</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>42</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>42</td>\n",
|
||
" <td>OUSSENI</td>\n",
|
||
" <td>Fayadhui</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>178</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>42</td>\n",
|
||
" <td>OUSSENI</td>\n",
|
||
" <td>Fayadhui</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>179</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>42</td>\n",
|
||
" <td>OUSSENI</td>\n",
|
||
" <td>Fayadhui</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>180</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>42</td>\n",
|
||
" <td>OUSSENI</td>\n",
|
||
" <td>Fayadhui</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>42</td>\n",
|
||
" <td>181</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>42</td>\n",
|
||
" <td>OUSSENI</td>\n",
|
||
" <td>Fayadhui</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" student_id question_id mark value id name surname mail commment \\\n",
|
||
"0 42 278 10 3 42 OUSSENI Fayadhui None \n",
|
||
"1 42 178 0 0 42 OUSSENI Fayadhui None \n",
|
||
"2 42 179 0 0 42 OUSSENI Fayadhui None \n",
|
||
"3 42 180 0 0 42 OUSSENI Fayadhui None \n",
|
||
"4 42 181 0 0 42 OUSSENI Fayadhui None \n",
|
||
"\n",
|
||
" tribe_id \n",
|
||
"0 2 \n",
|
||
"1 2 \n",
|
||
"2 2 \n",
|
||
"3 2 \n",
|
||
"4 2 "
|
||
]
|
||
},
|
||
"execution_count": 32,
|
||
"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.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"A priori pas de soucis avec les sommes de points"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 33,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"name surname \n",
|
||
"ABDALLAH Rachma 22\n",
|
||
"ABDOU Kassim 6\n",
|
||
"AHAMADI Irchadi 42\n",
|
||
"AHAMED Mikidadi 25\n",
|
||
"ANSSURDINE Zaidou 10\n",
|
||
"BACAR MOUSTADRANE Rakchat 13\n",
|
||
"BOINA Chadia 19\n",
|
||
"CHANFI Fayçoil 17\n",
|
||
"CHARIF Djaël 71\n",
|
||
"COMBO Doulka-Rynaini 25\n",
|
||
"IBRAHIM, Izaki 10\n",
|
||
"MAGNELE Chamsidine 24\n",
|
||
"MBAROUKOU Dania 56\n",
|
||
"MIRADJI Issoufi 68\n",
|
||
"NIDHOIMI El-Fahar 51\n",
|
||
"OUSSENI Fayadhui 10\n",
|
||
"SAID OMAR Nadjoi 43\n",
|
||
"SALIM Haïridine 10\n",
|
||
"SAÏD Dalila 50\n",
|
||
"Said Rachida 16\n",
|
||
"TSIMPOU Zoubert 10\n",
|
||
"Name: mark, dtype: int64"
|
||
]
|
||
},
|
||
"execution_count": 33,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sc_s_df.groupby([\"name\", \"surname\"]).sum()['mark']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 34,
|
||
"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>42</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>42</td>\n",
|
||
" <td>OUSSENI</td>\n",
|
||
" <td>Fayadhui</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>86</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>34</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>34</td>\n",
|
||
" <td>BOINA</td>\n",
|
||
" <td>Chadia</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>86</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>38</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>38</td>\n",
|
||
" <td>MAGNELE</td>\n",
|
||
" <td>Chamsidine</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>86</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>39</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>39</td>\n",
|
||
" <td>MBAROUKOU</td>\n",
|
||
" <td>Dania</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>86</td>\n",
|
||
" <td>Com</td>\n",
|
||
" <td>Présentation</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>46</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>46</td>\n",
|
||
" <td>TSIMPOU</td>\n",
|
||
" <td>Zoubert</td>\n",
|
||
" <td></td>\n",
|
||
" <td>None</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>278</td>\n",
|
||
" <td></td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>86</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 42 278 10 3 42 OUSSENI Fayadhui \n",
|
||
"1 34 278 9 3 34 BOINA Chadia \n",
|
||
"2 38 278 9 3 38 MAGNELE Chamsidine \n",
|
||
"3 39 278 10 3 39 MBAROUKOU Dania \n",
|
||
"4 46 278 10 3 46 TSIMPOU Zoubert \n",
|
||
"\n",
|
||
" commment tribe_id id_y name_y score_rate is_leveled exercise_id \\\n",
|
||
"0 None 2 278 10 1 86 \n",
|
||
"1 None 2 278 10 1 86 \n",
|
||
"2 None 2 278 10 1 86 \n",
|
||
"3 None 2 278 10 1 86 \n",
|
||
"4 None 2 278 10 1 86 \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": 34,
|
||
"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": 36,
|
||
"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": 37,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Path('.//306/report_DNB blanc 1.tex')"
|
||
]
|
||
},
|
||
"execution_count": 37,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"datas = {\"evaluation\": dnbBlanc}\n",
|
||
"target = build_target_name('306', 'DNB blanc 1')\n",
|
||
"target"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 38,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"template=\"tpl_reports_eval.tex\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 39,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"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
|
||
}
|