2015-2016/3e/DS/BB_16_02_15/Bilan/Bilan313.ipynb

1045 lines
414 KiB
Plaintext
Raw Normal View History

2017-06-16 06:48:54 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import pandas as pd\n",
"from opytex import texenv\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use(\"seaborn-notebook\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Informations sur le devoir"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"{'classe': '313', 'date': '15 février 2016', 'titre': 'Brevet Blanc Février'}"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ds_name = \"BB_16_02_15\"\n",
"classe = \"313\"\n",
"\n",
"latex_info = {}\n",
"latex_info['titre'] = \"Brevet Blanc Février\"\n",
"latex_info['classe'] = \"313\"\n",
"latex_info['date'] = \"15 février 2016\"\n",
"latex_info"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Import et premiers traitements"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"notes = pd.ExcelFile(\"./../../../../notes/\"+classe+\".xlsx\")\n",
"notes.sheet_names\n",
"notes = notes.parse(ds_name)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ds_name = \"Brevet blanc Fevrier\""
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Brevet blanc Fevrier', 'Présentation', 'Exercice 1',\n",
" 'Comprendre le programme de calcul', 'Programme à l'envers',\n",
" 'Calcul literral', 'Exercice 2', 'Construction', 'Pythagore',\n",
" 'Choix proposition', 'Exercice 3', 'Exercice 4',\n",
" 'Probabilité « normale »', 'Probabilité « changement »', '2 épreuves',\n",
" 'Exercice 5', 'Divisibilité', 'PGCD', 'Réduction', 'Divisibilité',\n",
" 'Utilisation du PGCD', 'Exercice 6', 'Extraire l'information',\n",
" 'Argumentation', 'Résolution', 'Exercice 7', 'Lecture graphique',\n",
" 'Moyenne', 'Total', 'Formule tableur (somme)',\n",
" 'Formule tableur (moiyenne)'],\n",
" dtype='object')"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes.index"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"notes = notes.T"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#notes = notes.drop('av_arrondi', axis=1)\n",
"#notes = notes.drop('num_sujet', axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"barem = notes[:1]\n",
"notes = notes[1:]"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Brevet blanc Fevrier</th>\n",
" <th>Présentation</th>\n",
" <th>Exercice 1</th>\n",
" <th>Comprendre le programme de calcul</th>\n",
" <th>Programme à l'envers</th>\n",
" <th>Calcul literral</th>\n",
" <th>Exercice 2</th>\n",
" <th>Construction</th>\n",
" <th>Pythagore</th>\n",
" <th>Choix proposition</th>\n",
" <th>...</th>\n",
" <th>Exercice 6</th>\n",
" <th>Extraire l'information</th>\n",
" <th>Argumentation</th>\n",
" <th>Résolution</th>\n",
" <th>Exercice 7</th>\n",
" <th>Lecture graphique</th>\n",
" <th>Moyenne</th>\n",
" <th>Total</th>\n",
" <th>Formule tableur (somme)</th>\n",
" <th>Formule tableur (moiyenne)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>ABDALLAH Touraya</th>\n",
" <td>15.0</td>\n",
" <td>3.5</td>\n",
" <td>3.5</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>4.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ABDOU Mariam</th>\n",
" <td>31.0</td>\n",
" <td>4.0</td>\n",
" <td>4.5</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>4.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>5.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ABTOIHI SAID Yasmina</th>\n",
" <td>24.5</td>\n",
" <td>3.5</td>\n",
" <td>4.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>3.5</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>6.5</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMED Anssuifidine</th>\n",
" <td>22.0</td>\n",
" <td>3.5</td>\n",
" <td>5.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>3.5</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>6.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMED Issihaka</th>\n",
" <td>23.0</td>\n",
" <td>3.0</td>\n",
" <td>2.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>3.5</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>5.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 31 columns</p>\n",
"</div>"
],
"text/plain": [
" Brevet blanc Fevrier Présentation Exercice 1 \\\n",
"ABDALLAH Touraya 15.0 3.5 3.5 \n",
"ABDOU Mariam 31.0 4.0 4.5 \n",
"ABTOIHI SAID Yasmina 24.5 3.5 4.0 \n",
"AHAMED Anssuifidine 22.0 3.5 5.0 \n",
"AHAMED Issihaka 23.0 3.0 2.0 \n",
"\n",
" Comprendre le programme de calcul Programme à l'envers \\\n",
"ABDALLAH Touraya NaN NaN \n",
"ABDOU Mariam NaN NaN \n",
"ABTOIHI SAID Yasmina NaN NaN \n",
"AHAMED Anssuifidine NaN NaN \n",
"AHAMED Issihaka NaN NaN \n",
"\n",
" Calcul literral Exercice 2 Construction Pythagore \\\n",
"ABDALLAH Touraya NaN 1.0 NaN NaN \n",
"ABDOU Mariam NaN 4.0 NaN NaN \n",
"ABTOIHI SAID Yasmina NaN 3.5 NaN NaN \n",
"AHAMED Anssuifidine NaN 3.5 NaN NaN \n",
"AHAMED Issihaka NaN 3.5 NaN NaN \n",
"\n",
" Choix proposition ... \\\n",
"ABDALLAH Touraya NaN ... \n",
"ABDOU Mariam NaN ... \n",
"ABTOIHI SAID Yasmina NaN ... \n",
"AHAMED Anssuifidine NaN ... \n",
"AHAMED Issihaka NaN ... \n",
"\n",
" Exercice 6 Extraire l'information Argumentation \\\n",
"ABDALLAH Touraya 0 NaN NaN \n",
"ABDOU Mariam 0 NaN NaN \n",
"ABTOIHI SAID Yasmina 0 NaN NaN \n",
"AHAMED Anssuifidine 0 NaN NaN \n",
"AHAMED Issihaka 0 NaN NaN \n",
"\n",
" Résolution Exercice 7 Lecture graphique Moyenne \\\n",
"ABDALLAH Touraya NaN 4.0 NaN NaN \n",
"ABDOU Mariam NaN 5.0 NaN NaN \n",
"ABTOIHI SAID Yasmina NaN 6.5 NaN NaN \n",
"AHAMED Anssuifidine NaN 6.0 NaN NaN \n",
"AHAMED Issihaka NaN 5.0 NaN NaN \n",
"\n",
" Total Formule tableur (somme) \\\n",
"ABDALLAH Touraya NaN NaN \n",
"ABDOU Mariam NaN NaN \n",
"ABTOIHI SAID Yasmina NaN NaN \n",
"AHAMED Anssuifidine NaN NaN \n",
"AHAMED Issihaka NaN NaN \n",
"\n",
" Formule tableur (moiyenne) \n",
"ABDALLAH Touraya NaN \n",
"ABDOU Mariam NaN \n",
"ABTOIHI SAID Yasmina NaN \n",
"AHAMED Anssuifidine NaN \n",
"AHAMED Issihaka NaN \n",
"\n",
"[5 rows x 31 columns]"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes.head()\n",
"#barem"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Supression des notes inutiles "
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes = notes[notes[ds_name].notnull()]"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes = notes.astype(float)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Traitement des notes"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Brevet blanc Fevrier', 'Présentation', 'Exercice 1',\n",
" 'Comprendre le programme de calcul', 'Programme à l'envers',\n",
" 'Calcul literral', 'Exercice 2', 'Construction', 'Pythagore',\n",
" 'Choix proposition', 'Exercice 3', 'Exercice 4',\n",
" 'Probabilité « normale »', 'Probabilité « changement »', '2 épreuves',\n",
" 'Exercice 5', 'Divisibilité', 'PGCD', 'Réduction', 'Divisibilité',\n",
" 'Utilisation du PGCD', 'Exercice 6', 'Extraire l'information',\n",
" 'Argumentation', 'Résolution', 'Exercice 7', 'Lecture graphique',\n",
" 'Moyenne', 'Total', 'Formule tableur (somme)',\n",
" 'Formule tableur (moiyenne)'],\n",
" dtype='object')"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes.T.index"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Liste des exercices (non noté en compétences)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"['Exercice 1',\n",
" 'Exercice 2',\n",
" 'Exercice 3',\n",
" 'Exercice 4',\n",
" 'Exercice 5',\n",
" 'Exercice 6',\n",
" 'Exercice 7']"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list_exo = [\"Exercice \"+str(i+1) for i in range(7)]\n",
"list_exo"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Les autres types de notes (presentation, malus...) qui ne sont pas en compétences"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"autres_notes = [\"Présentation\"]"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes[list_exo] = notes[list_exo].applymap(lambda x:round(x,2))\n",
"#notes[list_exo]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Les éléments avec notes et les éléments par compétences (sous_exo)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"['Comprendre le programme de calcul',\n",
" \"Programme à l'envers\",\n",
" 'Calcul literral',\n",
" 'Construction',\n",
" 'Pythagore',\n",
" 'Choix proposition',\n",
" 'Probabilité «\\xa0normale\\xa0»',\n",
" 'Probabilité «\\xa0changement\\xa0»',\n",
" '2 épreuves',\n",
" 'Divisibilité',\n",
" 'PGCD',\n",
" 'Réduction',\n",
" 'Divisibilité',\n",
" 'Utilisation du PGCD',\n",
" \"Extraire l'information\",\n",
" 'Argumentation',\n",
" 'Résolution',\n",
" 'Lecture graphique',\n",
" 'Moyenne',\n",
" 'Total',\n",
" 'Formule tableur (somme)',\n",
" 'Formule tableur (moiyenne)']"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"item_avec_note = list_exo + [ds_name] + autres_notes\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": 45,
"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": 46,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes[item_avec_note] = notes[item_avec_note].fillna(\".\")\n",
"#notes"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "ValueError",
"evalue": "Columns must be same length as key",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-19-fe35b34416df>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0meleves\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnotes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0meleves\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0msous_exo\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnotes\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0msous_exo\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mapplymap\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtoRepVal\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32m/home/lafrite/.virtualenvs/enseignement/lib/python3.5/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__setitem__\u001b[1;34m(self, key, value)\u001b[0m\n\u001b[0;32m 2292\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2293\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mSeries\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlist\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mIndex\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2294\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_setitem_array\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2295\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mDataFrame\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2296\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_setitem_frame\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m/home/lafrite/.virtualenvs/enseignement/lib/python3.5/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m_setitem_array\u001b[1;34m(self, key, value)\u001b[0m\n\u001b[0;32m 2316\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mDataFrame\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2317\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2318\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Columns must be same length as key'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2319\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mk1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mk2\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2320\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mk1\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mk2\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mValueError\u001b[0m: Columns must be same length as key"
]
}
],
"source": [
"eleves = notes.copy()\n",
"eleves[sous_exo] = notes[sous_exo].applymap(toRepVal)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"31"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(notes.T.index)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Preparation du fichier .tex"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#eleves"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"bilan = texenv.get_template(\"tpl_bilan.tex\")\n",
"with open(\"./bilan\"+classe+\".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": 48,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 28.000000\n",
"mean 23.285714\n",
"std 5.583422\n",
"min 15.000000\n",
"25% 18.625000\n",
"50% 23.250000\n",
"75% 26.125000\n",
"max 37.500000\n",
"Name: Brevet blanc Fevrier, dtype: float64"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes[ds_name].describe()"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f2f9d7fe208>"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nJr++ZNeb/PqS3fwobgE
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2f9d841128>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#notes_seules = notes[ds_name]\n",
"ax = notes[ds_name].hist(bins = barem[ds_name][0], range=(0,barem[ds_name][0]), figsize = (16,7), )\n",
"ax.set_xlabel(\"Notes\")\n",
"ax.set_ylabel(\"Effectif\")\n",
"#notes_seules.hist()"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f2f9d79ccf8>"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nzeX5Z5/HaDBy9c5V9p3
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2f9d7e12e8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Normalisation des notes de chaque exo\n",
"notes_exo_norm = notes[list_exo] / barem[list_exo].values[0,:]\n",
"#notes_exo_norm\n",
"ax = notes_exo_norm.T.plot(color = \"gray\", legend = False, figsize = (16, 7))\n",
"d_norm = notes_exo_norm.describe()\n",
"d_norm.T[[\"min\", \"25%\", \"50%\", \"75%\", \"max\"]].plot(ax=ax, kind=\"area\", stacked = False, alpha=.1)"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nudDMJjLWdUBzrzSBY/5
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2f9c210a20>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = notes[list_exo+[\"Présentation\"]].hist(figsize = (16,8))"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"BOINA HASSANI Nahimi 0.0\n",
"ABDALLAH Touraya 0.5\n",
"HALIBOU Nafilati 0.5\n",
"HOUMADI Himida 0.5\n",
"IBRAHIM Laoura 0.5\n",
"MOENY MOKO Nadjma 0.5\n",
"AHMED ABDOU El-Karim 1.0\n",
"BACO ABDALLAH Moustadirane 1.0\n",
"HOUMADI Antufati 1.0\n",
"Name: Exercice 4, dtype: float64"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes[notes[\"Exercice 4\"] < 1.5][\"Exercice 4\"].sort_values()"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"YOUSSOUF Asma 0.0\n",
"AHMED ABDOU El-Karim 0.5\n",
"IBRAHIM Laoura 0.5\n",
"ABDALLAH Touraya 1.5\n",
"AHAMED Anssuifidine 1.5\n",
"BOINA HASSANI Nahimi 1.5\n",
"HALIBOU Nafilati 1.5\n",
"MOENY MOKO Nadjma 1.5\n",
"ANLI Koudoussia 2.0\n",
"HOUMADI Himida 2.5\n",
"HOUMADI ABDALLAH Abdallah 2.5\n",
"DJADAR Ifrah 3.0\n",
"HOUMADI Antufati 3.0\n",
"Name: Exercice 5, dtype: float64"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes[notes[\"Exercice 5\"] < 3.5][\"Exercice 5\"].sort_values()"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Comprendre le programme de calcul</th>\n",
" <th>Programme à l'envers</th>\n",
" <th>Calcul literral</th>\n",
" <th>Construction</th>\n",
" <th>Pythagore</th>\n",
" <th>Choix proposition</th>\n",
" <th>Probabilité « normale »</th>\n",
" <th>Probabilité « changement »</th>\n",
" <th>2 épreuves</th>\n",
" <th>Divisibilité</th>\n",
" <th>...</th>\n",
" <th>Divisibilité</th>\n",
" <th>Utilisation du PGCD</th>\n",
" <th>Extraire l'information</th>\n",
" <th>Argumentation</th>\n",
" <th>Résolution</th>\n",
" <th>Lecture graphique</th>\n",
" <th>Moyenne</th>\n",
" <th>Total</th>\n",
" <th>Formule tableur (somme)</th>\n",
" <th>Formule tableur (moiyenne)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\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",
" <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>1 rows × 24 columns</p>\n",
"</div>"
],
"text/plain": [
" Comprendre le programme de calcul Programme à l'envers \\\n",
"count 0 0 \n",
"\n",
" Calcul literral Construction Pythagore Choix proposition \\\n",
"count 0 0 0 0 \n",
"\n",
" Probabilité « normale » Probabilité « changement » 2 épreuves \\\n",
"count 0 0 0 \n",
"\n",
" Divisibilité ... Divisibilité \\\n",
"count 0 ... 0 \n",
"\n",
" Utilisation du PGCD Extraire l'information Argumentation Résolution \\\n",
"count 0 0 0 0 \n",
"\n",
" Lecture graphique Moyenne Total Formule tableur (somme) \\\n",
"count 0 0 0 0 \n",
"\n",
" Formule tableur (moiyenne) \n",
"count 0 \n",
"\n",
"[1 rows x 24 columns]"
]
},
"execution_count": 53,
"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]"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## Bilan à remplir"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"bilan = texenv.get_template(\"tpl_bilan.tex\")\n",
"with open(\"./fill_bilan.tex\",\"w\") as f:\n",
" f.write(bilan.render(eleves = [(\"Nom\",, barem = barem, ds_name = ds_name, latex_info = latex_info, nbr_questions = len(barem.T)))"
]
}
],
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}