Skip to content

Instantly share code, notes, and snippets.

@xgarrido
Last active April 23, 2021 12:55
Show Gist options
  • Save xgarrido/c277794b01405455785b2a7c4e4a6bea to your computer and use it in GitHub Desktop.
Save xgarrido/c277794b01405455785b2a7c4e4a6bea to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Bilan résultats examen L3 Python 2020 - 2021 "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import seaborn as sns\n",
"\n",
"sns.set_theme(\n",
" style=\"ticks\",\n",
" rc={\"figure.figsize\": (8, 8), \"axes.spines.top\": False, \"axes.spines.right\": False},\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Lecture du fichier"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <th>5</th>\n",
" <th>6</th>\n",
" <th>7</th>\n",
" <th>8</th>\n",
" <th>9</th>\n",
" <th>10</th>\n",
" <th>11</th>\n",
" <th>notes</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>23/04/2021 12:32:09</td>\n",
" <td>h305-01</td>\n",
" <td>25%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>9.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>23/04/2021 12:36:20</td>\n",
" <td>h305-03</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>12.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>23/04/2021 12:44:33</td>\n",
" <td>h305-06</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>15.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>23/04/2021 13:41:51</td>\n",
" <td>h305-08</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>50%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>14.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>23/04/2021 13:46:00</td>\n",
" <td>h305-10</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>16.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>23/04/2021 13:49:16</td>\n",
" <td>h305-11</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>11.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>23/04/2021 13:52:45</td>\n",
" <td>h305-14</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>25%</td>\n",
" <td>0%</td>\n",
" <td>0%</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>23/04/2021 13:57:35</td>\n",
" <td>h305-16</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>12.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>23/04/2021 14:00:14</td>\n",
" <td>h305-18</td>\n",
" <td>25%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>50%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>23/04/2021 14:05:08</td>\n",
" <td>h305-19</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>75%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>75%</td>\n",
" <td>16.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>23/04/2021 14:07:40</td>\n",
" <td>h305-21</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>50%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>13.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>23/04/2021 14:10:23</td>\n",
" <td>h305-24</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>15.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>23/04/2021 14:12:31</td>\n",
" <td>h305-25</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>16.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>23/04/2021 14:15:10</td>\n",
" <td>h305-28</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>15.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>23/04/2021 14:18:31</td>\n",
" <td>h305-30</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>0%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>12.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>23/04/2021 14:22:32</td>\n",
" <td>h306-01</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>0%</td>\n",
" <td>15.75</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4 5 6 7 8 \\\n",
"0 23/04/2021 12:32:09 h305-01 25% 100% 0% 0% 100% 100% 0% \n",
"1 23/04/2021 12:36:20 h305-03 100% 75% 0% 100% 75% 100% 25% \n",
"2 23/04/2021 12:44:33 h305-06 100% 100% 0% 75% 100% 100% 50% \n",
"3 23/04/2021 13:41:51 h305-08 100% 100% 75% 50% 75% 100% 25% \n",
"4 23/04/2021 13:46:00 h305-10 100% 100% 75% 100% 100% 100% 25% \n",
"5 23/04/2021 13:49:16 h305-11 100% 100% 0% 100% 50% 100% 0% \n",
"6 23/04/2021 13:52:45 h305-14 50% 100% 50% 100% 75% 100% 0% \n",
"7 23/04/2021 13:57:35 h305-16 100% 100% 0% 0% 100% 100% 75% \n",
"8 23/04/2021 14:00:14 h305-18 25% 100% 75% 50% 0% 100% 0% \n",
"9 23/04/2021 14:05:08 h305-19 100% 100% 75% 75% 75% 100% 50% \n",
"10 23/04/2021 14:07:40 h305-21 100% 100% 25% 50% 75% 100% 50% \n",
"11 23/04/2021 14:10:23 h305-24 100% 100% 100% 50% 75% 100% 50% \n",
"12 23/04/2021 14:12:31 h305-25 100% 100% 75% 100% 100% 100% 50% \n",
"13 23/04/2021 14:15:10 h305-28 100% 75% 0% 100% 75% 100% 100% \n",
"14 23/04/2021 14:18:31 h305-30 100% 100% 0% 0% 75% 100% 50% \n",
"15 23/04/2021 14:22:32 h306-01 100% 100% 100% 100% 75% 100% 75% \n",
"\n",
" 9 10 11 notes \n",
"0 100% 100% 0% 9.00 \n",
"1 100% 100% 0% 12.00 \n",
"2 100% 100% 75% 15.75 \n",
"3 100% 100% 50% 14.50 \n",
"4 100% 100% 50% 16.25 \n",
"5 100% 100% 0% 11.00 \n",
"6 25% 0% 0% 10.00 \n",
"7 100% 100% 0% 12.75 \n",
"8 100% 100% 50% 10.00 \n",
"9 100% 75% 75% 16.25 \n",
"10 100% 100% 25% 13.50 \n",
"11 100% 100% 50% 15.75 \n",
"12 100% 100% 25% 16.25 \n",
"13 100% 100% 25% 15.00 \n",
"14 100% 100% 50% 12.75 \n",
"15 100% 75% 0% 15.75 "
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"\n",
"df = pd.read_csv(\n",
" \"https://docs.google.com/spreadsheets/d/15poSZ2DrtZDt_urFYrRjeBseloAOFqvT87HCyPvkqEE/export?gid=1793266644&format=csv\",\n",
" skiprows=2,\n",
" header=None,\n",
")\n",
"\n",
"df.rename(columns={12: \"notes\", 13: \"nom\", 14: \"prenom\", 25: \"sexe\"}, inplace=True)\n",
"df[\"notes\"] = df[\"notes\"].str.replace(\",\", \".\").astype(float)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Résultats par exercice"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"def plot_mark_by_exercice(cols):\n",
" ex = df.iloc[:, cols].melt()\n",
" ex[\"variable\"] -= cols[0]\n",
"\n",
" ex[\"value\"] = ex[\"value\"].str.strip(\"%\").astype(float)\n",
" ex.rename(columns={\"variable\": \"question\", \"value\": \"note [%]\"}, inplace=True)\n",
"\n",
" sns.catplot(data=ex, x=\"note [%]\", col=\"question\", kind=\"count\", col_wrap=5)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABw0AAALVCAYAAAAyIn6UAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAAsTAAALEwEAmpwYAABd5UlEQVR4nOzdfZyVdZ0//tcww+DtLN4iomlaIuUNxPw0S2uFvFlFjFYXBRPvUix6WGbGKikiWqiZrljq1lexZd3ujNabDU3bMpdMCyvUpFw0FEYCXEctuRnO7w/XGWcZdISZc8Fcz+fjwePBuc51rvO+PtJrTvM61zk1lUqlEgAAAAAAAKC0ehU9AAAAAAAAAFAspSEAAAAAAACUnNIQAAAAAAAASk5pCAAAAAAAACWnNAQAAAAAAICSUxoCAAAAAABAySkNoYssWrQoQ4YMSUtLS9GjAJSODAYolhwGKJYcBiiWHKanUBrCeho2bFj+67/+q/X2zjvvnLlz56a2trbAqdp74okn8rGPfSz7779/Pvaxj+WJJ54oeiSALrEpZPAXv/jFHHHEEdl7771z++23Fz0OQJfa2HN4wYIFOfvss/P+978/BxxwQE4//fT893//d9FjAXSZjT2Hly9fnhNOOCEHHnhgGhsbM3r06PzqV78qeiyALrOx5/AbzZo1KwMHDsx3v/vdokdhE6A0hB5q5cqV+eQnP5mRI0fm4Ycfzkc/+tF88pOfzMqVK4seDaAU9t5770yePDnvec97ih4FoHReeumlDBs2LD/60Y/y4IMPZt99980nP/nJoscCKI0tt9wyl19+eebMmZOHH344n/jEJ3L22Wdn9erVRY8GUCovvvhibrjhhrz73e8uehQ2EUpDeoTHH388o0aNypAhQ/KZz3wmn/3sZ/PVr341SXL77bfnxBNPbLf/wIED88wzzyR5rVybNm1a/vZv/zYf+MAHctFFF+XVV19N8to7484666w0NjbmgAMOyJgxY7JmzZp8/vOfz6JFizJ+/PgMGTIk//zP/5xnn302AwcObH0B/Pzzz2f8+PE54IADcthhh+U73/lO6/Nfd911Oeecc3L++ednyJAhOfroo/O73/2uS9fkl7/8ZVavXp1x48alvr4+J598ciqVSn7xi1906fMAyOCOjR07NgcddFD69OnT5ccGeCM5vLb99tsvxx9/fPr27ZvevXvnlFNOyYIFC/LCCy906fMAJHK4I3369Mkee+yRXr16pVKppFevXnnxxRfz4osvdunzACRy+M185Stfycc//vFss8023XJ8eh6lIZu8lStX5lOf+lSOPfbY/PKXv8yRRx6Ze+65p9OPv+qqq7JgwYLMmjUr99xzT5YsWZLrr78+SXLzzTenX79+mTNnTh588MGce+65qampyZVXXpmdd945N9xwQ+bOnZtPfOITax333HPPzU477ZQHHngg//RP/5Srr746c+bMab3//vvvz9FHH51HHnkkw4YNy6WXXrrOGY855pg0NjZ2+Gfy5MkdPuaPf/xjBg4cmJqamtZtAwcOzB//+MdOrw3AW5HBkzu/WADdQA5P7tR5PvLII9lhhx38sgTocnJ48pue3zHHHJP99tsvZ599do4//vhst912nV4bgM6Qw5PX+bjf/va3mTdv3lqlKbyZuqIHgA31m9/8JqtWrcq4ceNSU1OTI488MrfcckunHlupVPKd73wn//7v/56+ffsmSc4666x87nOfy+c+97nU1dXlz3/+cxYtWpTddtstjY2NnTru4sWL8+tf/zo33nhj+vTpk0GDBuX444/PD3/4wxx00EFJkqFDh+bDH/5wkuTYY4/NjBkz1nm8O+64o1PP+0avvPJKtt5663bbttpqq7zyyitv+1gA6yKDAYolh99aU1NTLrnkkkycOHGDjgPQETn85u64446sWLEi9957b1atWrXexwFYFzncsZaWlkyePDkXXXRRevVy7RidpzRkk7dkyZL069ev3RV1O++8c6ceu3z58vz1r3/Nxz72sdZtlUola9asSZKcfvrpmT59ek477bQkyejRo3PmmWd2aqa/+Zu/yVZbbdVupnnz5rXe3n777Vv/vtlmm2XFihVZvXp16uq65n+WW265ZV5++eV221555ZVsueWWXXJ8gEQGAxRNDr+55cuX57TTTsuYMWMyYsSILj02QCKHO6NPnz4ZMWJE/u7v/i6DBg3K3nvv3eXPAZSXHO7Yv/7rv2bgwIEZPHhwlxyP8vCbMTZ5O+ywQ55//vlUKpXWHw6LFi3KrrvumiTZfPPNWz+HOkn+/Oc/t/59m222yWabbZa77ror/fr1W+vYW221VSZOnJiJEydm/vz5GTduXPbdd9/Wd4Ssy4477pgXX3wxL7/8cusPh8WLF3f4HJ1x9NFHZ9GiRR3ed8wxx2TKlClrbX/Xu96V//f//l+7dXnyySczZsyY9ZoBoCMyuOMMBqgWObzuHH7xxRdz2mmnZdiwYTn77LPX67kB3ooc7vzr4dWrV2fhwoVKQ6BLyeGOc3jOnDl5+OGH87Of/SzJa6+NH3/88TzxxBO56KKL1msOysF1qWzyBg8enLq6utx6661ZtWpV7rnnnnZfHLv33nvnD3/4Q5544omsWLEi1113Xet9vXr1yvHHH5/LL788y5YtS/Lal9Q+8MADSZKf/OQneeaZZ1KpVLL11luntra29YfP9ttvn4ULF3Y4U//+/TNkyJBcffXVWbFiRX7/+9/ne9/7XkaOHLle53jXXXdl7ty5Hf5Z14vzAw44ILW1tbn11luzcuXK/Mu//EuS5P3vf/96zQDQERm87l+QrFy5MitWrEilUsnq1auzYsWK1ncrAnQVOdxxDr/88ss5/fTT8773vS/nnXfeej0vQGfI4Y5z+NFHH80jjzySlStX5tVXX81NN92UpUuXZr/99luvGQDWRQ53nMNf/vKXc/fdd2fWrFmZNWtW9tlnn0yYMCGf/exn12sGykNpyCavvr4+1113XX7wgx/kgAMOyN13353DDjus9f53vvOd+dSnPpVTTjklhx9+eIYOHdru8Z///Oez22675R/+4R/yvve9L6ecckoWLFiQJHnmmWdy6qmnZsiQIRk9enROPPHE1tLtzDPPzNe//vU0Njbmm9/85lpzXX311XnuuedyyCGHZMKECfn0pz+dD3zgA924Eu3V19fn+uuvzw9/+MM0Njbm+9//fq6//vrU19dXbQag55PB63b66adnv/32y9y5c/PFL34x++23Xx5++OGqzgD0fHK4Y/fee29+97vf5fbbb8+QIUNa/6zrHdoA60sOd2zlypWZMmVKDjzwwHzoQx/Kz372s9x0003rfZUNwLrI4Y41NDRkhx12aP3Tu3fvbLXVVtl6662rNgObpppKpVIpegjoahMnTky/fv28cwKgADIYoFhyGKBYchigWHIY1p8rDQEAAAAAAKDklIYAAAAAAABQcj6eFAAAAAAAAErOlYYAAAAAAABQcpt0abh69eo8++yzWb16ddGjAJSSHAYolhwGKI4MBiiWHAboept0adjU1JThw4enqamp6FEASkkOAxRLDgMURwYDFEsOA3S9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Tl1dXY4++uhMmjQpW2+99QYN0atXr7z00ktJkpdeeik77rjjWoVhc3Nzmpub221ramraoOcFoPPkMECx5DBAcWQwQLHkMEB1dLo0nDp1av7617/mjjvuyIABA/Lcc8/lq1/9aqZOnZpp06at9wA1NTW55ppr8slPfjJbbLFFXnnlldx0001r7TdjxoxMnz59vZ8HgA0jhwGKJYcBiiODAYolhwGqo9Ol4QMPPJAf//jH2XzzzZMk73znO/OlL30phx122AYNsHr16tx444352te+lqFDh+ZXv/pVPvOZz+Suu+7Klltu2brfuHHjMmrUqHaPbWpqytixYzfo+QHoHDkMUCw5DFAcGQxQLDkMUB2dLg379OmT5cuXZ8CAAa3bXnjhhdTX12/QAE888USWLFmSoUOHJkmGDh2azTffPE899VT222+/1v0aGhrS0NCwQc8FwPqTwwDFksMAxZHBAMWSwwDV0enS8Ljjjstpp52WU045JTvvvHMWLVqUW265Jccff/wGDbDTTjulqakp//3f/5099tgjTz31VJYtW5Z3vOMdG3RcAAAAAAAAoHM6XRqeffbZ6devX+64444sWbIkO+64Y84444wNLg132GGHTJ48Oeecc05qamqSJJdffnn69u27QccFAAAAAAAAOqfTpeFll12Wo446Krfcckvrtl//+te57LLLcuGFF27QECNHjszIkSM36BgAAAAAAADA+unV2R3vvPPO7LPPPu227bPPPrnzzju7fCgAAAAAAACgejpdGtbU1GTNmjXttrW0tKy1DQAAAAAAANi0dLo0bGxszLXXXttaEq5ZsybXXXddGhsbu204AAAAAAAAoPt1+jsNL7zwwpx11lk5+OCDs/POO2fx4sXZYYcdcsMNN3TnfAAAAAAAAEA363RpuNNOO+UHP/hBfvvb32bx4sXp379/9ttvv/Tq1emLFQEAAAAAAICNUKdLwyTp1atXBg8enMGDB3fTOAAAAAAAAEC1uUwQAAAAAAAASk5pCAAAAAAAACWnNAQAAAAAAICSUxoCAAAAAABAySkNAQAAAAAAoOSUhgAAAAAAAFBySkMAAAAAAAAoOaUhAAD0QCtXtRQ9QrfoqecFAJTX6h76+qannhdAT1ZX9AAAAEDXq+9dmzHnzyx6jC73r1eMLXoEAIAuVde7Npdf+L2ix+hyF1x2XNEj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DnQZGdyxpqamvPTSS3n66adz33335emnn84pp5yS3XffPR/84Aff9vEA1kUOv7V77rkn22yzTQ444IANOg5AR+Twuh199NGZNGlSLrvssiTJ5MmT079///U6FsC6yOGOHXTQQbnqqqvy0EMPtV4NuWrVqtarKGFdNAds8pYsWZJ+/fqlpqamddvOO+/cqccuX748f/3rX/Oxj32sdVulUsmaNWuSJKeffnqmT5+e0047LUkyevTonHnmmZ2a6W/+5m+y1VZbtZtp3rx5rbe333771r9vttlmWbFiRVavXt2lhd7/9//9f0mS+vr6XHjhhRk6dGieeuqpDBw4sMueAyg3GdyxzTbbLEnyqU99Kptttln23nvvHH300fnpT3+qNAS6lBx+a7NmzcpHP/rRdmsE0FXkcMeeeuqpnHvuubnuuuvywQ9+ME8//XTGjx+fHXfcMX/7t3/bJc8BkMjhddlzzz3z5S9/OZdeemn+/Oc/55hjjsm73vWu9OvXr0uOT8+lNGSTt8MOO+T5559PpVJp/eGwaNGi7LrrrkmSzTffvN07KP785z+3/n2bbbbJZpttlrvuuqvDwNxqq60yceLETJw4MfPnz8+4ceOy7777tr4jZF123HHH1s/vf/2Hw+LFi9c7lI8++ugsWrSow/uOOeaYTJkypVPHqampaXdZOsCGksEdZ/Drb8544/9p8ctqoDvI4Td/Lbx48eL88pe/7PTrZYC3Sw53nMN/+MMfsvvuu+eQQw5Jkuyxxx758Ic/nJ/97GdKQ6BLyeF1vx4+8sgjc+SRRyZJmpub8/3vfz/77rvves1AefhOQzZ5gwcPTl1dXW699dasWrUq99xzT7svjt17773zhz/8IU888URWrFiR6667rvW+Xr165fjjj8/ll1+eZcuWJXntS2ofeOCBJMlPfvKTPPPMM6lUKtl6661TW1vb+sNn++23z8KFCzucqX///hkyZEiuvvrqrFixIr///e/zve99LyNHjlyvc7zrrrsyd+7cDv+s64fC6+fc0tKSV155JV/+8pez4447Zs8991yvGQA6IoM7zuB3vOMdaWxszA033JCVK1fmqaeeyl133ZVDDz10vWYAWBc5/OZl4A9/+MMMGTIk73jHO9bruQHeihzuOIff85735JlnnsmcOXNSqVTypz/9Kf/5n//pk4+ALieH1/16eN68eWlpacny5cvzxS9+McOGDfO7Yd6S0pBNXn19fa677rr84Ac/yAEHHJC77747hx12WOv973znO/OpT30qp5xySg4//PC1vnT785//fHbbbbf8wz/8Q973vvfllFNOyYIFC5IkzzzzTE499dQMGTIko0ePzoknnpj3v//9SZIzzzwzX//619PY2JhvfvOba8119dVX57nnnsshhxySCRMm5NOf/nQ+8IEPdONKtLd06dJ85jOfydChQ/ORj3wkzz33XG688cb07t27ajMAPZ8MXrfXZzjwwANz5pln5pxzznnLdyMCvF1y+M29/tGkAN1FDnfsHe94Ry677LJcdtlled/73peTTjophx9+eI4//viqzQCUgxxet8suuyyNjY058sgj8zd/8ze59NJLq/r8bJpqKj6rkB5o4sSJ6devXz772c8WPQpA6chggGLJYYBiyWGAYslhWH+uNAQAAAAAAICSUxoCAAAAAABAyfl4UgAAAAAAACi5TfpKw9WrV+fZZ5/N6tWrix4FoJTkMECx5DBAcWQwQLHkMEDX26RLw6ampgwfPjxNTU1FjwJQSnIYoFhyGKA4MhigWHIYoOtt0qUhAAAAAAAAsOGUhgAAAAAAAFBySkMAAAAAAAAoOaUhAAAAAAAAlJzSEAAAAAAAAEpOaQgAAAAAAAAlpzQEAAAAAACAklMaAgAAAAAAQMkpDQEAAAAAAKDklIYAAAAAAABQckpDAAAAAAAAKLmqlIbTpk3LsGHDMnDgwMyfP791+4oVK3LxxRfn8MMPzzHHHJMvfvGL1RgHAAAAAAAAeIO6ajzJ8OHDc/LJJ2fs2LHttl955ZXp06dPZs+enZqamixdurQa4wAAAAAAAABvUJXSsLGxca1tr7zySmbNmpWf/vSnqampSZJsv/326zxGc3Nzmpub221ramrq2kEBWCc5DFAsOQxQHBkMUCw5DFAdVSkNO7Jw4cL07ds306dPz0MPPZQtt9wy55xzTocFY5LMmDEj06dPr/KUQBmsXtWSut61RY/R5br6vOQwQLHkMEBxZDBAseQwQHUUVhq2tLRk4cKFec973pMvfOEL+c1vfpPx48fn3nvvzVZbbbXW/uPGjcuoUaPabWtqalrrI08B3q663rW5/MLvFT1Gl7vgsuO69HhyGKBYchigODIYoFhyGKA6CisN+/fvn7q6uowYMSJJsv/++2ebbbbJggULsu+++661f0NDQxoaGqo9JgD/Sw4DFEsOAxRHBgMUSw4DVEevop542223zYEHHpgHH3wwSbJgwYIsW7Ysu+22W1EjAQAAAAAAQClV5UrDqVOn5p577snSpUtz6qmnpm/fvrnrrrtyySWX5IILLsi0adNSV1eXK664wjtGAAAAAAAAoMqqUhpOmjQpkyZNWmv7rrvumm9961vVGAEAAAAAAABYh8I+nhQAAAAAAADYOCgNAQAAAAAAoOSUhgAAAAAAAFBySkMAAAAAAAAoOaUhAAAAAAAAlJzSEAAAAAAAAEpOaQgAAAAAAAAlpzQEAAAAAACAklMaAgAAAAAAQMkpDQEAAAAAAKDklIYAAAAAAABQckpDAAAAAAAAKDmlIQAAAAAAAJSc0hAAAABKbPWqlqJH6BY99bwAAKC71BU9AAAAAFCcut61ufzC7xU9Rpe74LLjih4BAAA2Ka40BAAAAAAAgJJTGgIAAAAAAEDJKQ0BAAAAAACg5JSGAAAAAAAAUHJKQwAAAAAAACg5pSEAAAAAAACUnNIQAAAAAAAASk5pCAAAAAAAACWnNAQAAAAAAICSUxoCAAAAAABAySkNAQAAAAAAoOSUhgAAAAAAAFBySkMAAAAAAAAouaqVhtOmTcuwYcMycODAzJ8/f637p0+fvs77AAAAAAAAgO5TtdJw+PDhmTlzZgYMGLDWfY899lgeffTRDu8DAAAAAAAAulddtZ6osbGxw+0rV67MlClT8pWvfCUnn3zyOh/f3Nyc5ubmdtuampq6dEYA1k0OAxRLDgMURwYDFEsOA1RH1UrDdbn22mszcuTI7LLLLm+634wZMzJ9+vQqTQXA/yWHAYolhwGKI4MBiiWHAaqj0NJw7ty5mTdvXs4777y33HfcuHEZNWpUu21NTU0ZO3Zsd40HwBvIYYBiyWGA4shggGLJYYDqKLQ0fPjhh/PUU09l+PDhSV4L+tNPPz1f+tKXcvDBB7fbt6GhIQ0NDUWMCUDkMEDR5DBAcWQwQLHkMEB1FFoannnmmTnzzDNbbw8bNiw33HBD9tprrwKnAgAAAAAAgHLpVa0nmjp1aj70oQ+lqakpp556ao4++uhqPTUAAAAAAADwJqp2peGkSZMyadKkN93n/vvvr9I0AAAAAAAAwOuqdqUhAAAAAAAAsHFSGgIAAAAAAEDJKQ0BAAAAAACg5JSGAAAAAAAAUHJKQwAAAAAAACg5pSEAAAAAAACUnNIQAAAAAAAASk5pCAAAAAAAACWnNAQAAAAAAICSUxoCAAAAAABAySkNAQAAAAAAoOSUhgAAAAAAAFBySkMAAAAAAAAoOaUhAAAAAEBBVq9qKXqEbtFTzwugJ6sregAAAAAAgLKq612byy/8XtFjdLkLLjuu6BEAeJtcaQgAAAAAAAAlpzQEAAAAAACAklMaAgAAAAAAQMkpDQEAAAAAAKDklIYAAAAAAABQckpDAAAAAAAAKDmlIQAAAAAAAJSc0hAAAAAAAABKTmkIAAAAAAAAJac0BAAAAAAAgJJTGgIAAAAAAEDJKQ0BAAAAAACg5JSGAAAAAAAAUHJVKw2nTZuWYcOGZeDAgZk/f36S5IUXXsgnPvGJHHHEETnmmGMyYcKELF++vFojAQAAAAAAAKliaTh8+PDMnDkzAwYMaN1WU1OTM844I7Nnz84dd9yRXXfdNVdddVW1RgIAAAAAAABSxdKwsbEx/fv3b7etb9++OfDAA1tvDx48OIsWLarWSAAAAAAAAECSuqIHeN2aNWty2223ZdiwYR3e39zcnObm5nbbmpqaqjEaAJHDAEWTwwDFkcEAxZLDANWx0ZSGl156abbYYoucdNJJHd4/Y8aMTJ8+vcpTAfA6OQxQLDkMUBwZDFAsOQxQHRtFaTht2rQ888wzueGGG9KrV8efmDpu3LiMGjWq3bampqaMHTu2GiMClJ4cBiiWHAYojgwGKJYcBqiOwkvDq6++OvPmzctNN92U+vr6de7X0NCQhoaGKk4GwBvJYYBiyWGA4shggGLJYYDqqFppOHXq1Nxzzz1ZunRpTj311PTt2zfXXHNNbrzxxuy+++454YQTkiS77LJLrr/++mqNBQAAAAAAAKVXtdJw0qRJmTRp0lrbn3zyyWqNAAAAAAAAAHSg4y8QBAAAAAAAAEpDaQgAAAAAAAAlpzQEAAAAAACAklMaAgAAAAAAQMkpDQEAAAAAAKDklIYAAAAAAABQckpDAAAAAAAAKDmlIQAAAAAAAJSc0hAAAAAAAABKTmkIAAAAAAAAJac0BAAAAAAAgJJTGgIAAAAAAEDJKQ0BAAAAAACg5JSGAAAAAAAAUHJKQwAAAAAAACg5pSEAAAAAAACUnNIQAAAAAAAASk5pCAAAAAAAACWnNAQAAAAAAICSUxoCAAAAAABAySkNAQAAAAAAoOSUhgAAAAAAAFBySkMAAAAAAAAoOaUhAAAAAAAAlJzSEAAAAAAAAEpOaQgAAAAAAAAlpzQEAAAAAACAklMaAgAAAAAAQMlVpTScNm1ahg0bloEDB2b+/Pmt2xcsWJDRo0fniCOOyOjRo/P0009XYxwAAAAAAADgDapSGg4fPjwzZ87MgAED2m2/+OKLM2bMmMyePTtjxozJRRddVI1xAAAAAAAAgDeoSmnY2NiY/v37t9u2bNmyPP744xkxYkSSZMSIEXn88cezfPnyaowEAAAAAAAA/K+6op548eLF6devX2pra5MktbW12XHHHbN48eJsu+22a+3f3Nyc5ubmdtuampqqMisAchigaHIYoDgyGKBYchigOgorDd+uGTNmZPr06UWPAVBachigWHIYoDgyGKBYchigOgorDfv375/nn38+LS0tqa2tTUtLS5YsWbLWx5i+bty4cRk1alS7bU1NTRk7dmw1xgUoPTkMUCw5DFAcGQxQLDkMUB2FlYbbbbddBg0alDvvvDPHHnts7rzzzgwaNKjDjyZNkoaGhjQ0NFR5SgBeJ4cBiiWHAYojgwGKJYcBqqMqpeHUqVNzzz33ZOnSpTn11FPTt2/f3HXXXZk8eXImTpyYr33ta2loaMi0adOqMQ4AAAAAAADwBlUpDSdNmpRJkyattX3PPffMd7/73WqMAAAAAAAAAKxDr6IHAAAAAAAAAIqlNAQAAAAAAICSUxoCAAAAAABAySkNAQAAAAAAoOSUhgAAAAAAAFBySkMAAAAAAAAoOaUhAAAAAAAAlJzSEAAAAAAAAEpOaQgAAAAAAAAlpzQEAAAAAACAkut0afjNb36zw+0333xzlw0DAAAAAAAAVF+nS8Prr7++w+1f//rXu2wYAAAAAAAAoPrq3mqHOXPmJEnWrFmTX/ziF6lUKq33Pfvss9lyyy27bzoAAAAAAACg271laXjhhRcmSVasWJELLrigdXtNTU122GGHTJo0qfumAwAAAAAAALrdW5aG999/f5Lk/PPPzxVXXNHtAwEAAAAAAADV9Zal4eveWBiuWbOm3X29enX6qxEBAAAAAACAjUynS8PHHnssU6ZMyZNPPpkVK1YkSSqVSmpqavLEE09024AAAAAAAABA9+p0aThx4sQceuihufzyy7PZZpt150wAAAAAAABAFXW6NHzuuefy2c9+NjU1Nd05DwAAAAAAAFBlnf4ywsMOOyw///nPu3MWAAAAAAAAoACdvtJwxYoVmTBhQoYOHZrtt9++3X1XXHFFlw8GAAAAAAAAVEenS8N3vetdede73tWdswAAAAAAAAAF6HRpOGHChO6cAwAAAAAAAChIp0vDOXPmrPO+gw46qEuGAQAAAAAAAKqv06XhhRde2O72Cy+8kFWrVqVfv3657777unwwAAAAAAAAoDo6XRref//97W63tLTk61//erbccssuHwoAAAAAAAConl7r+8Da2tqMHz8+3/jGN7pyHgAAAAAAAKDK1rs0TJIHH3wwNTU1XTULAAAAAAAAUIBOfzzphz/84XYF4V//+tesXLkyF1988QYP8ZOf/CTXXnttKpVKKpVKJkyYkMMPP3yDjwsAAAAAAAC8tU6XhldeeWW725tvvnne+c53ZqutttqgASqVSs4///zMnDkze+21V37/+9/nxBNPzEc+8pH06rVBF0ICAAAAAAAAndDp0vCAAw5IkqxZsyZLly7N9ttv32WlXq9evfLSSy8lSV566aXsuOOOCkMAAAAAAACokk6Xhi+//HKmTJmSu+++O6tXr05dXV2OPvroTJo0KVtvvfV6D1BTU5Nrrrkmn/zkJ7PFFlvklVdeyU033bTWfs3NzWlubm63rampab2fF4C3Rw4DFEsOAxRHBgMUSw4DVEenS8OpU6fmr3/9a+64444MGDAgzz33XL761a9m6tSpmTZt2noPsHr16tx444352te+lqFDh+ZXv/pVPvOZz+Suu+7Klltu2brfjBkzMn369PV+HgA2jBwGKJYcBiiODAYolhwGqI5Ol4YPPPBAfvzjH2fzzTdPkrzzne/Ml770pRx22GEbNMATTzyRJUuWZOjQoUmSoUOHZvPNN89TTz2V/fbbr3W/cePGZdSoUe0e29TUlLFjx27Q8wPQOXIYoFhyGKA4MhigWHIYoDo6XRr26dMny5cvz4ABA1q3vfDCC6mvr9+gAXbaaac0NTXlv//7v7PHHnvkqaeeyrJly/KOd7yj3X4NDQ1paGjYoOcCYP3JYYBiyWGA4shggGLJYYDq6HRpeNxxx+W0007LKaeckp133jmLFi3KLbfckuOPP36DBthhhx0yefLknHPOOampqUmSXH755enb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t/POO7fe7t+/f5qamqo+b3das2ZNbrvttgwbNqx128c//vG0tLTkQx/6UD796U+nvr6+3WNeeOGFVCqVdmv1+trst99+VZu9K5133nmpVCoZOnRozj333LX+22+77bZZs2ZN66XGb7Ro0aIMGDCg9XZP+Hdy//33p1+/fnnve9/buu3/rlFDQ8Naj+tpa/FmWVGpVDqVI68fp6dnydslh9vI4dfI4fbk8GvkcPeRw23k8GvkcHtyWAZ3NzncRg6/Rg63J4flcHeTw23ksAzuiBzuOTnsSkPelksvvTRbbLFFTjrppCTJf/7nf+b222/PzJkz88c//jHXX399wRN2v5kzZ+bf//3f8/3vfz+VSiVTpkwpeqTCff/732/3LhJrBN1HDsuYjshhqB45LGM6IoeheuSwjOmIHIbqKXsOy5eOyeGeQ2nYCf3798/zzz+flpaWJK99EeWSJUvWuvy0f//+7S7LXrx4cXbaaaeqztqdpk2blmeeeSbXXHNN6xfbvr4GW221VY4//vj8+te/Xutx22yzTZK0u9R2U16b18+5vr4+Y8aMya9//eu1/tsvX748vXr1WuudJEmy884757nnnmu9vSmvRZI8//zzefjhh3PMMce0butojTrS09bizbKiszny+nF6cpasDzn8Gjn8GjncnhxuI4e7jxx+jRx+jRxuTw6/RgZ3Lzn8Gjn8Gjncnhx+jRzuXnL4NXJYBndEDr+mp+Sw0rATtttuuwwaNCh33nlnkuTOO+/MoEGD1rps9Mgjj8x3v/vdrFmzJsuXL8+Pf/zjHHHEEUWM3OWuvvrqzJs3L9dff33r5eUvvvhiXn311STJ6tWrM3v27AwaNKjDxx955JH5t3/7tyTJI488kldffTX77LNPdYbvQn/5y1/y0ksvJUkqlUruvvvuDBo0KPvss09effXVPPLII0mSf/u3f8uRRx7Z4TGOPPLIfPvb306SPP300/nd736XQw45pDon0A1+8IMf5MMf/nDrD/91rVFHetpavFlWdDZHkp6dJetLDsvh18nhtcnhNnK4+8hhOfw6Obw2OfwaGdy95LAcfp0cXpscfo0c7l5yWA4nMnhd5PBrekwOV+iUP/7xj5Xjjjuucvjhh1eOO+64ylNPPVWpVCqVM844o/Lb3/62UqlUKqtXr65cdNFFleHDh1eGDx9e+bd/+7ciR+4y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\n",
"text/plain": [
"<Figure size 1800x720 with 10 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_mark_by_exercice(range(2, 12))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Moyenne générale"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <th>5</th>\n",
" <th>6</th>\n",
" <th>7</th>\n",
" <th>8</th>\n",
" <th>9</th>\n",
" <th>10</th>\n",
" <th>11</th>\n",
" <th>notes</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>23/04/2021 12:32:09</td>\n",
" <td>h305-01</td>\n",
" <td>25%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>9.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>23/04/2021 12:36:20</td>\n",
" <td>h305-03</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>12.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>23/04/2021 12:44:33</td>\n",
" <td>h305-06</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>15.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>23/04/2021 13:41:51</td>\n",
" <td>h305-08</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>50%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>14.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>23/04/2021 13:46:00</td>\n",
" <td>h305-10</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>16.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>23/04/2021 13:49:16</td>\n",
" <td>h305-11</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>11.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>23/04/2021 13:52:45</td>\n",
" <td>h305-14</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>25%</td>\n",
" <td>0%</td>\n",
" <td>0%</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>23/04/2021 13:57:35</td>\n",
" <td>h305-16</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>12.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>23/04/2021 14:00:14</td>\n",
" <td>h305-18</td>\n",
" <td>25%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>50%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>23/04/2021 14:05:08</td>\n",
" <td>h305-19</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>75%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>75%</td>\n",
" <td>16.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>23/04/2021 14:07:40</td>\n",
" <td>h305-21</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>50%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>13.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>23/04/2021 14:10:23</td>\n",
" <td>h305-24</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>15.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>23/04/2021 14:12:31</td>\n",
" <td>h305-25</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>16.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>23/04/2021 14:15:10</td>\n",
" <td>h305-28</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>0%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>25%</td>\n",
" <td>15.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>23/04/2021 14:18:31</td>\n",
" <td>h305-30</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>0%</td>\n",
" <td>0%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>50%</td>\n",
" <td>12.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>23/04/2021 14:22:32</td>\n",
" <td>h306-01</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>100%</td>\n",
" <td>75%</td>\n",
" <td>0%</td>\n",
" <td>15.75</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4 5 6 7 8 \\\n",
"0 23/04/2021 12:32:09 h305-01 25% 100% 0% 0% 100% 100% 0% \n",
"1 23/04/2021 12:36:20 h305-03 100% 75% 0% 100% 75% 100% 25% \n",
"2 23/04/2021 12:44:33 h305-06 100% 100% 0% 75% 100% 100% 50% \n",
"3 23/04/2021 13:41:51 h305-08 100% 100% 75% 50% 75% 100% 25% \n",
"4 23/04/2021 13:46:00 h305-10 100% 100% 75% 100% 100% 100% 25% \n",
"5 23/04/2021 13:49:16 h305-11 100% 100% 0% 100% 50% 100% 0% \n",
"6 23/04/2021 13:52:45 h305-14 50% 100% 50% 100% 75% 100% 0% \n",
"7 23/04/2021 13:57:35 h305-16 100% 100% 0% 0% 100% 100% 75% \n",
"8 23/04/2021 14:00:14 h305-18 25% 100% 75% 50% 0% 100% 0% \n",
"9 23/04/2021 14:05:08 h305-19 100% 100% 75% 75% 75% 100% 50% \n",
"10 23/04/2021 14:07:40 h305-21 100% 100% 25% 50% 75% 100% 50% \n",
"11 23/04/2021 14:10:23 h305-24 100% 100% 100% 50% 75% 100% 50% \n",
"12 23/04/2021 14:12:31 h305-25 100% 100% 75% 100% 100% 100% 50% \n",
"13 23/04/2021 14:15:10 h305-28 100% 75% 0% 100% 75% 100% 100% \n",
"14 23/04/2021 14:18:31 h305-30 100% 100% 0% 0% 75% 100% 50% \n",
"15 23/04/2021 14:22:32 h306-01 100% 100% 100% 100% 75% 100% 75% \n",
"\n",
" 9 10 11 notes \n",
"0 100% 100% 0% 9.00 \n",
"1 100% 100% 0% 12.00 \n",
"2 100% 100% 75% 15.75 \n",
"3 100% 100% 50% 14.50 \n",
"4 100% 100% 50% 16.25 \n",
"5 100% 100% 0% 11.00 \n",
"6 25% 0% 0% 10.00 \n",
"7 100% 100% 0% 12.75 \n",
"8 100% 100% 50% 10.00 \n",
"9 100% 75% 75% 16.25 \n",
"10 100% 100% 25% 13.50 \n",
"11 100% 100% 50% 15.75 \n",
"12 100% 100% 25% 16.25 \n",
"13 100% 100% 25% 15.00 \n",
"14 100% 100% 50% 12.75 \n",
"15 100% 75% 0% 15.75 "
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Summary</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>11.750000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>14.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>15.750000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>&lt; 5</th>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>&lt; 7</th>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>&lt; 10</th>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>&lt; 12</th>\n",
" <td>4.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>16.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>16.250000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>13.531250</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>9.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>2.523019</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Summary\n",
"25% 11.750000\n",
"50% 14.000000\n",
"75% 15.750000\n",
"< 5 0.000000\n",
"< 7 0.000000\n",
"< 10 1.000000\n",
"< 12 4.000000\n",
"count 16.000000\n",
"max 16.250000\n",
"mean 13.531250\n",
"min 9.000000\n",
"std 2.523019"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(\n",
" {\n",
" \"Summary\": {\n",
" **df.notes.describe(),\n",
" **{f\"< {val:2}\": (df.notes < val).sum() for val in [5, 7, 10, 12]},\n",
" }\n",
" }\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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q8LCwkiPNa7+ekUnSadd0QmT26ZNm1RdXa3vfe97stuj5kfsjK1evVpvv/222traIj3KuNi5c6eqqqq0YsUKlZWVye/36+abb9Ybb7wR6dHGzUe/S1wul9asWaN33303whONn9zcXDmdzuGX5xYuXKjU1FQdOXIkwpONFDW/EZqamiQNHbZ77LHHdMMNNygxMTHCU40vVnSKfo899pj27Nmjxx9/XC6XK9LjjKvu7m7V19cPf1xZWamUlBT5fL7IDTWObrnlFr3xxhuqrKxUZWWlcnJy9MQTT+jiiy+O9GjjIhgMqrOzU5JkWZZeeOEFzZ49O8JTjZ+0tDQtW7ZM27dvlzR0JUhLS4uKiooiPNlIUfM2kA888IDeffddDQwM6KKLLtL999+v+Pj4SI911r75zW/q5ZdfVnNzs1JTU+Xz+fTrX/9aVVVVuu+++xQIBIZXdJqINYkn2um273S3R5tTbcf3vvc9rVy5UsXFxXK73ZKk/Px8Pf744xGe9sydavu2bNmi2267TT09PbLb7UpJSdG9996ruXPnRnrcMzaW78OysjJt3rxZs2bNitCUZ+9U27d582bdcccdCoVCCofDKikp0YMPPqisrKxIj3vGTvf1q6mp0f3336/29nY5nU7ddddduvTSSyM97ghRE10AAKJd1BxeBgAg2hFdAAAMIboAABhCdAEAMIToAgBgCNEFAMAQogvEmNLSUlVXV0d6DACnQHQBADCE6AKTVFlZmZ544gmtWrVKS5Ys0V133aW+vj5J0lNPPaUrrrhCF154oW699VY1NDRIktauXStJuvbaa7V48WK98MILkqRXXnlF1157rZYuXaobbrhB+/btG/48P/zhD3XJJZdo8eLFuuqqq7Rjxw7DWwpMHbwjFTBJlZWVKS0tTY8//rji4+P1+c9/Xl/4whdUXFysu+66S//zP/+jmTNnatOmTdq3b5+efPJJSUOHl19++eXh95zdu3evbr75Zm3evFnz5s3Tr371K/3gBz/Qiy++qNraWn3xi1/UU089pezsbNXW1iocDsfcYiLAZMGeLjCJ3XTTTcrOzpbP59Pll1+uDz/8UM8995yuu+46zZ07Vy6XS3fffbd27dql2traUz7Hz372M11//fVauHChHA6HysvLFRcXp127dsnhcKi/v19VVVUaGBhQfn4+wQUmENEFJrHMzMzh/09ISFAwGFRjY6Py8vKGb/d4PPL5fMOHmP9WXV2dfvKTn2jp0qXDf/x+vxobG1VUVKT7779fP/jBD7R8+XJ99atfPe3zADh3RBeIMllZWTp+/Pjwx8FgUO3t7crOzj7l43Nzc3XrrbfqnXfeGf6ze/fu4XVHV61apa1bt+qVV16RzWbTo48+amQ7gKmI6AJRZuXKlXr66af14Ycfqr+/X4899pgWLFig/Px8SVJGRoZqamqGH/+5z31OP/3pT7V7925ZlqVgMKhXX31VXV1dOnz4sHbs2KH+/n65XC7Fx8fLbufXAjBRnJEeAMCZWb58ue68807dcccdCgQCWrx4sb773e8O33/77bfrvvvuU29vr9avX6/PfOYz2rBhg9avX6/q6mq53W5dcMEFWrp0qfr7+/Uf//EfqqqqUlxcnBYvXqz169dHcOuA2MbZywAAGMJxJAAADCG6AAAYQnQBADCE6AIAYAjRBQDAEKILAIAhRBcAAEOILgAAhvx/qQYkzxwpg9AAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"g = sns.histplot(data=df, x=\"notes\", kde=True, element=\"step\")\n",
"g.set(ylabel=\"\");"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"sns.violinplot(data=df, x=\"notes\", y=\"sexe\", cut=0, inner=\"quartile\")\n",
"sns.swarmplot(data=df, x=\"notes\", y=\"sexe\", color=\"0.3\");"
]
}
],
"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.9.3"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment