2015-2016/notes/bilan309.ipynb

3334 lines
1010 KiB
Plaintext
Raw Normal View History

2017-06-16 06:48:54 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"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": [
"# Information sur la classe"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"classe = \"309\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Import et premiers traitements"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"['notes',\n",
" 'Remarques',\n",
" 'Conn',\n",
" 'DM_15_09_18',\n",
" 'DS_15_09_25',\n",
" 'pyramide',\n",
" 'BB_15_10_31',\n",
" 'DS_15_11_27',\n",
" 'DM_15_12_09',\n",
" 'Boulettes',\n",
" 'BB_16_01_23',\n",
" 'DM_16_01_29',\n",
" 'BB_16_02_15',\n",
" 'DM_16_03_30',\n",
" 'BB_16_04_02',\n",
" 'BB_16_04_19',\n",
" 'DM_16_05_18',\n",
" 'BB_16_06_03']"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_notes = pd.ExcelFile(classe+\".xlsx\")\n",
"all_notes.sheet_names"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 1er trimestre"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ds_name = 'notes'\n",
"notes = all_notes.parse(ds_name)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>DM_15_09_18</th>\n",
" <th>DS_15_09_25</th>\n",
" <th>BB_15_10_31</th>\n",
" <th>Conn trimestre 1</th>\n",
" <th>Pyramide</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>ABDOU Farida</th>\n",
" <td>4.5</td>\n",
" <td>9.0</td>\n",
" <td>10.5</td>\n",
" <td>7.5</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ABOU BACAR Djaha</th>\n",
" <td>10.0</td>\n",
" <td>16.5</td>\n",
" <td>15.5</td>\n",
" <td>16.5</td>\n",
" <td>17.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADA Nabaouya</th>\n",
" <td>10.0</td>\n",
" <td>9.0</td>\n",
" <td>13.0</td>\n",
" <td>14.5</td>\n",
" <td>17.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADI Faina</th>\n",
" <td>4.0</td>\n",
" <td>4.5</td>\n",
" <td>5.5</td>\n",
" <td>4.0</td>\n",
" <td>18.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ALI Mardhuia</th>\n",
" <td>8.5</td>\n",
" <td>11.5</td>\n",
" <td>11.0</td>\n",
" <td>15.0</td>\n",
" <td>16.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" DM_15_09_18 DS_15_09_25 BB_15_10_31 Conn trimestre 1 \\\n",
"ABDOU Farida 4.5 9.0 10.5 7.5 \n",
"ABOU BACAR Djaha 10.0 16.5 15.5 16.5 \n",
"AHAMADA Nabaouya 10.0 9.0 13.0 14.5 \n",
"AHAMADI Faina 4.0 4.5 5.5 4.0 \n",
"ALI Mardhuia 8.5 11.5 11.0 15.0 \n",
"\n",
" Pyramide \n",
"ABDOU Farida 0.0 \n",
"ABOU BACAR Djaha 17.5 \n",
"AHAMADA Nabaouya 17.5 \n",
"AHAMADI Faina 18.0 \n",
"ALI Mardhuia 16.0 "
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trim1 = notes[1:6].T\n",
"baremT1 = trim1.iloc[0]\n",
"eleveT1 = trim1.iloc[1:31]\n",
"eleveT1.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Par élève"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from ipywidgets import interact, interactive"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Normalisation des notes de chaque exo\n",
"eleveT1_norm = eleveT1 / baremT1.values"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"image/png": "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\nqa+htqkWTdOIi4nDolo
"text/plain": [
"<matplotlib.figure.Figure at 0x7f042c143710>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def f(x):\n",
" #notes_exo_norm\n",
" ax = eleveT1_norm.T.plot(color = \"gray\", legend = False, figsize = (16, 7))\n",
" d_norm = eleveT1_norm.describe()\n",
" d_norm.T[[\"min\", \"25%\", \"50%\", \"75%\", \"max\"]].plot(ax=ax, kind=\"area\", stacked = False, alpha=.1)\n",
" eleveT1_norm.loc[x].plot(ax=ax, color=\"red\", alpha = 1)\n",
"\n",
" \n",
"interact(f, x = list(eleveT2_norm.index))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 2e trimestre"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Connaissances pour le 2e trimestre"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"ds_name = \"Conn\"\n",
"notes = all_notes.parse(ds_name)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes.index"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"conn_2nd_Tri = ['Conn_15_11_18', 'Conn_15_12_08', 'Conn_16_01_20',\n",
" 'Conn_16_02_03', 'Conn_16_02_10']"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes_conn_2T = notes.T[conn_2nd_Tri]\n",
"notes_conn_2T.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"barem = notes_conn_2T[:1]\n",
"notes = notes_conn_2T[1:]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes.head()\n",
"#barem"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes = notes.astype(float)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Traitement des notes"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"notes.T.index"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"len(notes.T.index)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Un peu de statistiques"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>BAREME</th>\n",
" <th>ABDOU Farida</th>\n",
" <th>ABOU BACAR Djaha</th>\n",
" <th>AHAMADA Nabaouya</th>\n",
" <th>AHAMADI Faina</th>\n",
" <th>ALI Mardhuia</th>\n",
" <th>ALI SOULAIMANA Chamsia</th>\n",
" <th>ALSENE ALI MADI Stela</th>\n",
" <th>ANDRIATAHIANA Hoby</th>\n",
" <th>ANLI Emeline</th>\n",
" <th>...</th>\n",
" <th>SOILIHI Soifia</th>\n",
" <th>SOUFIANI Laila</th>\n",
" <th>YOUSSOUF Sitirati</th>\n",
" <th>Unnamed: 31</th>\n",
" <th>moyenne</th>\n",
" <th>min</th>\n",
" <th>q1</th>\n",
" <th>Me</th>\n",
" <th>Q3</th>\n",
" <th>max</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>12.000000</td>\n",
" <td>12.000000</td>\n",
" <td>12.00000</td>\n",
" <td>12.000000</td>\n",
" <td>12.000000</td>\n",
" <td>12.000000</td>\n",
" <td>12.000000</td>\n",
" <td>12.000000</td>\n",
" <td>12.000000</td>\n",
" <td>12.000000</td>\n",
" <td>...</td>\n",
" <td>12.000000</td>\n",
" <td>12.000000</td>\n",
" <td>12.000000</td>\n",
" <td>0</td>\n",
" <td>11.000000</td>\n",
" <td>11.000000</td>\n",
" <td>11.000000</td>\n",
" <td>11.000000</td>\n",
" <td>11.000000</td>\n",
" <td>11.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>22.583333</td>\n",
" <td>10.583333</td>\n",
" <td>15.37500</td>\n",
" <td>13.791667</td>\n",
" <td>8.125000</td>\n",
" <td>14.916667</td>\n",
" <td>15.208333</td>\n",
" <td>10.125000</td>\n",
" <td>14.166667</td>\n",
" <td>8.125000</td>\n",
" <td>...</td>\n",
" <td>12.416667</td>\n",
" <td>5.791667</td>\n",
" <td>8.750000</td>\n",
" <td>NaN</td>\n",
" <td>12.530303</td>\n",
" <td>5.090909</td>\n",
" <td>9.363636</td>\n",
" <td>12.613636</td>\n",
" <td>15.784091</td>\n",
" <td>19.681818</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>8.638796</td>\n",
" <td>5.546634</td>\n",
" <td>4.00071</td>\n",
" <td>3.933876</td>\n",
" <td>4.894919</td>\n",
" <td>4.425306</td>\n",
" <td>3.887382</td>\n",
" <td>4.871648</td>\n",
" <td>4.662877</td>\n",
" <td>4.205651</td>\n",
" <td>...</td>\n",
" <td>4.331876</td>\n",
" <td>4.125631</td>\n",
" <td>3.756812</td>\n",
" <td>NaN</td>\n",
" <td>3.542063</td>\n",
" <td>2.861976</td>\n",
" <td>3.142180</td>\n",
" <td>3.846043</td>\n",
" <td>4.025734</td>\n",
" <td>5.870574</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>10.000000</td>\n",
" <td>0.000000</td>\n",
" <td>7.00000</td>\n",
" <td>9.000000</td>\n",
" <td>4.000000</td>\n",
" <td>8.500000</td>\n",
" <td>8.000000</td>\n",
" <td>4.000000</td>\n",
" <td>7.000000</td>\n",
" <td>0.000000</td>\n",
" <td>...</td>\n",
" <td>6.000000</td>\n",
" <td>0.000000</td>\n",
" <td>3.500000</td>\n",
" <td>NaN</td>\n",
" <td>7.033333</td>\n",
" <td>2.500000</td>\n",
" <td>4.625000</td>\n",
" <td>6.750000</td>\n",
" <td>8.875000</td>\n",
" <td>10.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>20.000000</td>\n",
" <td>8.250000</td>\n",
" <td>14.37500</td>\n",
" <td>10.500000</td>\n",
" <td>4.500000</td>\n",
" <td>11.375000</td>\n",
" <td>14.000000</td>\n",
" <td>7.375000</td>\n",
" <td>10.500000</td>\n",
" <td>6.000000</td>\n",
" <td>...</td>\n",
" <td>9.750000</td>\n",
" <td>3.750000</td>\n",
" <td>6.500000</td>\n",
" <td>NaN</td>\n",
" <td>10.016667</td>\n",
" <td>3.500000</td>\n",
" <td>7.687500</td>\n",
" <td>9.875000</td>\n",
" <td>13.187500</td>\n",
" <td>17.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>20.000000</td>\n",
" <td>11.000000</td>\n",
" <td>16.00000</td>\n",
" <td>13.750000</td>\n",
" <td>5.500000</td>\n",
" <td>15.250000</td>\n",
" <td>15.500000</td>\n",
" <td>10.250000</td>\n",
" <td>13.750000</td>\n",
" <td>8.750000</td>\n",
" <td>...</td>\n",
" <td>12.000000</td>\n",
" <td>5.000000</td>\n",
" <td>7.750000</td>\n",
" <td>NaN</td>\n",
" <td>12.133333</td>\n",
" <td>4.500000</td>\n",
" <td>9.250000</td>\n",
" <td>12.500000</td>\n",
" <td>16.000000</td>\n",
" <td>19.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>20.250000</td>\n",
" <td>12.375000</td>\n",
" <td>16.75000</td>\n",
" <td>15.000000</td>\n",
" <td>10.375000</td>\n",
" <td>17.125000</td>\n",
" <td>16.375000</td>\n",
" <td>11.875000</td>\n",
" <td>16.875000</td>\n",
" <td>10.000000</td>\n",
" <td>...</td>\n",
" <td>14.750000</td>\n",
" <td>6.625000</td>\n",
" <td>10.875000</td>\n",
" <td>NaN</td>\n",
" <td>14.583333</td>\n",
" <td>4.750000</td>\n",
" <td>10.875000</td>\n",
" <td>14.875000</td>\n",
" <td>17.312500</td>\n",
" <td>19.250000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>40.000000</td>\n",
" <td>22.000000</td>\n",
" <td>22.00000</td>\n",
" <td>23.000000</td>\n",
" <td>18.000000</td>\n",
" <td>23.000000</td>\n",
" <td>24.000000</td>\n",
" <td>19.500000</td>\n",
" <td>22.500000</td>\n",
" <td>16.000000</td>\n",
" <td>...</td>\n",
" <td>20.500000</td>\n",
" <td>16.000000</td>\n",
" <td>17.500000</td>\n",
" <td>NaN</td>\n",
" <td>19.300000</td>\n",
" <td>12.000000</td>\n",
" <td>14.875000</td>\n",
" <td>20.250000</td>\n",
" <td>22.875000</td>\n",
" <td>31.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8 rows × 38 columns</p>\n",
"</div>"
],
"text/plain": [
" BAREME ABDOU Farida ABOU BACAR Djaha AHAMADA Nabaouya \\\n",
"count 12.000000 12.000000 12.00000 12.000000 \n",
"mean 22.583333 10.583333 15.37500 13.791667 \n",
"std 8.638796 5.546634 4.00071 3.933876 \n",
"min 10.000000 0.000000 7.00000 9.000000 \n",
"25% 20.000000 8.250000 14.37500 10.500000 \n",
"50% 20.000000 11.000000 16.00000 13.750000 \n",
"75% 20.250000 12.375000 16.75000 15.000000 \n",
"max 40.000000 22.000000 22.00000 23.000000 \n",
"\n",
" AHAMADI Faina ALI Mardhuia ALI SOULAIMANA Chamsia \\\n",
"count 12.000000 12.000000 12.000000 \n",
"mean 8.125000 14.916667 15.208333 \n",
"std 4.894919 4.425306 3.887382 \n",
"min 4.000000 8.500000 8.000000 \n",
"25% 4.500000 11.375000 14.000000 \n",
"50% 5.500000 15.250000 15.500000 \n",
"75% 10.375000 17.125000 16.375000 \n",
"max 18.000000 23.000000 24.000000 \n",
"\n",
" ALSENE ALI MADI Stela ANDRIATAHIANA Hoby ANLI Emeline ... \\\n",
"count 12.000000 12.000000 12.000000 ... \n",
"mean 10.125000 14.166667 8.125000 ... \n",
"std 4.871648 4.662877 4.205651 ... \n",
"min 4.000000 7.000000 0.000000 ... \n",
"25% 7.375000 10.500000 6.000000 ... \n",
"50% 10.250000 13.750000 8.750000 ... \n",
"75% 11.875000 16.875000 10.000000 ... \n",
"max 19.500000 22.500000 16.000000 ... \n",
"\n",
" SOILIHI Soifia SOUFIANI Laila YOUSSOUF Sitirati Unnamed: 31 \\\n",
"count 12.000000 12.000000 12.000000 0 \n",
"mean 12.416667 5.791667 8.750000 NaN \n",
"std 4.331876 4.125631 3.756812 NaN \n",
"min 6.000000 0.000000 3.500000 NaN \n",
"25% 9.750000 3.750000 6.500000 NaN \n",
"50% 12.000000 5.000000 7.750000 NaN \n",
"75% 14.750000 6.625000 10.875000 NaN \n",
"max 20.500000 16.000000 17.500000 NaN \n",
"\n",
" moyenne min q1 Me Q3 max \n",
"count 11.000000 11.000000 11.000000 11.000000 11.000000 11.000000 \n",
"mean 12.530303 5.090909 9.363636 12.613636 15.784091 19.681818 \n",
"std 3.542063 2.861976 3.142180 3.846043 4.025734 5.870574 \n",
"min 7.033333 2.500000 4.625000 6.750000 8.875000 10.000000 \n",
"25% 10.016667 3.500000 7.687500 9.875000 13.187500 17.500000 \n",
"50% 12.133333 4.500000 9.250000 12.500000 16.000000 19.000000 \n",
"75% 14.583333 4.750000 10.875000 14.875000 17.312500 19.250000 \n",
"max 19.300000 12.000000 14.875000 20.250000 22.875000 31.000000 \n",
"\n",
"[8 rows x 38 columns]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes.describe()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'barem' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-10-8fe0fc5f6073>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Normalisation des notes de chaque exo\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mnotes_exo_norm\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnotes\u001b[0m \u001b[1;33m/\u001b[0m \u001b[0mbarem\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\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[0m\u001b[0;32m 3\u001b[0m \u001b[1;31m#notes_exo_norm\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0max\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnotes_exo_norm\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mT\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcolor\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"gray\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlegend\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfigsize\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;36m16\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m7\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0md_norm\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnotes_exo_norm\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdescribe\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mNameError\u001b[0m: name 'barem' is not defined"
]
}
],
"source": [
"# Normalisation des notes de chaque exo\n",
"notes_exo_norm = notes / barem.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": 11,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"image/png": "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\nE5EvAYjIyphwnwSgqnd
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0441e3a588>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = notes.hist(figsize = (16,8))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def norma_mean(n):\n",
" return (n / barem).sum(axis=1)/len(n.dropna())*20"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [
{
"ename": "NameError",
"evalue": "(\"name 'barem' is not defined\", 'occurred at index Trimestre 1')",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-14-050bc6750a18>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mnotes\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"Trim2\"\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnotes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnorma_mean\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\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;36mapply\u001b[1;34m(self, func, axis, broadcast, raw, reduce, args, **kwds)\u001b[0m\n\u001b[0;32m 3970\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mreduce\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3971\u001b[0m \u001b[0mreduce\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 3972\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_apply_standard\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreduce\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mreduce\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 3973\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3974\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_apply_broadcast\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\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_apply_standard\u001b[1;34m(self, func, axis, ignore_failures, reduce)\u001b[0m\n\u001b[0;32m 4062\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4063\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mv\u001b[0m \u001b[1;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mseries_gen\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4064\u001b[1;33m \u001b[0mresults\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mv\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4065\u001b[0m \u001b[0mkeys\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mv\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4066\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m<ipython-input-12-1d9385d63cf7>\u001b[0m in \u001b[0;36mnorma_mean\u001b[1;34m(n)\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mnorma_mean\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mn\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[1;32mreturn\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mn\u001b[0m \u001b[1;33m/\u001b[0m \u001b[0mbarem\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msum\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mn\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdropna\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[1;36m20\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;31mNameError\u001b[0m: (\"name 'barem' is not defined\", 'occurred at index Trimestre 1')"
]
}
],
"source": [
"notes[\"Trim2\"] = notes.apply(norma_mean, axis = 1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Brevet blanc février"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Exercice 7</th>\n",
" <th>Exercice 4</th>\n",
" <th>Exercice 5</th>\n",
" <th>Exercice 2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>bareme</th>\n",
" <td>7.0</td>\n",
" <td>4.0</td>\n",
" <td>6.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ABDOU Farida</th>\n",
" <td>3.5</td>\n",
" <td>2.5</td>\n",
" <td>2.5</td>\n",
" <td>0.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ABOU BACAR Djaha</th>\n",
" <td>3.0</td>\n",
" <td>2.5</td>\n",
" <td>4.5</td>\n",
" <td>3.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADA Nabaouya</th>\n",
" <td>5.5</td>\n",
" <td>2.5</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADI Faina</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Exercice 7 Exercice 4 Exercice 5 Exercice 2\n",
"bareme 7.0 4.0 6.0 4.0\n",
"ABDOU Farida 3.5 2.5 2.5 0.5\n",
"ABOU BACAR Djaha 3.0 2.5 4.5 3.5\n",
"AHAMADA Nabaouya 5.5 2.5 2.0 0.0\n",
"AHAMADI Faina 0.0 0.0 0.0 0.0"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BB_fev = all_notes.parse('BB_16_02_15')\n",
"BB_fev = BB_fev.T[[ 'Exercice 7', 'Exercice 4', 'Exercice 5', 'Exercice 2']]\n",
"BB_fev.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Récupération des élèves n'ayant pas la moyenne trié par priorité"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/lib/python3.5/site-packages/ipykernel/__main__.py:1: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)\n",
" if __name__ == '__main__':\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Exercice 7</th>\n",
" <th>Exercice 4</th>\n",
" <th>Exercice 5</th>\n",
" <th>Exercice 2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>AHAMADI Faina</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>CHANFI Nadhrati</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SOILIHI Soifia</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SOUFIANI Laila</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>YOUSSOUF Sitirati</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>OUSSENI Hilma</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ALSENE ALI MADI Stela</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ANLI Emeline</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HAMZA Samianti</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HOUMADI Nasmi</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SANDA Issoufi</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ALI SOULAIMANA Chamsia</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HOUMADI Dhoirfia</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HOUMADI Mouslimati</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>LOUTOUFI Nachima</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MALIDE El-Anzize</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ALI Mardhuia</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ATHOUMANE Naouidat</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HALIDI Nisma</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HOUMADI Chaharazadi</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SAANLI Natali</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SAID AHAMADA Roukaya</th>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADA Nabaouya</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MOUSSA Roibouanti</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ABDOU Farida</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ANDRIATAHIANA Hoby</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>bareme</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ABOU BACAR Djaha</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BOUDRA Nassifanya</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>COMBO Moinécha</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MONNE Kevin</th>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" <td>True</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Exercice 7 Exercice 4 Exercice 5 Exercice 2\n",
"AHAMADI Faina False False False False\n",
"CHANFI Nadhrati False False False False\n",
"SOILIHI Soifia False False False False\n",
"SOUFIANI Laila False False False False\n",
"YOUSSOUF Sitirati False False True False\n",
"OUSSENI Hilma False False True True\n",
"ALSENE ALI MADI Stela True False False False\n",
"ANLI Emeline True False False False\n",
"HAMZA Samianti True False False False\n",
"HOUMADI Nasmi True False False False\n",
"SANDA Issoufi True False False False\n",
"ALI SOULAIMANA Chamsia True False False True\n",
"HOUMADI Dhoirfia True False False True\n",
"HOUMADI Mouslimati True False True False\n",
"LOUTOUFI Nachima True False True False\n",
"MALIDE El-Anzize True False True False\n",
"ALI Mardhuia True False True True\n",
"ATHOUMANE Naouidat True False True True\n",
"HALIDI Nisma True False True True\n",
"HOUMADI Chaharazadi True False True True\n",
"SAANLI Natali True False True True\n",
"SAID AHAMADA Roukaya True False True True\n",
"AHAMADA Nabaouya True True False False\n",
"MOUSSA Roibouanti True True False True\n",
"ABDOU Farida True True True False\n",
"ANDRIATAHIANA Hoby True True True False\n",
"bareme True True True True\n",
"ABOU BACAR Djaha True True True True\n",
"BOUDRA Nassifanya True True True True\n",
"COMBO Moinécha True True True True\n",
"MONNE Kevin True True True True"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"((BB_fev / BB_fev.T['bareme']) > 0.4).sort(['Exercice 7', 'Exercice 4', 'Exercice 5', 'Exercice 2'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Élèves à soucis dans exo 1 (Calcul littéral)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['ABDOU Farida', 'AHAMADA Nabaouya', 'AHAMADI Faina', 'ALI Mardhuia',\n",
" 'ALI SOULAIMANA Chamsia', 'ALSENE ALI MADI Stela', 'ANLI Emeline',\n",
" 'ATHOUMANE Naouidat', 'CHANFI Nadhrati', 'HAMZA Samianti',\n",
" 'HOUMADI Mouslimati', 'HOUMADI Nasmi', 'MALIDE El-Anzize',\n",
" 'MOUSSA Roibouanti', 'OUSSENI Hilma', 'SANDA Issoufi', 'SOUFIANI Laila',\n",
" 'YOUSSOUF Sitirati'],\n",
" dtype='object')"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BB_fev.T[BB_fev.T['Exercice 1']<3].index"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Élèves à soucis dans exo 2 (géométrie)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['ABDOU Farida', 'AHAMADA Nabaouya', 'AHAMADI Faina',\n",
" 'ALSENE ALI MADI Stela', 'ANDRIATAHIANA Hoby', 'ANLI Emeline',\n",
" 'CHANFI Nadhrati', 'HAMZA Samianti', 'HOUMADI Mouslimati',\n",
" 'HOUMADI Nasmi', 'LOUTOUFI Nachima', 'MALIDE El-Anzize',\n",
" 'SANDA Issoufi', 'SOILIHI Soifia', 'SOUFIANI Laila',\n",
" 'YOUSSOUF Sitirati'],\n",
" dtype='object')"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BB_fev.T[BB_fev.T['Exercice 2']<2].index"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['AHAMADI Faina', 'ALI Mardhuia', 'ALI SOULAIMANA Chamsia',\n",
" 'ALSENE ALI MADI Stela', 'ANLI Emeline', 'ATHOUMANE Naouidat',\n",
" 'CHANFI Nadhrati', 'HALIDI Nisma', 'HAMZA Samianti',\n",
" 'HOUMADI Mouslimati', 'HOUMADI Chaharazadi', 'HOUMADI Nasmi',\n",
" 'HOUMADI Dhoirfia', 'LOUTOUFI Nachima', 'MALIDE El-Anzize',\n",
" 'OUSSENI Hilma', 'SAANLI Natali', 'SAID AHAMADA Roukaya',\n",
" 'SANDA Issoufi', 'SOILIHI Soifia', 'SOUFIANI Laila',\n",
" 'YOUSSOUF Sitirati'],\n",
" dtype='object')"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BB_fev.T[BB_fev.T['Exercice 4']<1.5].index"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['ABDOU Farida', 'AHAMADA Nabaouya', 'AHAMADI Faina',\n",
" 'ALI SOULAIMANA Chamsia', 'ALSENE ALI MADI Stela', 'ANDRIATAHIANA Hoby',\n",
" 'ANLI Emeline', 'ATHOUMANE Naouidat', 'CHANFI Nadhrati',\n",
" 'HAMZA Samianti', 'HOUMADI Nasmi', 'HOUMADI Dhoirfia',\n",
" 'LOUTOUFI Nachima', 'MALIDE El-Anzize', 'MOUSSA Roibouanti',\n",
" 'OUSSENI Hilma', 'SANDA Issoufi', 'SOILIHI Soifia', 'SOUFIANI Laila',\n",
" 'YOUSSOUF Sitirati'],\n",
" dtype='object')"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BB_fev.T[BB_fev.T['Exercice 5']<3].index"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['ABDOU Farida', 'ABOU BACAR Djaha', 'AHAMADA Nabaouya', 'AHAMADI Faina',\n",
" 'ALI Mardhuia', 'ALI SOULAIMANA Chamsia', 'ALSENE ALI MADI Stela',\n",
" 'ANDRIATAHIANA Hoby', 'ANLI Emeline', 'ATHOUMANE Naouidat',\n",
" 'BOUDRA Nassifanya', 'CHANFI Nadhrati', 'HALIDI Nisma',\n",
" 'HAMZA Samianti', 'HOUMADI Mouslimati', 'HOUMADI Chaharazadi',\n",
" 'HOUMADI Nasmi', 'HOUMADI Dhoirfia', 'LOUTOUFI Nachima',\n",
" 'MALIDE El-Anzize', 'MONNE Kevin', 'MOUSSA Roibouanti', 'OUSSENI Hilma',\n",
" 'SAANLI Natali', 'SAID AHAMADA Roukaya', 'SANDA Issoufi',\n",
" 'SOILIHI Soifia', 'SOUFIANI Laila', 'YOUSSOUF Sitirati'],\n",
" dtype='object')"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BB_fev.T[BB_fev.T['Exercice 6']<2].index"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['AHAMADI Faina', 'CHANFI Nadhrati', 'OUSSENI Hilma', 'SOILIHI Soifia',\n",
" 'SOUFIANI Laila', 'YOUSSOUF Sitirati'],\n",
" dtype='object')"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BB_fev.T[BB_fev.T['Exercice 7']<3].index"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"BB_fev.T[]"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## Bilan 2e trimestre"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"ds_name = 'notes'\n",
"notes = all_notes.parse(ds_name)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"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>DS_15_11_27</th>\n",
" <th>DM_15_12_09</th>\n",
" <th>Boulettes</th>\n",
" <th>BB_16_01_23</th>\n",
" <th>DM_16_01_29</th>\n",
" <th>Brevet blanc Fevrier</th>\n",
" <th>Conn trimestre 2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>ABDOU Farida</th>\n",
" <td>8.5</td>\n",
" <td>12.0</td>\n",
" <td>13.5</td>\n",
" <td>22.0</td>\n",
" <td>12.0</td>\n",
" <td>16.0</td>\n",
" <td>11.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ABOU BACAR Djaha</th>\n",
" <td>7.0</td>\n",
" <td>14.0</td>\n",
" <td>14.5</td>\n",
" <td>20.0</td>\n",
" <td>16.5</td>\n",
" <td>22.0</td>\n",
" <td>14.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADA Nabaouya</th>\n",
" <td>10.5</td>\n",
" <td>10.5</td>\n",
" <td>14.5</td>\n",
" <td>23.0</td>\n",
" <td>14.5</td>\n",
" <td>16.5</td>\n",
" <td>12.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADI Faina</th>\n",
" <td>4.5</td>\n",
" <td>8.5</td>\n",
" <td>14.5</td>\n",
" <td>9.0</td>\n",
" <td>14.5</td>\n",
" <td>5.0</td>\n",
" <td>5.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ALI Mardhuia</th>\n",
" <td>12.5</td>\n",
" <td>10.0</td>\n",
" <td>15.5</td>\n",
" <td>20.5</td>\n",
" <td>19.0</td>\n",
" <td>23.0</td>\n",
" <td>16.5</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" DS_15_11_27 DM_15_12_09 Boulettes BB_16_01_23 \\\n",
"ABDOU Farida 8.5 12.0 13.5 22.0 \n",
"ABOU BACAR Djaha 7.0 14.0 14.5 20.0 \n",
"AHAMADA Nabaouya 10.5 10.5 14.5 23.0 \n",
"AHAMADI Faina 4.5 8.5 14.5 9.0 \n",
"ALI Mardhuia 12.5 10.0 15.5 20.5 \n",
"\n",
" DM_16_01_29 Brevet blanc Fevrier Conn trimestre 2 \n",
"ABDOU Farida 12.0 16.0 11.5 \n",
"ABOU BACAR Djaha 16.5 22.0 14.5 \n",
"AHAMADA Nabaouya 14.5 16.5 12.0 \n",
"AHAMADI Faina 14.5 5.0 5.5 \n",
"ALI Mardhuia 19.0 23.0 16.5 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trim2 = notes[8:].T\n",
"barem = trim2.iloc[0]\n",
"eleveT2 = trim2.iloc[1:31]\n",
"eleveT2.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Par élève"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from ipywidgets import interact, interactive"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Normalisation des notes de chaque exo\n",
"eleveT2_norm = eleveT2 / barem.values"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\nGBiop3PvkWf3di/2dKb
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0427fcc320>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def f(x):\n",
" ax = eleveT2_norm.T.plot(color = \"gray\", legend = False, figsize = (16, 7))\n",
" d_norm = eleveT2_norm.describe()\n",
" d_norm.T[[\"min\", \"25%\", \"50%\", \"75%\", \"max\"]].plot(ax=ax, kind=\"area\", stacked = False, alpha=.1)\n",
" eleveT2_norm.loc[x].plot(ax=ax, color=\"red\", alpha = 1)\n",
"\n",
"\n",
" \n",
"interact(f, x = list(eleveT2_norm.index))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Analyse par élève "
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from ipywidgets import interact, interactive"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "IndexError",
"evalue": "too many indices for array",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-46-fc504a96f3c6>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Normalisation des notes de chaque exo\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mnotes_exo_norm\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnotes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfilter\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mregex\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"Conn\"\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m/\u001b[0m \u001b[0mbarem\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\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[0m\u001b[0;32m 3\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;31m#notes_exo_norm\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0max\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnotes_exo_norm\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mT\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcolor\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"gray\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlegend\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfigsize\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;36m16\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m7\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mIndexError\u001b[0m: too many indices for array"
]
}
],
"source": [
"# Normalisation des notes de chaque exo\n",
"notes_exo_norm = notes.filter(regex=\"Conn\") / barem.values[0,:]\n",
"def f(x):\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)\n",
" notes_exo_norm.loc[x].plot(ax=ax, color=\"red\", alpha = 1)\n",
"\n",
" \n",
"interact(f, x = list(notes.index))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 3e trimestre"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## DM_16_03_30"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ds_name = 'DM_16_03_30'\n",
"notes = all_notes.parse(ds_name).T"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"{'classe': '309', 'date': '30 mars 2016', 'titre': 'Devoir maison 5'}"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"latex_info = {}\n",
"latex_info['titre'] = \"Devoir maison 5\"\n",
"latex_info['classe'] = \"309\"\n",
"latex_info['date'] = \"30 mars 2016\"\n",
"latex_info"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"barem = notes[:1]\n",
"notes = notes[1:]"
]
},
{
"cell_type": "code",
"execution_count": 49,
"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>DM_16_03_30</th>\n",
" <th>Malus</th>\n",
" <th>Exercice 1</th>\n",
" <th>1.1 Developper</th>\n",
" <th>1.2 Developper</th>\n",
" <th>1.3 Double developpement</th>\n",
" <th>1.4 Developpement carré</th>\n",
" <th>Exercice 2</th>\n",
" <th>2.1 Addition fraction</th>\n",
" <th>2.2 Multiplication fractions</th>\n",
" <th>...</th>\n",
" <th>Equation *</th>\n",
" <th>Equation fraction</th>\n",
" <th>equation simple</th>\n",
" <th>equation complexe</th>\n",
" <th>Exercice 4</th>\n",
" <th>Calcul angle</th>\n",
" <th>Angle alterne</th>\n",
" <th>Calcul longueur</th>\n",
" <th>2 methodes</th>\n",
" <th>Arrondi</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Bareme</th>\n",
" <td>20</td>\n",
" <td>NaN</td>\n",
" <td>6</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>...</td>\n",
" <td>0.5</td>\n",
" <td>0.5</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>1.5</td>\n",
" <td>1</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" <td>0.5</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" DM_16_03_30 Malus Exercice 1 1.1 Developper 1.2 Developper \\\n",
"Bareme 20 NaN 6 1.5 1.5 \n",
"\n",
" 1.3 Double developpement 1.4 Developpement carré Exercice 2 \\\n",
"Bareme 1.5 1.5 4 \n",
"\n",
" 2.1 Addition fraction 2.2 Multiplication fractions ... \\\n",
"Bareme 1 1 ... \n",
"\n",
" Equation * Equation fraction equation simple equation complexe \\\n",
"Bareme 0.5 0.5 1 1 \n",
"\n",
" Exercice 4 Calcul angle Angle alterne Calcul longueur 2 methodes \\\n",
"Bareme 6 1.5 1 1.5 1.5 \n",
"\n",
" Arrondi \n",
"Bareme 0.5 \n",
"\n",
"[1 rows x 25 columns]"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"barem\n",
"#notes.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Suppression des notes inutiles"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"notes = notes[notes[ds_name].notnull()]"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"notes = notes.astype(float)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Traitement des notes"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['DM_16_03_30', 'Malus', 'Exercice 1', '1.1 Developper',\n",
" '1.2 Developper', '1.3 Double developpement', '1.4 Developpement carré',\n",
" 'Exercice 2', '2.1 Addition fraction', '2.2 Multiplication fractions',\n",
" '2.3 addition Fraction', '2.4 Multiplication Fraction', 'Exercice 3',\n",
" 'Equation +', 'Equation - ', 'Equation *', 'Equation fraction',\n",
" 'equation simple', 'equation complexe', 'Exercice 4', 'Calcul angle',\n",
" 'Angle alterne', 'Calcul longueur', '2 methodes', 'Arrondi'],\n",
" dtype='object')"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes.T.index"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"['Exercice 1', 'Exercice 2', 'Exercice 3', 'Exercice 4']"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list_exo = [\"Exercice \"+str(i+1) for i in range(4)]\n",
"list_exo"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"notes[list_exo] = notes[list_exo].applymap(lambda x:round(x,2))\n",
"#notes[list_exo]"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"autres_notes = ['Malus']"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"collapsed": true
},
"outputs": [],
"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": 57,
"metadata": {
"collapsed": true
},
"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": 58,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"notes[item_avec_note] = notes[item_avec_note].fillna(\".\")\n",
"#notes.head()"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"eleves = notes.copy()\n",
"eleves[sous_exo] = notes[sous_exo].applymap(toRepVal)"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#eleves.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Statistiques"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/plain": [
"count 29.000000\n",
"mean 13.034483\n",
"std 4.638602\n",
"min 2.000000\n",
"25% 10.000000\n",
"50% 14.500000\n",
"75% 16.500000\n",
"max 19.000000\n",
"Name: DM_16_03_30, dtype: float64"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes[ds_name].describe()"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f8fd391c1d0>"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nlXzO6OnmjfqVZsmQt/2
"text/plain": [
"<matplotlib.figure.Figure at 0x7f8fd394f898>"
]
},
"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]), )\n",
"ax.set_xlabel(\"Notes\")\n",
"ax.set_ylabel(\"Effectif\")\n",
"#notes_seules.hist()"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f8fd3989c50>"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nEcnHhWPawS8/+SX5efm
"text/plain": [
"<matplotlib.figure.Figure at 0x7f8fd391c5f8>"
]
},
"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, )\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": 64,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"bilan = texenv.get_template(\"./tpl_bilan.tex\")\n",
"cible_bilan = \"../3e/DM/DM_16_03_23/Bilan/\""
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"bilan = texenv.get_template(\"tpl_bilan.tex\")\n",
"with open(cible_bilan+\"./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": {
"collapsed": true
},
"source": [
"## BB_16_04_02"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ds_name = 'BB_16_04_02'\n",
"notes = all_notes.parse(ds_name).T"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"barem = notes[:1]\n",
"notes = notes[1:]"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#barem\n",
"#notes.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Suppression des notes inutiles"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"notes = notes[notes[ds_name].notnull()]"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"notes = notes.astype(float)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Traitement des notes"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['BB_16_04_02', 'Présentation', 'Exercice 1', '1.1.a Tableau',\n",
" '1.1.b formule', '1.1.c Nom fonction', '1.2.a Nombre machine',\n",
" '1.2.b Tableau', '1.2.c Formule', '1.3.a Graphique',\n",
" '1.3.b Comparaison', 'Exercice 2', '2.1 Trignonométrie', '2.1 Arrondi',\n",
" '2.2 Réponse', '2.2 Méthode', 'Exercice 3', '3.1 Probabilité',\n",
" '3.2 Nbr issues', '3.3 Points restants', 'Exercice 4', '4 Sophie',\n",
" '4 Martin', '4 Gabriel', '4 Faiza', 'Exercice 5'],\n",
" dtype='object')"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes.T.index"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"['Exercice 1', 'Exercice 2', 'Exercice 3', 'Exercice 4', 'Exercice 5']"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list_exo = [\"Exercice \"+str(i+1) for i in range(5)]\n",
"list_exo"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes[list_exo] = notes[list_exo].applymap(lambda x:round(x,2))\n",
"#notes[list_exo].head()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"autres_notes = ['Présentation']"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": true
},
"outputs": [],
"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": 24,
"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": 26,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes[item_avec_note] = notes[item_avec_note].fillna(\".\")\n",
"#notes.head()"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"eleves = notes.copy()\n",
"eleves[sous_exo] = notes[sous_exo].applymap(toRepVal)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Statistiques"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 30.000000\n",
"mean 12.850000\n",
"std 4.512721\n",
"min 0.000000\n",
"25% 10.500000\n",
"50% 12.750000\n",
"75% 15.250000\n",
"max 21.000000\n",
"Name: BB_16_04_02, dtype: float64"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes[ds_name].describe()"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7f3a4de345f8>"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n6wuy8y6p1W651XV1Yec
"text/plain": [
"<matplotlib.figure.Figure at 0x7f3a4deabbe0>"
]
},
"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]), )\n",
"ax.set_xlabel(\"Notes\")\n",
"ax.set_ylabel(\"Effectif\")\n",
"#notes_seules.hist()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Bilan tex"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"{'classe': '309', 'date': '02 Avril 2016', 'titre': 'Brevet Blanc'}"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"latex_info = {}\n",
"latex_info['titre'] = \"Brevet Blanc\"\n",
"latex_info['classe'] = \"309\"\n",
"latex_info['date'] = \"02 Avril 2016\"\n",
"latex_info"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"bilan = texenv.get_template(\"./tpl_bilan.tex\")\n",
"cible_bilan = \"../3e/DS/\"+ds_name+\"/Bilan/\""
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"with open(cible_bilan+\"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": [
"## BB_16_04_19"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"ds_name = 'BB_16_04_19'\n",
"notes = all_notes.parse(ds_name).T"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"barem = notes[:1]\n",
"notes = notes[1:]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"notes = notes[notes[\"BB_16_04_19\"]!=0]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 29.000000\n",
"mean 15.431034\n",
"std 6.528405\n",
"min 5.000000\n",
"25% 12.000000\n",
"50% 15.000000\n",
"75% 17.500000\n",
"max 30.000000\n",
"Name: BB_16_04_19, dtype: float64"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes['BB_16_04_19'].describe()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7ff5953731d0>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nBwzACR0wAACNYAB3one
"text/plain": [
"<matplotlib.figure.Figure at 0x7ff5953912e8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"notes[\"BB_16_04_19\"].hist(bins = barem[ds_name][0], range=(0,barem[ds_name][0]),)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## DM_16_05_18"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"ds_name = 'DM_16_05_18'\n",
"notes = all_notes.parse(ds_name).T"
]
},
{
"cell_type": "code",
"execution_count": 9,
"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>DM_16_05_18</th>\n",
" <th>Malus</th>\n",
" <th>Exercice 1</th>\n",
" <th>Dev 1</th>\n",
" <th>Dev 2</th>\n",
" <th>Dev 3</th>\n",
" <th>Dev 4</th>\n",
" <th>Facto 1</th>\n",
" <th>Facto 2</th>\n",
" <th>Facto 3</th>\n",
" <th>...</th>\n",
" <th>Equation deux cotes</th>\n",
" <th>Exercice 3</th>\n",
" <th>Proba</th>\n",
" <th>Proba ou</th>\n",
" <th>Proba comparaison</th>\n",
" <th>Tableau</th>\n",
" <th>Fréquence</th>\n",
" <th>Nombre points</th>\n",
" <th>Moyenne</th>\n",
" <th>Médiane</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>ABDOU Farida</th>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>0.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>0.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</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>ABOU BACAR Djaha</th>\n",
" <td>11</td>\n",
" <td>NaN</td>\n",
" <td>3.333333</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>...</td>\n",
" <td>1</td>\n",
" <td>5.666667</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADA Nabaouya</th>\n",
" <td>13</td>\n",
" <td>NaN</td>\n",
" <td>5.333333</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>...</td>\n",
" <td>1</td>\n",
" <td>5.666667</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADI Faina</th>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>0.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>0.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</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>ALI Mardhuia</th>\n",
" <td>11</td>\n",
" <td>NaN</td>\n",
" <td>0.666667</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>2</td>\n",
" <td>7.333333</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" DM_16_05_18 Malus Exercice 1 Dev 1 Dev 2 Dev 3 Dev 4 \\\n",
"ABDOU Farida 0 NaN 0.000000 NaN NaN NaN NaN \n",
"ABOU BACAR Djaha 11 NaN 3.333333 3 1 0 0 \n",
"AHAMADA Nabaouya 13 NaN 5.333333 2 1 1 3 \n",
"AHAMADI Faina 0 NaN 0.000000 NaN NaN NaN NaN \n",
"ALI Mardhuia 11 NaN 0.666667 0 2 0 0 \n",
"\n",
" Facto 1 Facto 2 Facto 3 ... Equation deux cotes \\\n",
"ABDOU Farida NaN NaN NaN ... NaN \n",
"ABOU BACAR Djaha 2 2 2 ... 1 \n",
"AHAMADA Nabaouya 3 3 3 ... 1 \n",
"AHAMADI Faina NaN NaN NaN ... NaN \n",
"ALI Mardhuia NaN NaN NaN ... 2 \n",
"\n",
" Exercice 3 Proba Proba ou Proba comparaison Tableau \\\n",
"ABDOU Farida 0.000000 NaN NaN NaN NaN \n",
"ABOU BACAR Djaha 5.666667 3 NaN 3 3 \n",
"AHAMADA Nabaouya 5.666667 3 3 3 3 \n",
"AHAMADI Faina 0.000000 NaN NaN NaN NaN \n",
"ALI Mardhuia 7.333333 3 3 3 3 \n",
"\n",
" Fréquence Nombre points Moyenne Médiane \n",
"ABDOU Farida NaN NaN NaN NaN \n",
"ABOU BACAR Djaha 3 3 1 1 \n",
"AHAMADA Nabaouya 0 3 1 1 \n",
"AHAMADI Faina NaN NaN NaN NaN \n",
"ALI Mardhuia 1 3 3 3 \n",
"\n",
"[5 rows x 25 columns]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"barem = notes[:1]\n",
"notes = notes[1:]\n",
"notes.head()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"notes = notes[notes[ds_name]!=0]"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 25.000000\n",
"mean 13.300000\n",
"std 3.455069\n",
"min 3.500000\n",
"25% 11.000000\n",
"50% 13.000000\n",
"75% 16.500000\n",
"max 18.500000\n",
"Name: DM_16_05_18, dtype: float64"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes[ds_name].describe()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f0f34cacd30>"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n73WSPNhu390xIh3wqG6
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0f22831c18>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Traitement et bilan"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['DM_16_05_18', 'Malus', 'Exercice 1', 'Dev 1', 'Dev 2', 'Dev 3',\n",
" 'Dev 4', 'Facto 1', 'Facto 2', 'Facto 3', 'Facto identité remarquable',\n",
" 'Exercice 2', 'Equation simple', 'Equation fraction',\n",
" 'Equation simple 2', 'Equation deux cotes', 'Exercice 3', 'Proba ',\n",
" 'Proba ou', 'Proba comparaison', 'Tableau', 'Fréquence',\n",
" 'Nombre points', 'Moyenne', 'Médiane'],\n",
" dtype='object')"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes.columns"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"['Exercice 1', 'Exercice 2', 'Exercice 3']"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list_exo = [\"Exercice \"+str(i+1) for i in range(3)]\n",
"list_exo"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/lafrite/.virtualenvs/enseignement/lib/python3.5/site-packages/pandas/core/frame.py:2320: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
" self[k1] = value[k2]\n"
]
}
],
"source": [
"notes[list_exo] = notes[list_exo].applymap(lambda x:round(x,2))\n",
"#notes[list_exo].head()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"autres_notes = ['Malus']"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": true
},
"outputs": [],
"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": 26,
"metadata": {
"collapsed": true
},
"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": 27,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"notes[item_avec_note] = notes[item_avec_note].fillna(\".\")\n",
"#notes.head()"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"eleves = notes.copy()\n",
"eleves[sous_exo] = notes[sous_exo].applymap(toRepVal)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"{'classe': '309', 'date': '28 mai 2016', 'titre': 'DM 6'}"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"latex_info = {}\n",
"latex_info['titre'] = \"DM 6\"\n",
"latex_info['classe'] = \"309\"\n",
"latex_info['date'] = \"28 mai 2016\"\n",
"latex_info"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"bilan = texenv.get_template(\"./tpl_bilan.tex\")\n",
"cible_bilan = \"../3e/DM/\"+ds_name+\"/Bilan/\""
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"with open(cible_bilan+\"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": [
"## Bilan 3e trimestre"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"ds_name = \"notes\"\n",
"notes = all_notes.parse(ds_name)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['DM_16_03_30', 'BB_16_04_02', 'BB_16_04_19', 'DM_16_05_18',\n",
" 'BB_16_06_03', 'Conn trimestre 3'],\n",
" dtype='object')"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notes[17:].index"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"trim3 = notes[17:].T"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"barem = trim3[:1]\n",
"notesT3 = trim3[1:31]"
]
},
{
"cell_type": "code",
"execution_count": 24,
"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>DM_16_03_30</th>\n",
" <th>BB_16_04_02</th>\n",
" <th>BB_16_04_19</th>\n",
" <th>DM_16_05_18</th>\n",
" <th>BB_16_06_03</th>\n",
" <th>Conn trimestre 3</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>BAREME</th>\n",
" <td>20</td>\n",
" <td>31</td>\n",
" <td>41</td>\n",
" <td>20</td>\n",
" <td>37</td>\n",
" <td>20</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" DM_16_03_30 BB_16_04_02 BB_16_04_19 DM_16_05_18 BB_16_06_03 \\\n",
"BAREME 20 31 41 20 37 \n",
"\n",
" Conn trimestre 3 \n",
"BAREME 20 "
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"barem"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"ABDOU Farida 11.5\n",
"ABOU BACAR Djaha 14.5\n",
"AHAMADA Nabaouya 8.0\n",
"AHAMADI Faina 10.5\n",
"ALI Mardhuia 11.0\n",
"ALI SOULAIMANA Chamsia 13.5\n",
"ALSENE ALI MADI Stela 3.5\n",
"ANDRIATAHIANA Hoby 13.5\n",
"ANLI Emeline 10.5\n",
"ATHOUMANE Naouidat 11.5\n",
"BOUDRA Nassifanya 18.0\n",
"CHANFI Nadhrati 2.5\n",
"COMBO Moinécha 15.5\n",
"HALIDI Nisma 15.0\n",
"HAMZA Samianti 8.5\n",
"HOUMADI Chaharazadi 14.0\n",
"HOUMADI Dhoirfia 15.0\n",
"HOUMADI Mouslimati 8.0\n",
"HOUMADI Nasmi 17.0\n",
"LOUTOUFI Nachima 10.0\n",
"MALIDE El-Anzize 16.5\n",
"MONNE Kevin 11.0\n",
"MOUSSA Roibouanti 16.0\n",
"OUSSENI Hilma 13.5\n",
"SAANLI Natali 19.0\n",
"SAID AHAMADA Roukaya 15.5\n",
"SANDA Issoufi 8.5\n",
"SOILIHI Soifia 11.0\n",
"SOUFIANI Laila 4.0\n",
"YOUSSOUF Sitirati 6.0\n",
"Name: Conn trimestre 3, dtype: float64"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"notesT3['Conn trimestre 3'].sort_index()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Preparation du fichier .tex"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"latex_info = {}\n",
"latex_info['titre'] = \"\"\n",
"latex_info['classe'] = \"\"\n",
"latex_info['date'] = \"\"\n",
"latex_info"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"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": {
"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
}