{
"cells": [
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import pandas as pd\n",
"from opytex import texenv\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Informations sur le devoir"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"{'classe': '313', 'date': '25 septembre 2015', 'titre': 'DS 1'}"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ds_name = \"DS_15_09_25\"\n",
"classe = \"313\"\n",
"\n",
"latex_info = {}\n",
"latex_info['titre'] = \"DS 1\" \n",
"latex_info['classe'] = classe\n",
"latex_info['date'] = \"25 septembre 2015\"\n",
"latex_info"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Import et premiers traitements"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"notes = pd.ExcelFile(\"./../../../\"+classe+\".xlsx\")\n",
"notes.sheet_names\n",
"notes = notes.parse(ds_name)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index([ 'DS_15_09_25', 'numero sujet',\n",
" 'Presentation', 'Exercice 1',\n",
" 1, 2,\n",
" 'Exercice 2', '1 (Division)',\n",
" '2.a (Division)', '2.b (PGCD)',\n",
" 'Exercice 3', '1 (Vrai Faux)',\n",
" '2 (Proba)', '3 (Proba)',\n",
" 'Exercice 4', '1 (Modélisation)',\n",
" '1 (Explication)', '2 (Vérification) – bonus !'],\n",
" dtype='object')"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes.index"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"notes = notes.T"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#notes = notes.drop('av_arrondi', axis=1)\n",
"notes = notes.drop('numero sujet', axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"
\n",
" \n",
" \n",
" | \n",
" DS_15_09_25 | \n",
" Presentation | \n",
" Exercice 1 | \n",
" 1 | \n",
" 2 | \n",
" Exercice 2 | \n",
" 1 (Division) | \n",
" 2.a (Division) | \n",
" 2.b (PGCD) | \n",
" Exercice 3 | \n",
" 1 (Vrai Faux) | \n",
" 2 (Proba) | \n",
" 3 (Proba) | \n",
" Exercice 4 | \n",
" 1 (Modélisation) | \n",
" 1 (Explication) | \n",
" 2 (Vérification) – bonus ! | \n",
"
\n",
" \n",
" \n",
" \n",
" ABDOU Mariam | \n",
" 18.0 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 4.666667 | \n",
" 2 | \n",
" 2 | \n",
" 2 | \n",
" 5.500000 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 4.000000 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
"
\n",
" \n",
" ABTOIHI SAID Yasmina | \n",
" 10.0 | \n",
" 1 | \n",
" 1.5 | \n",
" 1 | \n",
" 2 | \n",
" 3.666667 | \n",
" 0 | \n",
" 1 | \n",
" 3 | \n",
" 3.833333 | \n",
" 1 | \n",
" 3 | \n",
" 2 | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
" AHAMED Anssuifidine | \n",
" 7.0 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 2.000000 | \n",
" 0 | \n",
" NaN | \n",
" 2 | \n",
" 1.000000 | \n",
" 2 | \n",
" NaN | \n",
" NaN | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
" AHAMED Issihaka | \n",
" 15.0 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 5.666667 | \n",
" 1 | \n",
" 3 | \n",
" 3 | \n",
" 3.166667 | \n",
" 1 | \n",
" 3 | \n",
" 1 | \n",
" 2.333333 | \n",
" 2 | \n",
" 2 | \n",
" 1 | \n",
"
\n",
" \n",
" AHMED ABDOU El-Karim | \n",
" 5.0 | \n",
" 1 | \n",
" 1.5 | \n",
" 2 | \n",
" 1 | \n",
" 1.000000 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 1.500000 | \n",
" 3 | \n",
" 0 | \n",
" NaN | \n",
" 0.000000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" ANDILI Chayhati | \n",
" 14.0 | \n",
" 1 | \n",
" 2.0 | \n",
" 2 | \n",
" 2 | \n",
" 6.000000 | \n",
" 3 | \n",
" 3 | \n",
" 2 | \n",
" 4.833333 | \n",
" 3 | \n",
" 3 | \n",
" 2 | \n",
" 0.000000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" ANDJILANE Rachma | \n",
" 8.0 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 1.000000 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 3.166667 | \n",
" 1 | \n",
" 3 | \n",
" 1 | \n",
" 0.000000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" ANLI Koudoussia | \n",
" 13.5 | \n",
" 1 | \n",
" 1.0 | \n",
" 1 | \n",
" 1 | \n",
" 5.000000 | \n",
" 1 | \n",
" 2 | \n",
" 3 | \n",
" 4.833333 | \n",
" 3 | \n",
" 2 | \n",
" 3 | \n",
" 1.500000 | \n",
" NaN | \n",
" 1 | \n",
" 3 | \n",
"
\n",
" \n",
" ATTOUMANI Hanissa | \n",
" 12.5 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 4.666667 | \n",
" 1 | \n",
" 3 | \n",
" 2 | \n",
" 3.000000 | \n",
" 2 | \n",
" 3 | \n",
" 0 | \n",
" 0.833333 | \n",
" 1 | \n",
" NaN | \n",
" 1 | \n",
"
\n",
" \n",
" BACO ABDALLAH Moustadirane | \n",
" 10.5 | \n",
" 1 | \n",
" 0.5 | \n",
" 0 | \n",
" 1 | \n",
" 3.666667 | \n",
" 0 | \n",
" 1 | \n",
" 3 | \n",
" 5.000000 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 0.500000 | \n",
" 0 | \n",
" 1 | \n",
" NaN | \n",
"
\n",
" \n",
" BINALI Maoulida | \n",
" 13.5 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 4.000000 | \n",
" 3 | \n",
" 3 | \n",
" 0 | \n",
" 5.500000 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
" BOINA Ainati | \n",
" 12.0 | \n",
" 1 | \n",
" 2.5 | \n",
" 3 | \n",
" 2 | \n",
" 3.000000 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 5.500000 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
" BOINA HASSANI Nahimi | \n",
" 4.5 | \n",
" 1 | \n",
" 2.0 | \n",
" 2 | \n",
" 2 | \n",
" 1.000000 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0.500000 | \n",
" 1 | \n",
" NaN | \n",
" NaN | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
" DAOUD El-Farouk | \n",
" 12.0 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 2.000000 | \n",
" 0 | \n",
" 0 | \n",
" 2 | \n",
" 4.166667 | \n",
" 3 | \n",
" 3 | \n",
" 1 | \n",
" 1.833333 | \n",
" 2 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
" DJADAR Ifrah | \n",
" 12.5 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 3.666667 | \n",
" 0 | \n",
" 1 | \n",
" 3 | \n",
" 4.833333 | \n",
" 3 | \n",
" 3 | \n",
" 2 | \n",
" 0.000000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" HALIBOU Nafilati | \n",
" 8.5 | \n",
" 1 | \n",
" 0.0 | \n",
" 0 | \n",
" 0 | \n",
" 3.000000 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 4.500000 | \n",
" 1 | \n",
" 3 | \n",
" 3 | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
" HALIDI Tomsoyère | \n",
" 0.0 | \n",
" NaN | \n",
" 0.0 | \n",
" NaN | \n",
" NaN | \n",
" 0.000000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 0.000000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 0.000000 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" HOUMADI Himida | \n",
" 3.0 | \n",
" 1 | \n",
" 0.0 | \n",
" 0 | \n",
" 0 | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1.666667 | \n",
" 2 | \n",
" 1 | \n",
" 0 | \n",
" 0.333333 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
"
\n",
" \n",
" HOUMADI Antufati | \n",
" 6.5 | \n",
" 1 | \n",
" 0.0 | \n",
" 0 | \n",
" 0 | \n",
" 2.666667 | \n",
" 0 | \n",
" 1 | \n",
" 2 | \n",
" 2.833333 | \n",
" 3 | \n",
" 1 | \n",
" 1 | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
" HOUMADI ABDALLAH Abdallah | \n",
" 13.0 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 3.666667 | \n",
" 2 | \n",
" 2 | \n",
" 1 | \n",
" 5.000000 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 0.500000 | \n",
" 1 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
" IBRAHIM Laoura | \n",
" 4.5 | \n",
" 1 | \n",
" 0.0 | \n",
" 0 | \n",
" 0 | \n",
" 2.000000 | \n",
" 0 | \n",
" 0 | \n",
" 2 | \n",
" 0.500000 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 1.000000 | \n",
" 1 | \n",
" 1 | \n",
" NaN | \n",
"
\n",
" \n",
" MALIDE ABDOU Nasser | \n",
" 12.0 | \n",
" 1 | \n",
" 2.5 | \n",
" 3 | \n",
" 2 | \n",
" 3.000000 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 4.166667 | \n",
" 3 | \n",
" 3 | \n",
" 1 | \n",
" 1.500000 | \n",
" 2 | \n",
" 1 | \n",
" NaN | \n",
"
\n",
" \n",
" MALIDE Younes | \n",
" 19.5 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 7.000000 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 4.500000 | \n",
" 1 | \n",
" 3 | \n",
" 3 | \n",
" 4.000000 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
"
\n",
" \n",
" MOENY MOKO Nadjma | \n",
" 7.5 | \n",
" 1 | \n",
" 2.5 | \n",
" 3 | \n",
" 2 | \n",
" 2.666667 | \n",
" 0 | \n",
" 1 | \n",
" 2 | \n",
" 1.500000 | \n",
" 3 | \n",
" 0 | \n",
" 0 | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
" MOUGNIDAHO Nouriana | \n",
" 13.0 | \n",
" 1 | \n",
" 2.5 | \n",
" 3 | \n",
" 2 | \n",
" 3.000000 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 5.500000 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 1.000000 | \n",
" 1 | \n",
" 1 | \n",
" NaN | \n",
"
\n",
" \n",
" MOURTADJOU El-Fazar | \n",
" 20.0 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 7.000000 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 5.500000 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 3.500000 | \n",
" 3 | \n",
" 2 | \n",
" 3 | \n",
"
\n",
" \n",
" SAID Chamsoudine | \n",
" 13.0 | \n",
" 1 | \n",
" 3.0 | \n",
" 3 | \n",
" 3 | \n",
" 4.000000 | \n",
" NaN | \n",
" 3 | \n",
" 2 | \n",
" 4.833333 | \n",
" 3 | \n",
" 2 | \n",
" 3 | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
" YANCOUB Toufa | \n",
" 13.5 | \n",
" 1 | \n",
" 2.5 | \n",
" 3 | \n",
" 2 | \n",
" 6.000000 | \n",
" 3 | \n",
" 3 | \n",
" 2 | \n",
" 2.500000 | \n",
" 1 | \n",
" 3 | \n",
" 0 | \n",
" 1.666667 | \n",
" 1 | \n",
" 1 | \n",
" 2 | \n",
"
\n",
" \n",
" YOUSSOUF Asma | \n",
" 10.5 | \n",
" 1 | \n",
" 0.0 | \n",
" 0 | \n",
" NaN | \n",
" 4.000000 | \n",
" 3 | \n",
" 3 | \n",
" NaN | \n",
" 5.500000 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 0.000000 | \n",
" 0 | \n",
" 0 | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" DS_15_09_25 Presentation Exercice 1 1 2 \\\n",
"ABDOU Mariam 18.0 1 3.0 3 3 \n",
"ABTOIHI SAID Yasmina 10.0 1 1.5 1 2 \n",
"AHAMED Anssuifidine 7.0 1 3.0 3 3 \n",
"AHAMED Issihaka 15.0 1 3.0 3 3 \n",
"AHMED ABDOU El-Karim 5.0 1 1.5 2 1 \n",
"ANDILI Chayhati 14.0 1 2.0 2 2 \n",
"ANDJILANE Rachma 8.0 1 3.0 3 3 \n",
"ANLI Koudoussia 13.5 1 1.0 1 1 \n",
"ATTOUMANI Hanissa 12.5 1 3.0 3 3 \n",
"BACO ABDALLAH Moustadirane 10.5 1 0.5 0 1 \n",
"BINALI Maoulida 13.5 1 3.0 3 3 \n",
"BOINA Ainati 12.0 1 2.5 3 2 \n",
"BOINA HASSANI Nahimi 4.5 1 2.0 2 2 \n",
"DAOUD El-Farouk 12.0 1 3.0 3 3 \n",
"DJADAR Ifrah 12.5 1 3.0 3 3 \n",
"HALIBOU Nafilati 8.5 1 0.0 0 0 \n",
"HALIDI Tomsoyère 0.0 NaN 0.0 NaN NaN \n",
"HOUMADI Himida 3.0 1 0.0 0 0 \n",
"HOUMADI Antufati 6.5 1 0.0 0 0 \n",
"HOUMADI ABDALLAH Abdallah 13.0 1 3.0 3 3 \n",
"IBRAHIM Laoura 4.5 1 0.0 0 0 \n",
"MALIDE ABDOU Nasser 12.0 1 2.5 3 2 \n",
"MALIDE Younes 19.5 1 3.0 3 3 \n",
"MOENY MOKO Nadjma 7.5 1 2.5 3 2 \n",
"MOUGNIDAHO Nouriana 13.0 1 2.5 3 2 \n",
"MOURTADJOU El-Fazar 20.0 1 3.0 3 3 \n",
"SAID Chamsoudine 13.0 1 3.0 3 3 \n",
"YANCOUB Toufa 13.5 1 2.5 3 2 \n",
"YOUSSOUF Asma 10.5 1 0.0 0 NaN \n",
"\n",
" Exercice 2 1 (Division) 2.a (Division) \\\n",
"ABDOU Mariam 4.666667 2 2 \n",
"ABTOIHI SAID Yasmina 3.666667 0 1 \n",
"AHAMED Anssuifidine 2.000000 0 NaN \n",
"AHAMED Issihaka 5.666667 1 3 \n",
"AHMED ABDOU El-Karim 1.000000 0 0 \n",
"ANDILI Chayhati 6.000000 3 3 \n",
"ANDJILANE Rachma 1.000000 0 0 \n",
"ANLI Koudoussia 5.000000 1 2 \n",
"ATTOUMANI Hanissa 4.666667 1 3 \n",
"BACO ABDALLAH Moustadirane 3.666667 0 1 \n",
"BINALI Maoulida 4.000000 3 3 \n",
"BOINA Ainati 3.000000 0 0 \n",
"BOINA HASSANI Nahimi 1.000000 0 0 \n",
"DAOUD El-Farouk 2.000000 0 0 \n",
"DJADAR Ifrah 3.666667 0 1 \n",
"HALIBOU Nafilati 3.000000 0 0 \n",
"HALIDI Tomsoyère 0.000000 NaN NaN \n",
"HOUMADI Himida 0.000000 0 0 \n",
"HOUMADI Antufati 2.666667 0 1 \n",
"HOUMADI ABDALLAH Abdallah 3.666667 2 2 \n",
"IBRAHIM Laoura 2.000000 0 0 \n",
"MALIDE ABDOU Nasser 3.000000 0 0 \n",
"MALIDE Younes 7.000000 3 3 \n",
"MOENY MOKO Nadjma 2.666667 0 1 \n",
"MOUGNIDAHO Nouriana 3.000000 0 0 \n",
"MOURTADJOU El-Fazar 7.000000 3 3 \n",
"SAID Chamsoudine 4.000000 NaN 3 \n",
"YANCOUB Toufa 6.000000 3 3 \n",
"YOUSSOUF Asma 4.000000 3 3 \n",
"\n",
" 2.b (PGCD) Exercice 3 1 (Vrai Faux) 2 (Proba) \\\n",
"ABDOU Mariam 2 5.500000 3 3 \n",
"ABTOIHI SAID Yasmina 3 3.833333 1 3 \n",
"AHAMED Anssuifidine 2 1.000000 2 NaN \n",
"AHAMED Issihaka 3 3.166667 1 3 \n",
"AHMED ABDOU El-Karim 1 1.500000 3 0 \n",
"ANDILI Chayhati 2 4.833333 3 3 \n",
"ANDJILANE Rachma 1 3.166667 1 3 \n",
"ANLI Koudoussia 3 4.833333 3 2 \n",
"ATTOUMANI Hanissa 2 3.000000 2 3 \n",
"BACO ABDALLAH Moustadirane 3 5.000000 2 3 \n",
"BINALI Maoulida 0 5.500000 3 3 \n",
"BOINA Ainati 3 5.500000 3 3 \n",
"BOINA HASSANI Nahimi 1 0.500000 1 NaN \n",
"DAOUD El-Farouk 2 4.166667 3 3 \n",
"DJADAR Ifrah 3 4.833333 3 3 \n",
"HALIBOU Nafilati 3 4.500000 1 3 \n",
"HALIDI Tomsoyère NaN 0.000000 NaN NaN \n",
"HOUMADI Himida 0 1.666667 2 1 \n",
"HOUMADI Antufati 2 2.833333 3 1 \n",
"HOUMADI ABDALLAH Abdallah 1 5.000000 2 3 \n",
"IBRAHIM Laoura 2 0.500000 1 0 \n",
"MALIDE ABDOU Nasser 3 4.166667 3 3 \n",
"MALIDE Younes 3 4.500000 1 3 \n",
"MOENY MOKO Nadjma 2 1.500000 3 0 \n",
"MOUGNIDAHO Nouriana 3 5.500000 3 3 \n",
"MOURTADJOU El-Fazar 3 5.500000 3 3 \n",
"SAID Chamsoudine 2 4.833333 3 2 \n",
"YANCOUB Toufa 2 2.500000 1 3 \n",
"YOUSSOUF Asma NaN 5.500000 3 3 \n",
"\n",
" 3 (Proba) Exercice 4 1 (Modélisation) \\\n",
"ABDOU Mariam 3 4.000000 3 \n",
"ABTOIHI SAID Yasmina 2 0.000000 0 \n",
"AHAMED Anssuifidine NaN 0.000000 0 \n",
"AHAMED Issihaka 1 2.333333 2 \n",
"AHMED ABDOU El-Karim NaN 0.000000 NaN \n",
"ANDILI Chayhati 2 0.000000 NaN \n",
"ANDJILANE Rachma 1 0.000000 NaN \n",
"ANLI Koudoussia 3 1.500000 NaN \n",
"ATTOUMANI Hanissa 0 0.833333 1 \n",
"BACO ABDALLAH Moustadirane 3 0.500000 0 \n",
"BINALI Maoulida 3 0.000000 0 \n",
"BOINA Ainati 3 0.000000 0 \n",
"BOINA HASSANI Nahimi NaN 0.000000 0 \n",
"DAOUD El-Farouk 1 1.833333 2 \n",
"DJADAR Ifrah 2 0.000000 NaN \n",
"HALIBOU Nafilati 3 0.000000 0 \n",
"HALIDI Tomsoyère NaN 0.000000 NaN \n",
"HOUMADI Himida 0 0.333333 0 \n",
"HOUMADI Antufati 1 0.000000 0 \n",
"HOUMADI ABDALLAH Abdallah 3 0.500000 1 \n",
"IBRAHIM Laoura 0 1.000000 1 \n",
"MALIDE ABDOU Nasser 1 1.500000 2 \n",
"MALIDE Younes 3 4.000000 3 \n",
"MOENY MOKO Nadjma 0 0.000000 0 \n",
"MOUGNIDAHO Nouriana 3 1.000000 1 \n",
"MOURTADJOU El-Fazar 3 3.500000 3 \n",
"SAID Chamsoudine 3 0.000000 0 \n",
"YANCOUB Toufa 0 1.666667 1 \n",
"YOUSSOUF Asma 3 0.000000 0 \n",
"\n",
" 1 (Explication) 2 (Vérification) – bonus ! \n",
"ABDOU Mariam 3 3 \n",
"ABTOIHI SAID Yasmina 0 NaN \n",
"AHAMED Anssuifidine 0 NaN \n",
"AHAMED Issihaka 2 1 \n",
"AHMED ABDOU El-Karim NaN NaN \n",
"ANDILI Chayhati NaN NaN \n",
"ANDJILANE Rachma NaN NaN \n",
"ANLI Koudoussia 1 3 \n",
"ATTOUMANI Hanissa NaN 1 \n",
"BACO ABDALLAH Moustadirane 1 NaN \n",
"BINALI Maoulida 0 NaN \n",
"BOINA Ainati 0 NaN \n",
"BOINA HASSANI Nahimi 0 NaN \n",
"DAOUD El-Farouk 1 1 \n",
"DJADAR Ifrah NaN NaN \n",
"HALIBOU Nafilati 0 NaN \n",
"HALIDI Tomsoyère NaN NaN \n",
"HOUMADI Himida 0 1 \n",
"HOUMADI Antufati 0 NaN \n",
"HOUMADI ABDALLAH Abdallah 0 NaN \n",
"IBRAHIM Laoura 1 NaN \n",
"MALIDE ABDOU Nasser 1 NaN \n",
"MALIDE Younes 3 3 \n",
"MOENY MOKO Nadjma 0 NaN \n",
"MOUGNIDAHO Nouriana 1 NaN \n",
"MOURTADJOU El-Fazar 2 3 \n",
"SAID Chamsoudine 0 NaN \n",
"YANCOUB Toufa 1 2 \n",
"YOUSSOUF Asma 0 NaN "
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"barem = notes[:1]\n",
"notes = notes[1:]\n",
"notes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Supression des notes inutiles "
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes = notes[notes[ds_name].notnull()]\n",
"#notes = notes[notes[ds_name] != 'abs']"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes = notes.astype(float)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Traitement des notes"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Index([ 'DS_15_09_25', 'Presentation',\n",
" 'Exercice 1', 1,\n",
" 2, 'Exercice 2',\n",
" '1 (Division)', '2.a (Division)',\n",
" '2.b (PGCD)', 'Exercice 3',\n",
" '1 (Vrai Faux)', '2 (Proba)',\n",
" '3 (Proba)', 'Exercice 4',\n",
" '1 (Modélisation)', '1 (Explication)',\n",
" '2 (Vérification) – bonus !'],\n",
" dtype='object')"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes.T.index"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"list_exo = [\"Exercice 1\", \"Exercice 2\", \"Exercice 3\",\"Exercice 4\"]"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes[list_exo] = notes[list_exo].applymap(lambda x:round(x,2))\n",
"#notes[list_exo]"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"[1,\n",
" 2,\n",
" '1 (Division)',\n",
" '2.a (Division)',\n",
" '2.b (PGCD)',\n",
" '1 (Vrai Faux)',\n",
" '2 (Proba)',\n",
" '3 (Proba)',\n",
" '1 (Modélisation)',\n",
" '1 (Explication)',\n",
" '2 (Vérification) – bonus\\xa0!']"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"item_avec_note = list_exo + [ds_name, \"Presentation\"]\n",
"sous_exo = [i for i in notes.T.index if i not in item_avec_note]\n",
"sous_exo"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def toRepVal(val):\n",
" if pd.isnull(val):\n",
" return \"\\\\NoRep\"\n",
" elif val == 0:\n",
" return \"\\\\RepZ\"\n",
" elif val == 1:\n",
" return \"\\\\RepU\"\n",
" elif val == 2:\n",
" return \"\\\\RepD\"\n",
" elif val == 3:\n",
" return \"\\\\RepT\"\n",
" else:\n",
" return val"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes[item_avec_note] = notes[item_avec_note].fillna(\".\")\n",
"#notes"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"eleves = notes.copy()\n",
"eleves[sous_exo] = notes[sous_exo].applymap(toRepVal)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"17"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(notes.T.index)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Preparation du fichier .tex"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"bilan = texenv.get_template(\"tpl_bilan.tex\")\n",
"with open(\"./bilan313.tex\",\"w\") as f:\n",
" f.write(bilan.render(eleves = eleves, barem = barem, ds_name = ds_name, latex_info = latex_info, nbr_questions = len(barem.T)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Un peu de statistiques"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 28.000000\n",
"mean 10.517857\n",
"std 4.637772\n",
"min 0.000000\n",
"25% 7.375000\n",
"50% 12.000000\n",
"75% 13.125000\n",
"max 20.000000\n",
"Name: DS_15_09_25, dtype: float64"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes[ds_name].describe()"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"notes_seules = notes[ds_name]\n",
"notes_seules.hist(bins = (notes_seules.max() - notes_seules.min())*2)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes_questions = notes[sous_exo]\n",
"notes_analysis = notes_questions.describe()"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 1 | \n",
" 2 | \n",
" 1 (Division) | \n",
" 2.a (Division) | \n",
" 2.b (PGCD) | \n",
" 1 (Vrai Faux) | \n",
" 2 (Proba) | \n",
" 3 (Proba) | \n",
" 1 (Modélisation) | \n",
" 1 (Explication) | \n",
" 2 (Vérification) – bonus ! | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 25 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 1 2 1 (Division) 2.a (Division) 2.b (PGCD) 1 (Vrai Faux) \\\n",
"count NaN NaN NaN NaN NaN NaN \n",
"\n",
" 2 (Proba) 3 (Proba) 1 (Modélisation) 1 (Explication) \\\n",
"count 25 NaN NaN NaN \n",
"\n",
" 2 (Vérification) – bonus ! \n",
"count NaN "
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# J'aimerai récupérer le nom des questions qui ont été le moins répondus\n",
"notes_analysis[:1][notes_analysis[:1] == 25]"
]
},
{
"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.4.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}