{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "title: Premiers pas avec Pandas\n",
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Dans le cours DS&SC-4, nous avons étudié `NumPy`, dont l’objet principal, le `ndarray`, permet de stocker et de manipuler efficacement des **tableaux homogènes**. Cet objet, idéal pour les valeurs numériques (et donc la mise en œuvre de schémas d’approximation), montre ses limites dès qu’il s’agit de données variées (catégories, libellés, dates, texte).\n",
    "\n",
    "En analyse de données, on organise souvent l’information sous forme de lignes (individus) et de colonnes (variables), qui ne sont pas nécessairement numériques. Exemples :\n",
    "\n",
    "- dans l’automobile, chaque individu est une voiture, avec des caractéristiques telles que la puissance du moteur, les dimensions, la marque, le modèle, la couleur, etc. ;\n",
    "- en grande distribution, chaque individu est un produit, avec des informations comme le prix et la catégorie ;\n",
    "- dans le secteur bancaire, chaque individu est une personne, avec des informations comme le salaire moyen, l’âge et les mensualités d’un prêt.\n",
    "\n",
    "Nous avons donc besoin d’un outil capable de :\n",
    "\n",
    "- représenter les données au format individus × variables ;\n",
    "- manipuler des types hétérogènes ;\n",
    "- lire et écrire des données depuis diverses sources.\n",
    "\n",
    "C’est exactement le rôle de la bibliothèque `pandas`. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-info\">\n",
    "\n",
    "**Objectifs d’apprentissage**\n",
    "\n",
    "- Identifier les objets de base de `pandas` (Series, DataFrame) et leur lien avec `NumPy`.\n",
    "- Lire et écrire des données (CSV) et comprendre les types hétérogènes.\n",
    "- Sélectionner, filtrer, trier, agréger et fusionner des données.\n",
    "- Calculer et interpréter des statistiques descriptives (describe, moyennes, écarts-types, quantiles).\n",
    "- Visualiser des données avec `Matplotlib`, `Seaborn`, `Plotly` et choisir une représentation adaptée.\n",
    "\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Importation de pandas\n",
    "\n",
    "Une fois `pandas` installé, vérifions que tout fonctionne correctement. La communauté Python a adopté quelques conventions de nommage pour les modules courants :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:34:44.005939Z",
     "iopub.status.busy": "2026-10-30T08:34:44.004941Z",
     "iopub.status.idle": "2026-10-30T08:34:45.378252Z",
     "shell.execute_reply": "2026-10-30T08:34:45.377689Z"
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd \n",
    "import numpy as np\n",
    "#\n",
    "import matplotlib.pyplot as plt\n",
    "#\n",
    "import seaborn as sns\n",
    "# Pour des graphiques interactifs, notamment en 3D\n",
    "import plotly.express as px\n",
    "\n",
    "from IPython.display import display, Markdown"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Définissons quelques options par défaut pour la création des figures :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:34:45.380547Z",
     "iopub.status.busy": "2026-10-30T08:34:45.380286Z",
     "iopub.status.idle": "2026-10-30T08:34:45.383821Z",
     "shell.execute_reply": "2026-10-30T08:34:45.383361Z"
    }
   },
   "outputs": [],
   "source": [
    "plt.rcParams['font.size'] = 15\n",
    "plt.rcParams['figure.figsize'] = (15, 7) # Taille par défaut des figures\n",
    "# plt.style.use('ggplot') # set ggplot style\n",
    "\n",
    "\n",
    "sns.set_theme(context = \"notebook\", # paper, notebook, talk, poster\n",
    "              style = \"darkgrid\", # ticks, whitegrid, darkgrid, white, dark\n",
    "              palette = \"pastel\", # None, Set2, husl, deep, muted, bright, pastel, dark, colorblind\n",
    "              rc = {\"axes.spines.right\": False, \n",
    "                    \"axes.spines.top\": False}\n",
    "            )\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Quelques remarques sur les bibliothèques de visualisation. Trois options populaires se distinguent : `Matplotlib`, `Seaborn` et `Plotly`, chacune avec ses forces et particularités.\n",
    "\n",
    "- **Matplotlib** est la bibliothèque de base en Python. Elle offre une grande flexibilité et un contrôle fin de tous les aspects des graphiques, des tracés simples aux visualisations complexes. Elle est idéale pour une personnalisation poussée et un large éventail de types de graphiques. Cette flexibilité s’accompagne toutefois d’une complexité accrue et demande souvent davantage de code.  \n",
    "- **Seaborn**, construit sur Matplotlib, simplifie la création de graphiques statistiques élégants. Il propose des thèmes et des palettes intégrés qui rendent les visualisations plus attrayantes et informatives. En contrepartie, les personnalisations très spécifiques peuvent être plus limitées.\n",
    "\n",
    "Avec Matplotlib et Seaborn, les figures sont statiques : toute l’information doit être visible dans la figure, ce qui peut la surcharger. On peut concevoir des visualisations à plusieurs niveaux : un premier niveau « coup d’œil » pour les messages clés, puis des détails supplémentaires. Les visualisations interactives, devenues la norme en dataviz, facilitent cette approche : au survol de la souris, on obtient des informations complémentaires (par exemple, les valeurs exactes).\n",
    "\n",
    "- **Plotly**, basé sur JavaScript, permet de créer des visualisations interactives et dynamiques. Il prend en charge les graphiques 3D et les cartes, ce qui le rend très puissant."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Une analyse complète, en quinze lignes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-block alert-warning\">\n",
    "\n",
    "**Ne cherchez pas à comprendre le code de cette section.** Il met en œuvre à peu près tout ce que nous verrons pendant les quatre séances : lecture d'un fichier, inspection, création de colonnes, agrégation, visualisation.\n",
    "\n",
    "L'objectif ici est seulement de voir **à quoi ressemble une analyse de données complète**, du fichier brut à la conclusion : et de constater qu'elle tient en une quinzaine de lignes. Vous saurez tout écrire d'ici la fin du cours.\n",
    "\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Reprenons l'exemple de l'automobile évoqué plus haut. Le fichier `voitures.csv` décrit 32 modèles testés par le magazine *Motor Trend* en 1974 : un jeu de données classique en statistique."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. Lire le fichier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:34:45.385535Z",
     "iopub.status.busy": "2026-10-30T08:34:45.385378Z",
     "iopub.status.idle": "2026-10-30T08:34:45.413867Z",
     "shell.execute_reply": "2026-10-30T08:34:45.413323Z"
    }
   },
   "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>mpg</th>\n",
       "      <th>cyl</th>\n",
       "      <th>disp</th>\n",
       "      <th>hp</th>\n",
       "      <th>drat</th>\n",
       "      <th>wt</th>\n",
       "      <th>qsec</th>\n",
       "      <th>vs</th>\n",
       "      <th>am</th>\n",
       "      <th>gear</th>\n",
       "      <th>carb</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Mazda RX4</th>\n",
       "      <td>21.0</td>\n",
       "      <td>6</td>\n",
       "      <td>160.0</td>\n",
       "      <td>110</td>\n",
       "      <td>3.90</td>\n",
       "      <td>2.620</td>\n",
       "      <td>16.46</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mazda RX4 Wag</th>\n",
       "      <td>21.0</td>\n",
       "      <td>6</td>\n",
       "      <td>160.0</td>\n",
       "      <td>110</td>\n",
       "      <td>3.90</td>\n",
       "      <td>2.875</td>\n",
       "      <td>17.02</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Datsun 710</th>\n",
       "      <td>22.8</td>\n",
       "      <td>4</td>\n",
       "      <td>108.0</td>\n",
       "      <td>93</td>\n",
       "      <td>3.85</td>\n",
       "      <td>2.320</td>\n",
       "      <td>18.61</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hornet 4 Drive</th>\n",
       "      <td>21.4</td>\n",
       "      <td>6</td>\n",
       "      <td>258.0</td>\n",
       "      <td>110</td>\n",
       "      <td>3.08</td>\n",
       "      <td>3.215</td>\n",
       "      <td>19.44</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hornet Sportabout</th>\n",
       "      <td>18.7</td>\n",
       "      <td>8</td>\n",
       "      <td>360.0</td>\n",
       "      <td>175</td>\n",
       "      <td>3.15</td>\n",
       "      <td>3.440</td>\n",
       "      <td>17.02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    mpg  cyl   disp   hp  drat     wt   qsec  vs  am  gear  \\\n",
       "Mazda RX4          21.0    6  160.0  110  3.90  2.620  16.46   0   1     4   \n",
       "Mazda RX4 Wag      21.0    6  160.0  110  3.90  2.875  17.02   0   1     4   \n",
       "Datsun 710         22.8    4  108.0   93  3.85  2.320  18.61   1   1     4   \n",
       "Hornet 4 Drive     21.4    6  258.0  110  3.08  3.215  19.44   1   0     3   \n",
       "Hornet Sportabout  18.7    8  360.0  175  3.15  3.440  17.02   0   0     3   \n",
       "\n",
       "                   carb  \n",
       "Mazda RX4             4  \n",
       "Mazda RX4 Wag         4  \n",
       "Datsun 710            1  \n",
       "Hornet 4 Drive        1  \n",
       "Hornet Sportabout     2  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "voitures = pd.read_csv('voitures.csv', index_col=0)\n",
    "voitures.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Premier constat, et il est général : **les données réelles n'arrivent jamais documentées.** Les noms de colonnes sont des abréviations, en anglais, sans unités. Avant toute chose, il faut savoir ce qu'elles désignent :\n",
    "\n",
    "| Colonne | Signification | Unité |\n",
    "|---|---|---|\n",
    "| `mpg` | consommation | miles par gallon |\n",
    "| `cyl` | nombre de cylindres | |\n",
    "| `disp` | cylindrée | pouces cubes |\n",
    "| `hp` | puissance | chevaux |\n",
    "| `wt` | poids | milliers de livres |\n",
    "| `qsec` | temps sur le quart de mile | secondes |\n",
    "| `am` | boîte de vitesses | 0 = automatique, 1 = manuelle |\n",
    "\n",
    "Nous n'utiliserons que `mpg`, `cyl` et `hp`."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. Regarder la forme du jeu de données"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:34:45.454414Z",
     "iopub.status.busy": "2026-10-30T08:34:45.454118Z",
     "iopub.status.idle": "2026-10-30T08:34:45.473387Z",
     "shell.execute_reply": "2026-10-30T08:34:45.472654Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "32 voitures, 11 caractéristiques"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "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>mpg</th>\n",
       "      <th>cyl</th>\n",
       "      <th>hp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>32.0</td>\n",
       "      <td>32.0</td>\n",
       "      <td>32.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>20.1</td>\n",
       "      <td>6.2</td>\n",
       "      <td>146.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>6.0</td>\n",
       "      <td>1.8</td>\n",
       "      <td>68.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>10.4</td>\n",
       "      <td>4.0</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>15.4</td>\n",
       "      <td>4.0</td>\n",
       "      <td>96.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>19.2</td>\n",
       "      <td>6.0</td>\n",
       "      <td>123.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>22.8</td>\n",
       "      <td>8.0</td>\n",
       "      <td>180.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>33.9</td>\n",
       "      <td>8.0</td>\n",
       "      <td>335.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        mpg   cyl     hp\n",
       "count  32.0  32.0   32.0\n",
       "mean   20.1   6.2  146.7\n",
       "std     6.0   1.8   68.6\n",
       "min    10.4   4.0   52.0\n",
       "25%    15.4   4.0   96.5\n",
       "50%    19.2   6.0  123.0\n",
       "75%    22.8   8.0  180.0\n",
       "max    33.9   8.0  335.0"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "display(Markdown(f\"{voitures.shape[0]} voitures, {voitures.shape[1]} caractéristiques\"))\n",
    "voitures[['mpg', 'cyl', 'hp']].describe().round(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. Créer une colonne exploitable"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "La consommation est donnée en *miles par gallon* : une unité où plus le nombre est grand, moins la voiture consomme. Convertissons-la en litres aux 100 km :\n",
    "\n",
    "$$\n",
    "\\text{L/100 km} = \\frac{235{,}215}{\\text{mpg}}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:34:45.475984Z",
     "iopub.status.busy": "2026-10-30T08:34:45.475780Z",
     "iopub.status.idle": "2026-10-30T08:34:45.482679Z",
     "shell.execute_reply": "2026-10-30T08:34:45.482170Z"
    }
   },
   "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>cyl</th>\n",
       "      <th>hp</th>\n",
       "      <th>conso</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Mazda RX4</th>\n",
       "      <td>6</td>\n",
       "      <td>110</td>\n",
       "      <td>11.200714</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mazda RX4 Wag</th>\n",
       "      <td>6</td>\n",
       "      <td>110</td>\n",
       "      <td>11.200714</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Datsun 710</th>\n",
       "      <td>4</td>\n",
       "      <td>93</td>\n",
       "      <td>10.316447</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hornet 4 Drive</th>\n",
       "      <td>6</td>\n",
       "      <td>110</td>\n",
       "      <td>10.991355</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hornet Sportabout</th>\n",
       "      <td>8</td>\n",
       "      <td>175</td>\n",
       "      <td>12.578342</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   cyl   hp      conso\n",
       "Mazda RX4            6  110  11.200714\n",
       "Mazda RX4 Wag        6  110  11.200714\n",
       "Datsun 710           4   93  10.316447\n",
       "Hornet 4 Drive       6  110  10.991355\n",
       "Hornet Sportabout    8  175  12.578342"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "voitures['conso'] = 235.215 / voitures['mpg']\n",
    "\n",
    "voitures[['cyl', 'hp', 'conso']].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:34:45.484478Z",
     "iopub.status.busy": "2026-10-30T08:34:45.484314Z",
     "iopub.status.idle": "2026-10-30T08:34:45.490764Z",
     "shell.execute_reply": "2026-10-30T08:34:45.490075Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "La plus sobre    : Toyota Corolla         6.9 L/100 km"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "La plus gourmande : Cadillac Fleetwood     22.6 L/100 km"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(Markdown(f\"La plus sobre    : {voitures['conso'].idxmin():22} {voitures['conso'].min():.1f} L/100 km\"))\n",
    "display(Markdown(f\"La plus gourmande : {voitures['conso'].idxmax():22} {voitures['conso'].max():.1f} L/100 km\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. Agréger : la consommation dépend-elle du nombre de cylindres ?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:34:45.492815Z",
     "iopub.status.busy": "2026-10-30T08:34:45.492633Z",
     "iopub.status.idle": "2026-10-30T08:34:45.506622Z",
     "shell.execute_reply": "2026-10-30T08:34:45.505900Z"
    }
   },
   "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>nombre</th>\n",
       "      <th>conso_moyenne</th>\n",
       "      <th>puissance_moyenne</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cyl</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11</td>\n",
       "      <td>9.0</td>\n",
       "      <td>82.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>12.0</td>\n",
       "      <td>122.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>14</td>\n",
       "      <td>16.1</td>\n",
       "      <td>209.2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     nombre  conso_moyenne  puissance_moyenne\n",
       "cyl                                          \n",
       "4        11            9.0               82.6\n",
       "6         7           12.0              122.3\n",
       "8        14           16.1              209.2"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "resume = voitures.groupby('cyl').agg(\n",
    "    nombre            = ('conso', 'size'),\n",
    "    conso_moyenne     = ('conso', 'mean'),\n",
    "    puissance_moyenne = ('hp',    'mean')\n",
    ").round(1)\n",
    "\n",
    "resume"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:34:45.509102Z",
     "iopub.status.busy": "2026-10-30T08:34:45.508889Z",
     "iopub.status.idle": "2026-10-30T08:34:45.715123Z",
     "shell.execute_reply": "2026-10-30T08:34:45.714666Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABNMAAAJ0CAYAAAA4WGUkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAABllUlEQVR4nO3de9zX8+E//sd1dViRTnLMYcqKkuaYHCrlzMhxPs7HnE9h2Mw2Q8xpU4mYWZFhMmPYMMfvZBvDkEaMZAjlQgeq9+8Pvy4uFe93XVfvd677/XbrVu/X6/l+vR7v13V1PfPwOlQVCoVCAAAAAICvVV3uAAAAAACwtFCmAQAAAECRlGkAAAAAUCRlGgAAAAAUSZkGAAAAAEVSpgEAAABAkZRpAAAAAFAkZRoAAAAAFEmZBgAAAABFUqYBQAMbO3ZsunbtWvurW7du6dOnT84666y8/fbbteOeeOKJdO3aNU888UQZ037mjTfeSNeuXTN27NhyR1mgrl27ZujQobWvG+LYVfoxKNWBBx6YAw88sNwxkiRnnnlm+vfvX+4YLIK33347Q4cOzfjx4+dbN3To0HTt2rUMqQBgyWpa7gAA0FgMGTIknTp1ysyZM/PPf/4zV199df7+97/nzjvvzDLLLFPueEu17t275+abb87aa69d7ijwjfbOO+9k2LBh6dixY9Zdd9066/bee+9stdVWZUoGAEuOMg0AlpDvfOc76dGjR5Jks802y5w5c3LllVfm/vvvz6677lrmdEu3Vq1a5bvf/W5Z9j1jxoy0bNmyLPuGSrLyyitn5ZVXLncMAGhwLvMEgDKZV/68+eabCx2zsEvzFnSZ3JgxY7Lrrrtmgw02yAYbbJAddtghl1122dfmePvtt3PSSSdlgw02yEYbbZSTTz4577777gLH/vvf/87RRx+dTTfdND169MjAgQNz9913f+0+kuSTTz7JsGHDsuOOO6ZHjx7p1atXDjzwwDz11FNJkoMPPjg77LBDCoVCnfcVCoVsu+22GTRo0EK3vaDLPM8888xssMEGee2113LkkUdmgw02SN++fXPhhRfmk08+WaRjMG+bEyZMyGGHHZYNNtgghxxySO3nu/LKK7PDDjtkvfXWy2abbZazzjor77//fp1tPP744znwwAPTq1evrL/++unXr19OOOGEzJgxo6jj+EXzLqt74YUXcvzxx2fDDTfMRhttlNNOO22+/RZzzJIFX946adKknHLKKdlyyy2z3nrrZfPNN8/BBx+8wEv9vmzs2LHZfvvts95662XHHXfMH/7whwWOK/b4LcwzzzyTo48+Or169UqPHj2yzTbb5Pzzz68z5p///GcOPvjgbLDBBunZs2f23XffPPTQQ/Pl7dq1a8aNG5ef/OQn6dWrV3r16pXjjz++zmXZSXFfy2nTpuWnP/1pttpqq6y33noZMGBALr/88vm+B7t27Zpzzz03t912W7bffvusv/762WOPPfL000+nUCjk2muvTf/+/bPBBhvkoIMOymuvvVbn/QceeGB22WWX/Otf/8q+++6b9ddfP/37989tt92WJHnooYey++67p2fPnvne976XRx55pM77X3vttZx11lnZbrvt0rNnz2y11VY5+uijM2HChNoxTzzxRPbaa68kyVlnnVV76fq8S64XdJnn3Llzc80119R+XXv37p0f/OAHeeuttxaY/9lnn81+++2Xnj17ZsCAARk5cmTmzp07/xccAMrImWkAUCbz/mO4ffv2i72tP/3pT/nZz36WAw88MGeccUaqq6vz2muv5eWXX/7K982cOTOHHnpo3nnnnZx66qn59re/nYceeiinnHLKfGPHjRuXI444Ij179sxPf/rTLLfccrn77rtzyimnZObMmdljjz0Wup/Zs2fniCOOyJNPPpmDDjqo9sy8Z555Jv/73/+SJAcddFCOPfbYPP7449l8881r3/vII4/k9ddfz9lnn13ycfn0009zzDHHZK+99sphhx2Wf/zjH7nyyivTqlWrHH/88SUfgy9uc999982RRx6ZOXPmZO7cuTn22GPz5JNP5vDDD8+GG26YyZMnZ+jQoXn22Wdz2223pUWLFnnjjTdy1FFHZeONN87555+f1q1b5+23386jjz6aTz/9dJHPcDv++OOzww47ZN99983LL7+cX/3qV5k4cWJuueWWNGvWbJG2+UVHHnlk5s6dm9NPPz2rrrpqpk6dmn/961+pqan5yveNHTs2Z511VgYMGJAzzzwzH374YYYNG5ZPPvkk1dWf/z/dYo/fwjz66KM55phj0qlTp5x55plZZZVVMnny5Py///f/asf8/e9/z2GHHZYuXbrk/PPPT/PmzXPTTTfl6KOPzmWXXZaddtqpzjbPPvvs9OvXL5deemn+97//5eKLL87pp5+eUaNGJUlRX8tZs2bloIMOyqRJk3LCCSeka9eu+ec//5mRI0dm/PjxGTlyZJ19PvTQQ3nhhRdy2mmnpaqqKhdffHGOOuqoDBw4MJMmTco555yTDz/8MBdeeGFOOOGE3HHHHamqqqp9/5QpU3LWWWfliCOOyMorr5wbbrghP/zhD/O///0vf/7zn3P00UenVatWufLKK3Pcccfl/vvvz0orrZTks8s327Ztm1NPPTXt27fPBx98kNtvvz377LNPbr/99nTq1Cndu3fPkCFDctZZZ+WYY45Jv379kuQrz0b76U9/mptvvjkHHHBA+vXrl8mTJ+dXv/pV/v73v2fs2LF1fv5NmTIlp59+eg499NAcf/zxue+++3LppZdmxRVXzMCBAxe6DwBY4goAQIO67bbbCl26dCk8/fTThU8//bTw0UcfFR588MHCZpttVthggw0KU6ZMKRQKhcK4ceMKXbp0KYwbN672vQcccEDhgAMOmG+bZ5xxRmHrrbeufX3uuecWNt5445KzjRkzptClS5fC/fffX2f52WefXejSpUvhtttuq122ww47FAYOHFj49NNP64w96qijCltssUVhzpw5C93P7bffXujSpUvhlltuWeiYOXPmFAYMGFA45phj6iw/4ogjCttss01h7ty5tcu6dOlSuOKKK2pfL+jYnXHGGYUuXboU7r777jrbO/LIIwvbb7/9Ih2Dedv8/e9/X2fsXXfdVejSpUvhz3/+c53lzz77bKFLly6FG2+8sVAoFAr33ntvoUuXLoXx48cv9DiU4oorrih06dKlcMEFF9RZ/sc//rHQpUuXwh133FG77MvfSws6ZoVCoTBp0qQ6n/v9998vdOnSpXD99deXlG3OnDmFLbfcsrD77rvX+dq98cYbhe7du9f5/i32+C3MNttsU9hmm20KM2fOXOiYffbZp9C7d+/CRx99VLts9uzZhV122aXQp0+f2ozz/r7+9Kc/rfP+a665ptClS5fCO++8UygUivta3nTTTQv8Hhw5cmShS5cuhccee6x2WZcuXQpbbLFF4eOPP65ddt999xW6dOlS2G233eocw+uvv77QpUuXwosvvli77IADDih06dKl8O9//7t22dSpUwvrrrtuYf311y+89dZbtcvHjx9f6NKlS2HUqFELzT579uzCJ598Uthuu+3qfH/N+5p88e/FPPO+H+d5+eWXF3gsn3nmmUKXLl0Kl1122Xz5n3nmmTpjd9ppp8Jhhx220JwAUA4u8wSAJWSfffZJ9+7ds+GGG+aoo45Khw4dcs0116RDhw6Lve0ePXqkpqYmgwcPzv3331/0pXFPPPFEll122QwYMKDO8l122aXO69deey2vvPJKvve97yX57Eyzeb/69OmTKVOm5NVXX13ofh599NF861vfyp577rnQMdXV1TnggAPy0EMP1V76+vrrr+fRRx/NfvvtV+cMnGJVVVXNdzls165d61xaW+wx+KLtt9++zusHH3wwrVu3ztZbb13n2Ky77rpZYYUV8ve//z1Jsu6666ZZs2b58Y9/nNtvvz2TJk0q+TMtyLyvyzw77rhjmjZtWi9PN23btm3WWGON/PrXv85vfvObvPDCC0Vddvfqq6/mnXfeyS677FLna9exY8dssMEGdcYWe/wWtp/XX389e+21V771rW8tcMz06dPzzDPPZPvtt8+yyy5bu7xJkybZdddd89Zbb+WVV16p854Ffd8kn1+WXczXcty4cVlmmWWyww471Fk+7yzOxx9/vM7yXr161XkYSefOnZMkffr0qXMM5y3/8iXiK6ywQtZbb73a123btk379u2z7rrr1p6BliSdOnWa7/2zZ8/OVVddlZ122inrrbdeunXrlvXWWy///e9/M3HixPk+WzHmff/tvvvudZavv/766dy583yff4UVVsj6669fZ9mX/74CQCVwmScALCEXXXRROnfunKZNm2b55ZfPiiuuWG/bHjhwYObMmZNbb701J554YubOnZsePXrk5JNPzhZbbLHQ902bNm2BZd6Xl827f9hFF12Uiy66aIHbmjp16kL38/7772fFFVesc2nfguy555751a9+ld/97ncZPHhwbrzxxrRo0eIrS7iv0rJly/kKlubNm2fWrFm1r4s9Bl/cZqtWreose++991JTU1OnyPiiecdmjTXWyPXXX59rr7025557bqZPn57VV189Bx54YA4++OCSPtsXrbDCCnVeN23aNG3bts20adMWeZvzVFVV5frrr8/w4cNz7bXX5sILL0zbtm3zve99LyeffPJ8x2KeeZ95Ycd28uTJta+LPX4LMq84/mJZ9GU1NTUpFArzHacktX8Pv3ys2rZtW+d18+bNk3x2WXBS3Ndy3vfWl4vg5ZdfPk2bNp1vn23atKnzet4lugtb/sXv4wVlnpf7y++f91m++P4LL7wwN954Y4488shssskmadOmTaqqqnL22WfPt59izft8C/pZt+KKK85Xki0s/6LuHwAaijINAJaQzp071z7Ns1jNmzfPRx99NN/yBZULe+65Z/bcc89Mnz49//jHPzJ06NAcddRR+fOf/5yOHTsucPtt27bNs88+O9/yL998v127dkmSo446Kttuu+0Ct7XWWmst9HO0b98+Tz75ZObOnfuVhdpyyy2X3XffPbfeemsOO+ywjB07Nrvssktat2690PcsrmKPwTwLOkOuXbt2adu2ba699toFvueLZ0NtvPHG2XjjjTNnzpw899xzGT16dC644IJ06NAhO++88yJ9hilTptQpk2bPnp1p06YtsJyYZ17J+OUb4S/oe6tjx4654IILknx2Jtg999xTe++zc889d4Hbn/c9s6DjuKDvr2KP35fNu+fWlx8O8EWtW7dOdXV1pkyZMt+6d955p07eUnzd17Jt27Z55plnUigU6nzfvPfee5k9e/Yi7bOh/PGPf8zAgQMzePDgOsunTp26yH//5n3/vfPOO/PdV+2dd96pqM8PAKVwmScAVLCOHTvmv//9b53CY97N3xdmmWWWSd++fXP00Ufn008//cqHEPTq1Ssff/xxHnjggTrL77rrrjqvO3XqlG9/+9t58cUX06NHjwX+WtgZSkmy1VZbZdasWXWeELkwBx54YKZOnZoTTzwxNTU1OeCAA772PYuj2GPwVfr165dp06bVnhH45V/zLqv7oiZNmqRnz575yU9+kiR5/vnnF/kz3HnnnXVe33PPPZk9e3Y23XTThb5nXsH6xac1Jslf//rXr9zXWmutlWOPPTZdunTJCy+88JXjVlhhhdx11111ntA6efLk+b5/F+X4fXE/a6yxRm677bb5isF5lllmmfTs2TP33Xdf7ZllyWcPPvjjH/+YlVde+SvL4K+zsK9l7969M3369Nx///11xs97omnv3r0XeZ/1raqqar6HVTz00EPzlZRfPkPvq2y22WZJPivqvujZZ5/NxIkTa9cDwNLGmWkAUMF222233HzzzTnttNOyzz77ZNq0abn22mvnK67OPvvstGjRIhtuuGFWWGGFTJkyJSNHjsxyyy33lWfDDRw4MNdff33OOOOMnHLKKVlzzTXz8MMP57HHHptv7M9+9rMceeSROfzww7P77rtnpZVWygcffJCJEyfm+eefzxVXXLHQ/eyyyy4ZO3ZsfvrTn+bVV19Nr169UigU8swzz6Rz5851zshaa621stVWW+WRRx7JRhttlHXWWWcRjlzxSjkGC7PzzjvnzjvvzKBBg3LggQdm/fXXT7NmzfLWW2/liSeeyIABA7Ltttvmpptuyrhx49KvX7+sssoqmTVrVm677bYkqfME0zPPPDO33357Hnjggay22mpfu//77rsvTZo0yRZbbJGXXnopv/rVr7LOOutkxx13XOh7VlhhhWy++eYZOXJk2rRpk1VXXTWPP/547rvvvjrjXnzxxfz85z/PDjvskDXXXDPNmjXLuHHjMmHChAwaNGih26+urs5JJ52Us88+O8cdd1z22Wef1NTUZNiwYfNd+lns8VuYc845J8ccc0z22WefHHLIIVlllVXyv//9L48++mguvfTSJMngwYNz2GGH5aCDDsphhx2WZs2aZcyYMXnppZdy2WWXlXxPvmK+lgMHDsyNN96YM844I5MnT06XLl3y5JNP5uqrr07fvn3rfM3LrV+/frVP7ezatWuef/75/PrXv57vjLI11lgjLVq0yJ133pnOnTtnmWWWyYorrrjAy2w7deqU73//+7nhhhtSXV2dPn361D7Nc5VVVskhhxyyhD4dANQvZRoAVLCNNtooF110UUaOHJljjz02q6++eo477rg88sgjdW7KvvHGG2fs2LG555578sEHH6Rdu3a17513GdyCtGzZMqNGjcr555+fSy65JFVVVdlyyy1z2WWXZd99960zdrPNNsutt96aq666KhdccEFqamrStm3bdO7c+StLm+Sze3hdc801ufrqq/OnP/0pv/3tb7PssstmnXXWyVZbbTXf+J122imPPPJIg5+VlpR2DBamSZMmGTFiREaNGpU77rgjI0eOTJMmTbLyyitnk002SZcuXZJ8dtP6//f//l+GDh2aKVOmZJlllkmXLl0yYsSIbLnllrXbmz59elq0aFH05XVDhw7N0KFDc9NNN9U+dOGHP/xh7VlEC/OLX/wiP//5z3PJJZdkzpw52XrrrXPppZfWuUfdCiuskDXWWCNjxozJW2+9lSRZffXVc8YZZ+TAAw/8yu3vvffeSZJrr702xx9/fDp27Jijjjoq//jHP+p8/xZ7/BZmq622yg033JDhw4fnvPPOy6xZs7LyyivXeYjApptumuuvvz5Dhw7NWWedlblz52adddbJiBEjsvXWW3/l9hekmK/lt771rYwaNSqXX355rr322kydOjUrrbRSDjvssBx//PEl77Mh/ehHP0rTpk0zcuTITJ8+Pd26dcvQoUPzq1/9qs64li1b5oILLsiwYcNy+OGH59NPP83xxx+fE044YYHb/elPf5rVV189v//97zNmzJi0atUqW221VU499VSXeQKw1KoqfPG8ewCACnDCCSfk6aefzl//+tf5Lj1rDLbYYovsuuuuOeOMM75y3NChQzNs2LA8/vjjX1maAgBQf5yZBgBUhE8++STPP/98nn322dx3330588wzG2WR9tJLL2XGjBk58sgjyx0FAIAFUKYBABXhnXfeyb777ptWrVrl+9///tdeQvhN9Z3vfCdPPfVUuWMAALAQLvMEAAAAgCJVlzsAAAAAACwtlGkAAAAAUCRlGgAAAAAUSZkGAAAAAEVq1E/znDNnbt5//+Nyx4Cyqa6uSvv2y+b99z/O3LmeRQLQWJkPADAXwGdWWGG5rx3jzDRoxKqrq1JVVZXq6qpyRwGgjMwHAJgLoHjKNAAAAAAokjINAAAAAIqkTAMAAACAIinTAAAAAKBIyjQAAAAAKJIyDQAAAACKpEwDAAAAgCIp0wAAAACgSMo0AAAAACiSMg0AAAAAiqRMAwAAAIAiKdMAAAAAoEjKNAAAAAAokjINAAAAAIqkTAMAAACAIinTAAAAAKBIyjQAAAAAKJIyDQAAAACKpEwDAAAAgCIp0wAAAACgSMo0AAAAAChS03IHeO211/LrX/86zzzzTF566aV06tQpd91113zjZs6cmSuvvDJ33nlnpkyZkhVXXDF77LFHjj/++DKkBgAAAKAxKnuZ9tJLL+Xhhx9Oz549M3fu3BQKhfnGzJkzJ0cddVTeeuutnHjiienYsWPefPPN/O9//ytDYgAAAAAaq7KXaf37988222yTJDnzzDPz3HPPzTfm97//fV544YXcc8896dChw5KOCAAAQAN7441Jef/998odo9Fq0qQ6rVu3TE3NjMyZM7fccRqt9u2Xz2qrrV7uGHyNspdp1dVff9u23//+99lxxx0VaQAAAN9Ab7wxKZtvvnFmzpxR7ihQVi1atMzf/vZPhVqFK3uZ9nU++eSTvPDCC9l6661z+umn5y9/+UuaNGmSrbfeOmeffXbatWtX7ogAAAAshvfffy8zZ85Ijz1PzbIrKBFonD6eMin/vu3SvP/+e8q0ClfxZdq0adMye/bsXHPNNenVq1eGDx+eKVOm5Be/+EUGDx6c3/zmN4u1/aZNPdCUxqtJk+o6vwPQOJkPgHKb9/Nn2RVWT+tV1y5zGiivJk2qdRUVruLLtHkPJGjdunWuuOKKNG/ePEmy7LLL5oQTTsizzz6b9ddff5G2XV1dlXbtlq23rLC0at26ZbkjAFABzAdAufj5A59r3bqlrqLCVXyZ1rp16yTJhhtuWFukJclmm22W5LOngS5qmTZ3biE1NdMXPyQspdxkFIDEfACUX02Ne6XBPDU1MzJ16sfljtFoFVNkVnyZ1rJly3Ts2HGh64t5gMFXmT3bPxhhzpy5/i4AYD4AykaRD58zH1e+peIi3H79+uXJJ5/MJ598Urvsb3/7W5JknXXWKVcsAAAAABqZsp+ZNmPGjDz88MNJksmTJ+ejjz7KvffemyTZdNNN0759+xx++OH54x//mOOOOy4HHHBA3nnnnVx66aXZZpttsu6665YzPgAAAACNSNnLtPfeey8nnXRSnWXzXo8aNSq9evVKx44dc/311+fCCy/MCSeckJYtW2b77bfPD37wg3JEBgAAAKCRKnuZttpqq2XChAlfO2699dbLDTfcsAQSAQAAAMCCLRX3TAMAAACASqBMAwAAAIAiKdMAAAAAoEjKNAAAAAAokjINAAAAAIqkTAMAAACAIinTAAAAAKBIyjQAAAAAKJIyDQAAAACKpEwDAAAAgCIp0wAAAACgSMo0AAAAACiSMg0AAAAAiqRMAwAAAIAiKdMAAAAAoEjKNAAAAAAokjINAAAAAIqkTAMAAACAIinTAAAAAKBIyjQAAAAAKJIyDQAAAACKpEwDAAAAgCIp0wAAAACgSMo0AAAAACiSMg0AAAAAiqRMAwAAAIAiKdMAAAAAoEjKNAAAAAAokjINAAAAAIqkTAMAAACAIinTAAAAAKBIyjQAAAAAKJIyDQAAAACKpEwDAAAAgCIp0wAAAACgSMo0AAAAACiSMg0AAAAAiqRMAwAAAIAiKdMAAAAAoEjKNAAAAAAokjINAAAAAIqkTAMAAACAIinTAAAAAKBIyjQAAAAAKJIyDQAAAACKpEwDAAAAgCIp0wAAAACgSMo0AAAAACiSMg0AAAAAiqRMAwAAAIAiKdMAAAAAoEhlL9Nee+21nHPOOdltt93SrVu37LLLLl85/rnnnsu6666bDTbYYAklBAAAAIDPNC13gJdeeikPP/xwevbsmblz56ZQKCx0bKFQyM9//vO0b98+06dPX4IpAQAAAKACzkzr379/Hn744VxxxRXp3r37V4697bbbMnXq1Oy5555LKB0AAAAAfK7sZVp1dXERampqcumll+ass85Ks2bNGjgVAAAAAMyv7GVasX75y1+me/fu2XrrrcsdBQAAAIBGquz3TCvG+PHj8/vf/z633357vW+7adOlpk+EetekSXWd3wFonMwHQLn5+QOfa9KkWldR4Sq+TCsUCjn33HOz3377pXPnzvW67erqqrRrt2y9bhOWRq1btyx3BAAqgPkAKBc/f+BzrVu31FVUuIov0+6+++5MnDgxl1xySWpqapIks2bNSvLZfdS+9a1v5Vvf+tYibXvu3EJqajwVlMarSZPqtG7dMjU1MzJnztxyxwGgTMwHQLnV1MwodwSoGDU1MzJ16sfljtFoFVNkVnyZ9sorr+SDDz5I//7951u3ySab5Mgjj8xpp522yNufPds/GGHOnLn+LgBgPgDKRpEPnzMfV76KL9N23333bLrppnWW3X777bn77rtzzTXXZNVVVy1TMgAAAAAam7KXaTNmzMjDDz+cJJk8eXI++uij3HvvvUmSTTfdNKuttlpWW221Ou/5+9//niZNmqRXr15LPC8AAAAAjVfZy7T33nsvJ510Up1l816PGjVKYQYAAABAxSh7mbbaaqtlwoQJJb3nhBNOyAknnNBAiQAAAABgwarLHQAAAAAAlhbKNAAAAAAokjINAAAAAIqkTAMAAACAIinTAAAAAKBIyjQAAAAAKJIyDQAAAACKpEwDAAAAgCIp0wAAAACgSMo0AAAAACiSMg0AAAAAiqRMAwAAAIAiKdMAAAAAoEjKNAAAAAAokjINAAAAAIqkTAMAAACAIinTAAAAAKBIyjQAAAAAKJIyDQAAAACK1HRR3vTSSy/lqaeeyttvv52ZM2emXbt2WXvttbPJJpukVatW9Z0RAAAAACpC0WXaBx98kJtvvjk333xz3nzzzRQKhfk31rRp+vTpkwMPPDC9e/eu16AAAAAAUG5FlWmjRo3K8OHDkyQ77bRTNt1003Tv3j3t27fPt771rXzwwQeZNGlSnn766TzwwAM57LDDsvnmm+ecc87Jmmuu2aAfAAAAAACWlKLKtNGjR+ess87KzjvvnGbNms23vkOHDunQoUM22GCDHHrooXn99dczYsSI3HPPPTn66KPrPTQAAAAAlENRZdo999yTpk2Lv73aGmuskSFDhmTOnDmLHAwAAAAAKk1RT/MspUj7oiZNmizS+wAAAACgEi1aS/b/mzFjRmbNmjXf8rZt2y7OZgEAAACgIpVcps2YMSOXXXZZ7rzzznzwwQcLHDN+/PjFDgYAAAAAlabkMu3cc8/NH//4x2y99dbp3LnzAh9IAAAAAADfRCWXaQ8++GAGDx6cww8/vCHyAAAAAEDFKuoBBF/WrVu3+s4BAAAAABWv5DJtu+22y2OPPdYQWQAAAACgopV8mecZZ5yRE088MUOGDEnfvn3Tpk2b+cZ07969XsIBAAAAQCUpuUybNWtWZs+end/+9rcZNWpUnXWFQiFVVVWe5gkAAADAN1LJZdoPf/jD/Pvf/87BBx/saZ4AAAAANColl2lPPPFEzjrrrOyzzz4NkQcAAAAAKlbJDyBYdtll07Fjx4bIAgAAAAAVreQybeDAgfnTn/7UEFkAAAAAoKKVfJnnOuusk8svvzzHHXdc+vXrt8CneW633Xb1Eg4AAAAAKknJZdppp52WJJk8eXIeeOCB+dZ7micAAAAA31Qll2mjRo1qiBwAAAAAUPFKLtM23XTThsgBAAAAABWv5AcQ3HrrrV+5/kc/+tEihwEAAACASlZymfazn/0s/+///b8FrjvvvPNyxx13LHYoAAAAAKhEJZdphx12WE466aT85z//qbP8sssuy5gxY/KLX/yi3sIBAAAAQCUpuUwbPHhw+vTpk0GDBuWdd95JkowYMSLXXHNNfv7zn2ennXaq95AAAAAAUAlKLtOS5MILL8yqq66aQYMGZeTIkfnVr36Vs846K3vuuWd95wMAAACAirFIZVrz5s0zYsSIzJw5M5dffnlOPvnkHHTQQfWdDQAAAAAqStNiBp133nkLXL7mmmumpqYm7777bp0xZ599dv2kAwAAAIAKUlSZdsMNNxS9vqqqSpkGAAAAwDdSUWXaiy++2NA5AAAAAKDiLdI90wAAAACgMSrqzLSG9Nprr+XXv/51nnnmmbz00kvp1KlT7rrrrtr1c+bMyXXXXZeHH344L7/8cubMmZMuXbrk+OOPT+/evcuYHAAAAIDGpuxnpr300kt5+OGHs+aaa6Zz587zrZ85c2auvvrqrLPOOhkyZEguu+yyrLTSSjn00EPz4IMPliExAAAAAI1V2c9M69+/f7bZZpskyZlnnpnnnnuuzvoWLVrkgQceSJs2bWqXbbnllvnvf/+b6667LltvvfUSzQsAAABA41X2M9Oqq786QpMmTeoUaclnTwxdZ5118s477zRkNAAAAACoo+xl2qKYO3du/vWvfy3wslAAAAAAaCiLdJnnJ598kpqamlRVVWW55ZZL8+bN6zvXVxo9enReffXVnHvuuYu9raZNl8o+EepFkybVdX4HKJc33piU9957r9wxGq3q6qq0atUiH300M3PnFsodp1Fafvnls9pqq5c7BpSNf4/C55o0qdZVVLiiy7SpU6fmuuuuy3333ZfXX389hcJn/9CqqqrKGmuske233z6HHHJI2rVr12Bhk+Tvf/97Lr744hx22GHZZJNNFmtb1dVVaddu2XpKBkuv1q1bljsC0Ii9/vrr2bTXRpk5Y3q5o0DZtGi5TCa8OD5rrLFGuaNAWfj3KHyudeuWuooKV1SZNmnSpOy///55//3306tXr/Tv3z9t27ZNkkybNi3/+c9/ct111+WOO+7I6NGjs/rqDfN/1V588cUce+yx2WabbXL66acv9vbmzi2kpsY/3Gm8mjSpTuvWLVNTMyNz5swtdxygkXrllUmZOWN6eux5apZdwZk5ND4fT5mUf992aV55ZVKWW275cseBsqipmVHuCFAxampmZOrUj8sdo9Eqpsgsqkz7xS9+kTZt2uR3v/tdVl111QWOefPNN3PUUUfl4osvzhVXXFFa0iK8/vrrOeKII9KtW7f84he/SFVVVb1sd/ZsBQLMmTPX3wWgbOaV+cuusHpar7p2mdNA+ZiPacz8j134nPmg8hV1Ee64ceNy0kknLbRIS5JVV101J554Yh5//PF6CzfPlClTcthhh6VDhw658sorl/g92gAAAAAgKfLMtNmzZ+db3/rW14771re+ldmzZ5cUYMaMGXn44YeTJJMnT85HH32Ue++9N0my6aabZplllskRRxyR9957L2eeeWZefvnlOu//7ne/W9L+AAAAAGBRFVWm9ezZMyNHjsxGG22UZZZZZoFjpk+fnmuuuSYbbLBBSQHee++9nHTSSXWWzXs9atSodOzYMS+++GKS5Ljjjpvv/RMmTChpfwAAAACwqIoq004//fQcdNBB2WabbbL99tunS5cuadOmTaqqqmofQHDfffdlxowZGT16dEkBVlttta8txBRmAAAAAFSCosq07t2759Zbb82vfvWr3H777Zk5c2ad9S1atMjWW2+dE044IZ06dWqQoAAAAABQbkWVaUnSqVOn/OpXv8qcOXPy+uuvZ9q0aUmStm3bZo011kiTJk0aKiMAAAAAVISiy7R5mjRpkrXWWqshsgAAAABARSupTCsUCnnmmWfy0ksvZerUqamqqkrbtm3zne98Jz179kxVVVVD5QQAAACAsiu6TPvTn/6UX/ziF3nnnXdSKBTqrKuqqsqKK66YH/zgB9l5553rPSQAAAAAVIKiyrS77747p556arbYYov84Ac/SNeuXdOmTZskyQcffJAJEybk9ttvz2mnnZbq6ursuOOODRoaAAAAAMqhqDJt5MiR2WeffXLuuefOt26FFVbI2muvnZ133jk//vGPc/XVVyvTAAAAAPhGqi5m0CuvvJJddtnla8ftsssueeWVVxY7FAAAAABUoqLKtDZt2uS111772nGvv/567eWfAAAAAPBNU1SZtsMOO+SSSy7J3Xffnblz5863fu7cubnnnntyySWXuMQTAAAAgG+sou6Zdsopp2TixIkZPHhwfvzjH6dz585p06ZNqqqqMm3atEycODHTp0/P5ptvnlNOOaWhMwMAAABAWRRVpi2zzDK57rrr8vDDD+e+++7Lyy+/nNdffz1J0q5du+y8887ZZptt0qdPnwYNCwAAAADlVFSZNk/fvn3Tt2/fhsoCAAAAABWtqHumAQAAAAD1XKZNnDgxw4YNq89NAgAAAEDFqNcy7eWXX87w4cPrc5MAAAAAUDFc5gkAAAAARSrqAQQDBgwoamMzZ85crDAAAAAAUMmKKtPefPPNrLHGGllrrbW+ctyUKVPy/vvv10swAAAAAKg0RZVpa665Znr27JmLLrroK8fde++9OeWUU+olGAAAAABUmqLumdatW7eMHz/+a8dVVVUtdiAAAAAAqFRFnZnWp0+fTJs27WvHrb322jnuuOMWNxMAAAAAVKSiyrSBAwdm4MCBXzuuc+fOOf744xc3EwAAAABUpKIu83zxxRcbOgcAAAAAVLyiz0xbffXVs91222X77bfP+uuv39C5AAAAAKDiFFWm/eEPf8hf/vKX/OUvf8mvf/3rrLzyytl2222z/fbbZ6ONNvLgAQAAAAAahaLKtHXWWSfrrLNOTjzxxEycOLG2WBs9enQ6dOiQAQMGZIcddsimm26aJk2aNHRmAAAAACiLosq0L+rcuXOOOeaYHHPMMZk0aVLuvffe3HfffbnlllvSunXr9O/fPzvssEP69u3bEHkBAAAAoGyKegDBwqy++uo58sgjc8stt+TBBx/Msccem9dffz3HHntsfeUDAAAAgIqxWGXaF6288srZaKONssYaa+Thhx+ur80CAAAAQMWotzItSSZPnpw//OEP6dChQ31uFgAAAAAqQr2WaQAAAADwTaZMAwAAAIAiKdMAAAAAoEjKNAAAAAAoUtNiBh199NFFbezdd99drDAAAAAAUMmKKtP+85//FL3BVVZZZZHDAAAAAEAlK6pM++tf/9rQOQAAAACg4rlnGgAAAAAUqagybfr06Yu08UV9HwAAAABUoqLKtAEDBuT666/PRx99VNRGn3322Rx99NH5zW9+s1jhAAAAAKCSFHXPtDPOOCOXX355fvnLX2brrbdOr1690q1btyy//PL51re+lQ8++CCvv/56nn766fz1r3/Nyy+/nB133DF77bVXQ+cHAAAAgCWmqDJt4MCB2WGHHTJ27Nj87ne/yz333JOqqqo6YwqFQlq0aJHtt98+Q4YMyXrrrdcggQEAAACgXIoq05KkRYsW2W+//bLffvvl7bffzlNPPZV33nkns2bNSrt27bLWWmulZ8+eadasWUPmBQAAAICyKbpM+6KVVlopO+64Y31nAQAAAICKVtQDCAAAAAAAZRoAAAAAFE2ZBgAAAABFUqYBAAAAQJGUaQAAAABQpLKXaa+99lrOOeec7LbbbunWrVt22WWXBY57+OGHM3DgwPTo0SPbbrttbrzxxiWcFAAAAIDGbpHKtIkTJ2bw4MHZcssts9566+X5559PkgwbNizjxo0raVsvvfRSHn744ay55prp3LnzAsf861//yrHHHptu3brlmmuuye67757zzjsvt95666LEBwAAAIBFUnKZNn78+Oy11175+9//nk033TRz5sypXffxxx/nd7/7XUnb69+/fx5++OFcccUV6d69+wLHDB8+PN26dcsFF1yQzTbbLMcee2z22muv/OpXv8rcuXNL/QgAAAAAsEhKLtMuueSSdO3aNffdd19+8YtfpFAo1K5bf/318+9//7u0ANVfHeGTTz7JuHHjsvPOO9dZ/r3vfS9TpkzJCy+8UNL+AAAAAGBRlVymPfXUUzniiCPSsmXLVFVV1VnXoUOHvPvuu/UWLklef/31fPrpp+nUqVOd5WuvvXaSzy45BQAAAIAloemivKlZs2YLXP7BBx+kefPmixVoQdtMktatW9dZPu/1vPWLqmnTsj+DAcqmSZPqOr8DlIOfQfCZJk2q/duURstcAJ8zH1S+ksu0rl275v7770/fvn3nW/foo48u9L5ni+vLZ8F93fJiVFdXpV27ZRf5/fBN0bp1y3JHABoxP4PgM61bt/RvUxotcwF8znxQ+Uou0w466KCceuqpadmyZXbbbbckyf/+97+MGzcut912W6644op6DdimTZsk85+BVlNTk2T+M9ZKMXduITU10xc9HCzlmjSpTuvWLVNTMyNz5niYB1AeNTUzyh0BKkJNzYxMnfpxuWNAWZgL4HPmg/IqpsgsuUzbaaed8vrrr2fYsGEZPXp0kuSEE05IkyZNcuKJJ6Z///6lJ/0Ka6yxRpo1a5ZXXnklffr0qV3+8ssvJ0k6d+68WNufPVuBAHPmzPV3ASgbZT58xnxMY2YugM+ZDyrfIt0z7eijj87AgQPz6KOP5r333ku7du2y5ZZbpmPHjvWdL82bN89mm22We+65J4ccckjt8rvuuisrrLBCunXrVu/7BAAAAIAFWaQyLUlWXnnl7L333osdYMaMGXn44YeTJJMnT85HH32Ue++9N0my6aabpn379jnuuONywAEH5Oyzz873vve9PPXUU7n11ltz7rnnprraTfkAAAAAWDIWuUx77733Mnny5MyaNWu+dZtssklJ2znppJPqLJv3etSoUenVq1c22GCDXHnllbnsssvyhz/8ISuvvHLOPvvseinzAAAAAKBYJZdp77zzTn7wgx/kiSeeSJIUCoUknz1Vs1AopKqqKuPHjy96e6uttlomTJjwteP69u27wCeIAgAAAMCSUnKZ9vOf/zzjx4/Paaedlq5du6Z58+YNkQsAAAAAKk7JZdrf//73/OAHP8iee+7ZEHkAAAAAoGKVfPf+qqqqrLLKKg2RBQAAAAAqWsll2g477JAHH3ywIbIAAAAAQEUr+TLPHXfcMT/+8Y9TKBSy9dZbp23btvON6d69e31kAwAAAICKUnKZdvDBBydJbrjhhtx444111i3K0zwBAAAAYGlRcpk2ZMiQhsgBAAAAABWv5DJt9913b4gcAAAAAFDxSn4AAQAAAAA0ViWfmZYk//znP3PXXXflzTffzMyZM+usq6qqym9/+9t6CQcAAAAAlaTkMu22227Lj370o7Rp0yZrrbVWmjVrVmd9oVCot3AAAAAAUElKLtOuvfba7LjjjrnooovSvHnzhsgEAAAAABWp5Humvfnmm9l7770VaQAAAAA0OiWXaZ07d867777bEFkAAAAAoKKVXKadcsopueaaa/L22283RB4AAAAAqFgl3zPtxhtvzIcffpjtt98+66yzTtq2bVtnfVVVVUaMGFFf+QAAAACgYpRcpv3nP/9JdXV12rdvn3feeSfvvPNOnfVVVVX1Fg4AAAAAKknJZdpf//rXhsgBAAAAABWv5HumAQAAAEBjtUhl2ieffJLf/e53GTx4cA499ND897//TZLcf//9mTRpUn3mAwAAAICKUfJlnu+//34OPvjgvPTSS+nQoUPee++9fPzxx0mSBx54II899lh++tOf1ndOAAAAACi7ks9Mu/jii1NTU5PbbrstDz30UAqFQu26Xr165R//+Ee9BgQAAACASlFymfbQQw/lxBNPTPfu3ed7cudKK62Ut956q97CAQAAAEAlKblM++ijj7LqqqsucN3s2bMzZ86cxQ4FAAAAAJWo5Humrbbaann66afTu3fv+dY9++yzWWutteolGI3DG29Myvvvv1fuGI1WkybVad26ZWpqZmTOnLnljtNotW+/fFZbbfVyxwAAAKAIJZdp3/ve93LNNdfkO9/5Tvr165ckqaqqyrPPPptRo0blmGOOqe+MfEO98cakbL75xpk5c0a5o0BZtWjRMn/72z8VagAAAEuBksu0I488Mk899VSOP/74tGnTJkly+OGHZ9q0adlqq61y0EEH1XtIvpnef/+9zJw5Iz32PDXLrqBEoHH6eMqk/Pu2S/P+++8p0wAAAJYCJZdpzZo1yzXXXJO77747Dz30UN577720a9cu/fr1y84775zq6pJvw0Yjt+wKq6f1qmuXOwYAAADA1yq5TEs+u6xz5513zs4771zfeQAAAACgYpV8GtnRRx+dRx99tCGyAAAAAEBFK7lMmzhxYgYNGpTtt98+v/3tb/PRRx81RC4AAAAAqDgll2n33Xdfrrrqqqyxxhq58MILs9VWW+Wcc87JhAkTGiIfAAAAAFSMRbpnWt++fdO3b9+8/vrrufHGG3P77bfn1ltvzcYbb5z9998/2267bZo0aVLfWQEAAACgrBbr0ZtrrLFGzjrrrNx3333ZdNNN849//COnnHJK+vfvn9GjR6dQKNRXTgAAAAAou0U6M22et956KzfddFN+//vf5/3330+fPn2y00475YEHHsgFF1yQV199Neecc059ZQUAAACAslqkMu3xxx/PjTfemIceeijNmzfP7rvvngMPPDDf/va3kyQDBw7Mb3/72wwbNkyZBgAAAMA3Rsll2o477pj//ve/WW211XLaaadlr732SqtWreYb17Nnz3z44Yf1EhIAAAAAKkHJZdpKK62U008/PVtvvXWqqqoWOq5bt2554IEHFiscAAAAAFSSksu066+/vqhxzZs3T8eOHUvdPAAAAABUrEV+AMHjjz+exx9/PNOmTUu7du3Su3fvbLbZZvWZDQAAAAAqSsll2ieffJITTzwxDz/8cAqFQpo2bZrZs2dn5MiR6du3b4YOHZpmzZo1RFYAAAAAKKvqUt8wfPjwPPbYYzn11FPzt7/9Lc8991z+9re/5bTTTstjjz2W4cOHN0ROAAAAACi7ksu0P/3pTznqqKNyxBFHpH379kmS9u3b5/DDD89RRx2VO++8s95DAgAAAEAlKLlMe+utt7LxxhsvcN3GG2+ct99+e7FDAQAAAEAlKrlMa9++fSZMmLDAdRMmTKg9Ww0AAAAAvmlKLtP69++fK664In/5y1/qLL///vszbNiwDBgwoN7CAQAAAEAlKflpnqecckqeeuqpnHTSSWnZsmVWWGGFvPvuu5k+fXq6dOmSU045pSFyAgAAAEDZlVymtWnTJr///e8zduzYPPHEE5k2bVq6deuW3r17Z+DAgWnevHlD5AQAAACAsiu5TEuS5s2bZ999982+++5b33kAAAAAoGKVfM80AAAAAGisSj4zbc6cORk9enTuvPPOvPnmm5k1a1ad9VVVVXnyySfrLSAAAAAAVIqSy7RLLrkkv/nNb7Luuutm8803X2L3SLv//vtz9dVXZ+LEiWnRokU23HDDDB48OJ06dVoi+wcAAACAksu0O++8M4MGDcrgwYMbIs8C/e1vf8vxxx+fXXfdNSeffHJqamoybNiwHHroofnTn/6UVq1aLbEsAAAAADReJZdps2bNSu/evRsiy0L96U9/yqqrrpqLLrooVVVVSZKOHTtm7733zpNPPpm+ffsu0TwAAAAANE4lP4Bgiy22yLPPPtsQWRZq9uzZWXbZZWuLtCRZbrnllmgGAAAAACi5TDv77LPz5z//OaNGjcprr72WadOmzfervu2111555ZVXMnr06NTU1OSNN97IRRddlM6dOy/xs+QAAAAAaLxKvsyzVatWWWuttTJkyJAMGTJkgWPGjx+/2MG+aJNNNsmwYcNy6qmn5rzzzkuSrL322rnuuusW+wEITZuW3CdST5o0cexhniZNqv08otEyH8BnzAU0ZuYC+Jz5oPKVXKb95Cc/yb333psBAwakc+fOadasWUPkquOpp57K6aefnj333DP9+/fPRx99lKuuuipHHnlkbrrppkV+AEF1dVXatVu2ntNSrNatW5Y7AlSM1q1b+nlEo2U+gM+YC2jMzAXwOfNB5Su5TLv//vszePDgHH744Q2RZ4HOO++8bLbZZvnRj35Uu2yjjTZKnz59cuutt+bQQw9dpO3OnVtITc30+opJiWpqZpQ7AlSMmpoZmTr143LHgLIwH8BnzAU0ZuYC+Jz5oLyKKTJLLtOaNm2abt26LVKgRTVx4sT079+/zrL27dtnxRVXzOuvv75Y2549e+5ivZ9FN2eOYw/zzJkz188jGi3zAXzGXEBjZi6Az5kPKl/JF+Fut912efTRRxsiy0Ktuuqqef755+ssmzJlSt5555107NhxiWYBAAAAoPEq+cy0nXfeOT/+8Y8ze/bs9OvXL23atJlvTPfu3esl3Dz7779/fv7zn+fcc8/NgAEDUlNTk6uvvjrLLLNMdt1113rdFwAAAAAsTMll2iGHHJIkGTVqVEaPHl1nXaFQSFVVVb0/zXP//fdPs2bNMmbMmNx+++1ZZpll0qNHj1x00UVZccUV63VfAAAAALAwJZdpQ4YMaYgcX6mqqirf//738/3vf3+J7xsAAAAA5im5TNt9990bIgcAAAAAVLySH0AAAAAAAI2VMg0AAAAAiqRMAwAAAIAiKdMAAAAAoEjKNAAAAAAokjINAAAAAIrUdFHe9NFHH+WRRx7Jm2++mZkzZ9ZZV1VVleOOO65ewgEAAABAJSm5THvmmWcyaNCgfPDBBwtcr0wDAAAA4Juq5DJtyJAhWWmllXLttdema9euad68eUPkAgAAAICKU3KZNmHChFx66aXp0aNHQ+QBAAAAgIpV8gMI2rdv3xA5AAAAAKDilVymHXjggfnd736XQqHQEHkAAAAAoGKVfJnn3Llz88orr2TgwIHp169f2rZtW2d9VVVVDjnkkHqKBwAAAACVo+Qy7Re/+EXtnydMmDDfemUaAAAAAN9UJZdpDzzwQEPkAAAAAICKV3KZ1rFjx4bIAQAAAAAVr+QybZ7XXnst48aNy7Rp09KuXbv06tUra665Zn1mAwAAAICKUnKZVigU8vOf/zy/+93vMnfu3Nrl1dXV2W+//XL22WfXa0AAAAAAqBQll2nXX399xowZk//7v//L7rvvnpVWWilvv/12/vCHP2TMmDFZbbXVPIAAAAAAgG+kksu0W2+9NQcccECdM9BWWmmlrL/++qmurs4tt9yiTAMAAADgG6m61DdMmjQpW2+99QLXbb311pk0adJihwIAAACASlRymbbccsvlzTffXOC6N998M61atVrsUAAAAABQiUou0zbffPP88pe/zHPPPVdn+fjx43PFFVdkyy23rLdwAAAAAFBJSr5n2qmnnprvf//72XvvvbP22mtnhRVWyJQpU/Lyyy9nxRVXzKmnntoQOQEAAACg7Eo+M22VVVbJH/7whxxxxBFp2bJl3njjjbRs2TKDBg3K7bffnpVXXrkhcgIAAABA2ZV8ZlqStG/f3hloAAAAADQ6JZ+ZBgAAAACNVVFnpp111lk59thjs/rqq+ess876yrFVVVW54IIL6iUcAAAAAFSSosq0J554IgcffHDtn79KVVXV4qcCAAAAgApUVJn217/+dYF/BgAAAIDGpOR7pr355pv59NNPF7hu9uzZefPNNxc7FAAAAABUopLLtAEDBmT8+PELXPfiiy9mwIABix0KAAAAACpRyWVaoVBY6Lq5c+e6ZxoAAAAA31gll2kL88knn+SRRx5Ju3bt6muTAAAAAFBRinoAwbBhwzJ8+PAknz2t8/vf//5Cx+699971kwwAAAAAKkxRZVqPHj2y3377pVAoZMyYMdl+++3ToUOHOmOaN2+eLl26ZJdddmmQoAAAAABQbkWVaX379k3fvn2TJDNmzMixxx6b1VdfvUGDAQAAAEClKapM+6IhQ4Y0RA4AAAAAqHgll2nz/Oc//8nEiRMza9as+dYNHDhwcTIBAAAAQEUquUybMWNGjjnmmIwbNy5VVVUpFApJPnswwTzKNAAAAAC+iapLfcOVV16ZyZMn54YbbkihUMiwYcPym9/8Jttuu23WXHPN3H777Q2REwAAAADKruQy7YEHHsiRRx6ZDTbYIEmyyiqrpHfv3rniiivSvXv3jBkzpt5DAgAAAEAlKLlMmzx5cjp16pQmTZqkqqoqM2bMqF33ve99Lw888EC9BgQAAACASlFymbbccstl+vTpSZLll18+r732Wu262bNn164DAAAAgG+aksu0rl275r///W+SpFevXrn66qvzz3/+M88++2yGDx+eddZZp74zAgAAAEBFKPlpnnvuuWft2Wgnn3xy9ttvvxx44IFJktatW2fkyJH1mxAAAAAAKkTJZdpOO+1U++fVV189f/7znzNu3LhUVVVlgw02SNu2beszHwAAAABUjJLLtC9bZpll0r9///rIAgAAAAAVbZHLtI8//jj/+9//MmvWrPnWde/efbFCAQAAAEAlKrlMe//993P22WfnwQcfnG9doVBIVVVVxo8fXy/hAAAAAKCSlFymnXPOORk3blwOOuigdO7cOc2aNWuIXAt06623ZvTo0Xn11VfTqlWr9OzZM1ddddUS2z8AAAAAjVvJZdq4ceNy5plnZp999mmIPAs1dOjQXH/99Tn66KPTs2fPfPDBB3n00UeXaAYAAAAAGreSy7SWLVtm1VVXbYgsCzVx4sSMGDEiI0eOzJZbblm7fNttt12iOQAAAABo3KpLfcNuu+2We++9tyGyLNTYsWOz+uqr1ynSAAAAAGBJK/nMtJNPPjk/+tGPctxxx6Vfv35p06bNfGO22267egk3zzPPPJMuXbpk+PDhueGGG/Lhhx/mu9/9bn70ox9l3XXXrdd9AQAAAMDClFymvfHGG3nmmWfy3//+Nw888MB86xviaZ5TpkzJ888/n5deeik/+9nP0qxZswwbNiyHHnpo/vKXv6R169aLvO2mTUs+OY960qSJYw/zNGlS7ecRjZb5AD5jLqAxMxfA58wHla/kMu3HP/5xPvroo/zwhz9cYk/zLBQKmT59eoYOHZrvfOc7SZLu3btnwIABufnmm3PkkUcu0narq6vSrt2y9RmVErRu3bLcEaBitG7d0s8jGi3zAXzGXEBjZi6Az5kPKl/JZdqzzz6b888/P7vssktD5FmgNm3apEOHDrVFWpKsuOKK6dSpU15++eVF3u7cuYXU1Eyvj4gsgpqaGeWOABWjpmZGpk79uNwxoCzMB/AZcwGNmbkAPmc+KK9iisySy7Tll18+yy233CIFWlSdO3fOm2++Od/yQqGQ6urFO/Vx9uy5i/V+Ft2cOY49zDNnzlw/j2i0zAfwGXMBjZm5AD5nPqh8JTdR//d//5ebb765IbIsVL9+/fLuu+/mP//5T+2yt99+O6+88kq6du26RLMAAAAA0HiVfGZadXV1JkyYkN133z19+vRJ27Zt66yvqqrKIYccUk/xPrPtttume/fuOeGEE3LSSSelefPmGT58eNq3b5999tmnXvcFAAAAAAtTcpl28cUXJ0kmT568wKd2NkSZ1qRJk1xzzTW54IILcs4552T27NnZZJNNcumll2aZZZap130BAAAAwMKUXKY98MADDZHjay2//PK59NJLy7JvAAAAAEgWoUzr2LFjQ+QAAAAAgIq3eI/CBAAAAIBGpOQz0+bMmZPRo0fnzjvvzJtvvplZs2bVWV9VVZUnn3yy3gICAAAAQKUouUy75JJL8pvf/CbrrrtuNt988zRv3rwhcgEAAABAxSm5TLvzzjszaNCgDB48uCHyAAAAAEDFKvmeabNmzUrv3r0bIgsAAAAAVLSSy7Qtttgizz77bENkAQAAAICKVvJlnmeffXYGDRqUli1bpm/fvmnTps18Y9q2bVsf2QAAAACgopRcprVq1SprrbVWhgwZkiFDhixwzPjx4xc7GAAAAABUmpLLtJ/85Ce59957M2DAgHTu3DnNmjVriFwAAAAAUHFKLtPuv//+DB48OIcffnhD5AEAAACAilXyAwiaNm2abt26NUQWAAAAAKhoJZdp2223XR599NGGyAIAAAAAFa3kyzx33nnn/PjHP87s2bPTr1+/BT7Ns3v37vUSDgAAAAAqScll2iGHHJIkGTVqVEaPHl1nXaFQSFVVlad5AgAAAPCNVHKZNmTIkIbIAQAAAAAVr+Qybffdd2+IHAAAAABQ8Uou077o1VdfzbRp09KuXbt8+9vfrqdIAAAAAFCZFqlMu+eee/KLX/wib731Vu2ylVdeOWeccUZ22GGHegsHAAAAAJWk5DLt4YcfzuDBg7P22mvn1FNPzYorrpi33347f/zjHzN48OC0bNkyffv2bYisAAAAAFBWJZdpI0aMyBZbbJGRI0emurq6dvkRRxyRI444IiNGjFCmAQAAAPCNVP31Q+p68cUXs99++9Up0pKkqqoq++23XyZMmFBv4QAAAACgkpRcplVXV+fTTz9d4LrZs2enqqpqsUMBAAAAQCUquUzr0aNHrr322sycObPO8k8++STXXXddevbsWW/hAAAAAKCSlHzPtBNOOCGHHHJIttlmm+ywww7p0KFDpkyZkr/85S+ZNm1afvvb3zZETgAAAAAou5LLtI033jjXXXddLr300tx4440pFAqprq7O+uuvn8suuywbbrhhQ+QEAAAAgLIruUxLkk033TQ333xzZsyYkZqamrRu3TotW7as72wAAAAAUFFKvmfaF7Vs2TIrrbRSqqurM3HixMyZM6e+cgEAAABAxSm5TBs9enSGDx9e+/q5555L3759s8suu2T77bfP//73v3oNCAAAAACVouQy7dZbb03r1q1rX19yySVp06ZNzjrrrBQKhYwYMaJeAwIAAABApSj5nmn/+9//0qlTpyTJRx99lH/+85+57LLLst1226V169a54oor6j0kAAAAAFSCks9M++STT9K06Wcd3NNPP525c+dm8803T5Ksttpqeffdd+s3IQAAAABUiJLLtFVWWSX//Oc/kyQPPPBA1llnnbRq1SpJ8v7779f+GQAAAAC+aUq+zHPXXXfN8OHD88ADD+TFF1/MD37wg9p1zz33XL797W/XZz4AAAAAqBgll2nHHHNMmjZtmqeeeirbbLNNDjrooNp1//nPf7LddtvVa0AAAAAAqBQll2lVVVUZNGjQAtddddVVix0IAAAAACpVyfdMAwAAAIDGquQz05LkjjvuyF133ZU333wzM2fOrLOuqqoq999/f72EAwAAAIBKUnKZNnLkyFx22WVZe+21s84666R58+YNkQsAAAAAKk7JZdott9yS/fffPz/+8Y8bIg8AAAAAVKyS75n27rvvZptttmmILAAAAABQ0Uou07p3755JkyY1RBYAAAAAqGgll2lnnnlmrrvuujz33HMNkQcAAAAAKlbJ90z74Q9/mGnTpmXvvfdOhw4d0rZt2zrrq6qq8sc//rG+8gEAAABAxSi5TGvbtu18BRoAAAAANAYll2mjR49uiBwAAAAAUPFKvmcaAAAAADRWJZ+ZliTTpk3L9ddfn3HjxmXq1Klp165dNt988xx88MFp06ZNfWcEAAAAgIpQ8plpb7/9dvbYY49cddVV+fDDD7Pqqqvmww8/zJVXXpndd989b7/9dkPkBAAAAICyK/nMtMsuuywzZ87MLbfckvXXX792+bPPPptjjjkml19+eS688MJ6DQkAAAAAlaDkM9MeffTRnHzyyXWKtCRZf/31c+KJJ+aRRx6pt3AAAAAAUElKLtM+/PDDdOzYcYHrVltttXz44YeLHerrfPzxx+nTp0+6du2af//73w2+PwAAAABIFqFMW2211fLQQw8tcN0jjzyS1VZbbXEzfa0rr7wyc+bMafD9AAAAAMAXlVym7bHHHhk9enTOO++8PPfcc3n77bfz3HPP5YILLsjo0aOz1157NUTOWhMnTsyYMWNywgknNOh+AAAAAODLSn4AwRFHHJFJkyblhhtuyI033li7vFAoZJ999snhhx9erwG/7Pzzz8++++6btdZaq0H3AwAAAABfVnKZVlVVlXPPPTeHHHJInnjiiUybNi1t27bNZptt1uAF17333psXX3wxV1xxRZ5//vkG3RcAAAAAfFnJZdo8nTp1SqdOneozy1eaMWNGLrzwwgwePDitWrWqt+02bVryla7UkyZNHHuYp0mTaj+PaLTMB/AZcwGNmbkAPmc+qHxFlWkffPBBzj777Oyxxx7ZeuutFzjmwQcfzNixY3PuueemXbt29RoySUaMGJHll18+e+yxR71ts7q6Ku3aLVtv26M0rVu3LHcEqBitW7f084hGy3wAnzEX0JiZC+Bz5oPKV1SZduutt+bFF1/MVltttdAxW221VS688MLceOONOf744+stYJJMnjw51113XYYPH56PPvooSTJ9+vTa3z/++OMsu2zp32hz5xZSUzO9XrNSvJqaGeWOABWjpmZGpk79uNwxoCzMB/AZcwGNmbkAPmc+KK9iisyiyrS77747e++9d5o2Xfjwpk2bZu+9987dd99d72XaG2+8kU8//TSDBg2ab91BBx2Unj175pZbblmkbc+ePXdx47GI5sxx7GGeOXPm+nlEo2U+gM+YC2jMzAXwOfNB5SuqTHv11VfTo0ePrx3XvXv3XHnllYsd6svWXXfdjBo1qs6y8ePHZ8iQIfnZz35WVDYAAAAAWFxFlWlz5sz5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lGkTJ06c7+yz5s2bZ4011sjEiRPLlAoAAACAxmapuMyzpqYmrVu3nm9569at88EHHyzydqurq9K+/bKLE43FsPnmm2TixIlpvmybVDVZKr4Vod4V5myWT07/XlZZZdU0b9683HGgLMwHNHbmAjAXQGI+WJos1T+lCoVCqqqqFvn9VVVVadJk0d/P4mnZskU6depU7hhQAZYvdwAoK/MBJOYCGjtzAcxjPlgaLBWXebZu3To1NTXzLf/www8XeMYaAAAAADSEpaJM69y583z3Rvvkk0/y+uuve5InAAAAAEvMUlGm9enTJ+PGjcvUqVNrl91333355JNP0rdv3zImAwAAAKAxqSoUCoVyh/g6NTU12WWXXdKxY8cce+yxee+993LhhRdmyy23zCWXXFLueAAAAAA0EktFmZYkr776as4777w8+eSTadGiRXbZZZecdtppadGiRbmjAQAAANBILDVlGgAAAACU21JxzzQAAAAAqATKNAAAAAAokjINAAAAAIqkTAMAAACAIinTAAAAAKBIyjQAAAAAKJIyDQAAAACKpEyDRu7jjz9Onz590rVr1/z73/8udxwAlrBbb701u+66a3r06JHevXvn6KOPLnckAJag+++/P3vvvXc23HDDbL755jn++OPzyiuvlDsWVLSm5Q4AlNeVV16ZOXPmlDsGAGUwdOjQXH/99Tn66KPTs2fPfPDBB3n00UfLHQuAJeRvf/tbjj/++Oy66645+eSTU1NTk2HDhuXQQw/Nn/70p7Rq1arcEaEiKdOgEZs4cWLGjBmTM844Iz/5yU/KHQeAJWjixIkZMWJERo4cmS233LJ2+bbbblvGVAAsSX/605+y6qqr5qKLLkpVVVWSpGPHjtl7773z5JNPpm/fvmVOCJXJZZ7QiJ1//vnZd999s9Zaa5U7CgBL2NixY7P66qvXKdIAaFxmz56dZZddtrZIS5LllluujIlg6aBMg0bq3nvvzYsvvpjjjjuu3FEAKINnnnkmXbp0yfDhw9O7d++st956OeCAAzJ+/PhyRwNgCdlrr73yyiuvZPTo0ampqckbb7yRiy66KJ07d07v3r3LHQ8qljINGqEZM2bkwgsvzODBg90HAaCRmjJlSh577LHceeed+dnPfpahQ4dmxowZOfTQQ1NTU1PueAAsAZtsskmGDRuWyy+/PJtsskkGDBiQSZMm5brrrkvz5s3LHQ8qljINGqERI0Zk+eWXzx577FHuKACUSaFQyPTp0zN06NBst9122XrrrTNixIh8/PHHufnmm8sdD4Al4Kmnnsrpp5+ePffcM9dff32GDRuWFi1a5Mgjj8xHH31U7nhQsTyAABqZyZMn57rrrsvw4cNrJ8jp06fX/v7xxx9n2WWXLWdEAJaANm3apEOHDvnOd75Tu2zFFVdMp06d8vLLL5cxGQBLynnnnZfNNtssP/rRj2qXbbTRRunTp09uvfXWHHrooWVMB5VLmQaNzBtvvJFPP/00gwYNmm/dQQcdlJ49e+aWW24pQzIAlqTOnTvnzTffnG95oVBIdbWLFwAag4kTJ6Z///51lrVv3z4rrrhiXn/99TKlgsqnTINGZt11182oUaPqLBs/fnyGDBmSn/3sZ+nRo0eZkgGwJPXr1y+33357/vOf/6RLly5JkrfffjuvvPKK2wAANBKrrrpqnn/++TrLpkyZknfeeScdO3YsUyqofMo0aGRat26dXr16LXBd9+7d07179yWcCIBy2HbbbdO9e/eccMIJOemkk9K8efMMHz487du3zz777FPueAAsAfvvv39+/vOf59xzz82AAQNSU1OTq6++Ossss0x23XXXcseDiqVMAwBohJo0aZJrrrkmF1xwQc4555zMnj07m2yySS699NIss8wy5Y4HwBKw//77p1mzZhkzZkxuv/32LLPMMunRo0cuuuiirLjiiuWOBxWrqlAoFModAgAAAACWBu4uCwAAAABFUqYBAAAAQJGUaQAAAABQJGUaAAAAABRJmQYAAAAARVKmAQAAAECRlGkAAAAAUCRlGgCwVBk7dmy6du2aHj16ZPLkyfOtP/DAA7PLLruUIVly5plnZoMNNijLvr9O165dM3To0HLHWKD+/fvnzDPPrH39xhtvpGvXrhk7dmy97qeSjwEAsPRQpgEAS6VPPvkkv/zlL8sdgwaw4oor5uabb06/fv3KHQUAYD7KNABgqbTVVlvlrrvuyosvvljuKPWiUChk5syZ5Y5REZo3b57vfve7ad++/RLf94wZM5b4PgGApYsyDQBYKh1xxBFp27ZtLr744q8dO2vWrFx66aXp379/1ltvvWy11Vb52c9+lpqamjrj+vfvn6OOOioPPvhgBg4cmPXXXz877rhjHnzwwSSfXWK644475rvf/W722muv/Pvf/17g/l566aUcfPDB+e53v5vNNtss55577nwlTdeuXXPuuefmpptuyo477pgePXrk9ttvT5L897//zamnnprevXtnvfXWy4477pgbb7yxqOPy0Ucf5eyzz06vXr2ywQYb5PDDD8+rr766wLGLs5+5c+dm9OjR2W233bL++utn4403zj777JMHHnggSfLDH/4wm2666QLLqYMOOig777zzQre9oMs8hw4dmq5du+all17K4MGDs9FGG2XzzTfPWWedlQ8//HCRjsG8bT7//PM58cQTs8kmm2TbbbdN8lm5eeONN9Z+vk022SQnnnhiJk2aVGcbL7zwQo466qjaY7jllltm0KBBeeutt4o6jgDA0qdpuQMAACyKZZddNsccc0zOP//8PP744+ndu/cCxxUKhRx77LEZN25cBg0alI033jgTJkzI0KFD8/TTT+fmm29O8+bNa8e/+OKLueyyy3L00UenVatWGT58eE444YQMGjQojz/+eAYPHpyqqqpcfPHFOfroo/PAAw+kRYsWte//9NNPM2jQoHz/+9/PoEGD8q9//SsjRozIm2++mauuuqpOtvvvvz///Oc/c9xxx6VDhw5Zfvnl8/LLL2fffffNKquskjPOOCMrrLBCHnvssZx33nmZOnVqjj/++IUek3mf9V//+leOO+649OjRI0899VSOPPLI+cYuzn6Sz+4P98c//jF77bVXTjzxxDRr1iwvvPBC7X3sDjrooNx222256667svfee9fZ7xNPPJFzzjnnK7e/MCeccEJ22mmn7LXXXvnPf/6TSy+9NEkyZMiQko/Bl7e57777Zvr06UmSc845J7fffnsOPPDAnHbaafnggw8yfPjw7LvvvrnjjjvSoUOHTJ8+PYceemhWW221nHPOOenQoUOmTJmSJ554Ih9//PEifT4AoPIp0wCApda+++6bUaNG5ZJLLsnvf//7VFVVzTfmsccey2OPPZbTTz89RxxxRJJkiy22yMorr5xTTjklf/jDH7LPPvvUjp82bVpuueWWrLTSSkmSlVZaKbvttltuueWW3HfffWnZsmXt2OOOOy5/+9vf0r9//9pln376aQ499NAcdNBBtftq2rRpLr/88jz55JPZaKONasdOnz49d955Z9q0aVO77PDDD8+yyy6bm266Ka1atardxieffJKRI0fmwAMPrDP+ix599NE88cQT+dGPflRn/82aNcvll19eZ+yQIUMWeT///Oc/c8cdd+Too4/OKaecUru8T58+tX9eZ511summm+bGG2+sU6bdcMMNadWqVQYOHLjAbX+dvfbaq/bruPnmm+e1117LbbfdlgsuuCBVVVUlHYN5Bg4cmBNPPLH29dNPP51bbrklZ555Zg499NDa5RtvvHG23377/OY3v8npp5+eV155JdOmTcv555+fbbbZpnbcTjvttEifDQBYOrjMEwBYajVv3jwnn3xynnvuudxzzz0LHDNu3LgkyR577FFn+Y477phlllkmjz/+eJ3l6667bm2RliSdOnVKkvTq1atOkda5c+ckyZtvvjnfPr/3ve/VeT3v6aJPPPFEneWbbbZZncJq1qxZGTduXLbddtu0aNEis2fPrv3Vp0+fzJo1K08//fQCP+cXt7+w/dfXfh555JEkyf7777/QMclnZ6eNHz8+Tz75ZJLPLr+84447svvuu2fZZZf9yvcuzBeLy+Szy2VnzZqV9957L0nxx+CLtttuuzqvH3zwwVRVVWXXXXetc2w6dOiQddZZJ3//+9+TJGuuuWbatGmTSy65JDfddFNefvnlRfpMAMDSxZlpAMBSbeedd851112Xyy+/vPZ+V180bdq0NG3adL6b2VdVVaVDhw6ZNm1aneVfPhtr3iWgX17erFmzJJ8VU1/UtGnTtGvXrs6yFVZYoTbLgpZ/Mevs2bMzevTojB49er7PkiRTp05d4PJ57/+q/dfXft5///00adJkvu1+2YABA9KxY8eMGTMmG220UcaOHZsZM2Zkv/32+8r3fZW2bdvWeT3v6zPv4Q3FHoMvWnHFFeu8fu+991IoFLL55psvcPzqq6+eJFluueUyevToXHXVVbn88svzwQcfZIUVVsg+++yTY445pvZ7BAD4ZlGmAQBLtaqqqpx22mk59NBDc8stt8y3vm3btpk9e3bef//9OoVaoVDIu+++mx49etRrntmzZ2fq1Kl1ypwpU6bUZvly9i9q3bp1mjRpkt12222hhdNqq6220H3P+6wL23997ad9+/aZM2dOpkyZMl8R9UXV1dXZf//9c/nll+eMM87ImDFj0rt379qz/RpCscfgq7Rr1y5VVVW58cYb69xPb54vLuvatWsuv/zyFAqFTJgwIWPHjs3w4cPTokWLDBo0aPE+DABQkVzmCQAs9TbffPNsscUWGT58+Hw3fp/3YII//vGPdZb/+c9/zvTp0xf64ILFceedd9Z5fddddyVJNt100698X8uWLdOrV6+88MIL6dq1a3r06DHfry+fcfVFvXr1+sr919d+5t0b7aabbvrKz5Mke++9d5o1a5bTTjstr7766tdeGrq4ij0GX6Vfv34pFAp5++23F3hsunbtOt97qqqqss466+SHP/xhWrduneeff37xPggAULGcmQYAfCOcdtpp2WOPPfLee+/lO9/5Tu3yLbbYIltuuWUuueSSfPTRR9lwww0zYcKEXHHFFenWrVt22223es3RrFmz/OY3v8n06dPTo0eP2qd59unTJxtvvPHXvv9HP/pR9ttvv+y///75v//7v3Ts2DEff/xxXn/99fz1r3/NqFGjFvreLbfcMptsskkuvvjizJgxI+utt16eeuqp3HHHHfW6n4033ji77bZbRowYkffeey/9+vVL8+bN88ILL6Rly5Y58MADa8e2bt06u+22W2666aZ07Nhxvnue1bdSjsHCbLTRRvn+97+fH/7wh3nuueeyySabpGXLlpkyZUqefPLJdOnSJfvtt18efPDBjBkzJttss01WX331FAqF/OUvf0lNTU222GKLBvyUAEA5KdMAgG+Ebt26Zeedd57vDKSqqqpceeWVGTp0aMaOHZurrroqbdu2zW677ZbBgwcv8DK+xdGsWbNcddVVOe+88zJixIi0aNEie++9d37wgx8U9f611147Y8eOzZVXXplf/vKXef/997PccstlzTXXTN++fb/yvdXV1RkxYkSGDBmSa6+9Np9++mk23HDDjBw5MjvuuGO97SdJLrzwwnTr1i233XZbxo4dmxYtWmTttdfOUUcdNd/YnXbaKTfddFP23XffVFc37IURpRyDr3LuueemZ8+eufnmm3PTTTdl7ty5WXHFFbPhhhtm/fXXT/LZAwhat26da6+9Nu+8806aNWuWtdZaKxdeeGF23333hvqIAECZVRUKhUK5QwAA8M114YUX5qabbspDDz30lZePAgAsDZyZBgBAg3j66afz3//+N2PGjMn3v/99RRoA8I3gzDQAABpE165d07Jly/Tp0ydDhgzJsssuW+5IAACLTZkGAAAAAEVq2DvAAgAAAMA3iDINAAAAAIqkTAMAAACAIinTAAAAAKBIyjQAAAAAKJIyDQAAAACKpEwDAAAAgCIp0wAAAACgSMo0AAAAACjS/wcqa8LquBaZOwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1500x700 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "resume['conso_moyenne'].plot(kind='bar', color='steelblue', edgecolor='black', rot=0)\n",
    "plt.xlabel(\"Nombre de cylindres\")\n",
    "plt.ylabel(\"Consommation moyenne (L/100 km)\")\n",
    "plt.title(\"Plus de cylindres, plus de consommation\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5. Visualiser la relation complète"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:34:45.716941Z",
     "iopub.status.busy": "2026-10-30T08:34:45.716721Z",
     "iopub.status.idle": "2026-10-30T08:34:45.949649Z",
     "shell.execute_reply": "2026-10-30T08:34:45.949158Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABNMAAAJ0CAYAAAA4WGUkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAACpSklEQVR4nOzdd3hUZf7+8ftMn/RAKFIEAUNvuoKgAgIqFgRURF1RxC6KvaOrrIpYsKxiRwVlxYIFFdcVFddV8GtFVJQmIB3SM33O+f3Bkh8xCcyEGRIy79d1eUnOeZ4znzBPINx5imFZliUAAAAAAAAAe2Sr6wIAAAAAAACA/QVhGgAAAAAAABAjwjQAAAAAAAAgRoRpAAAAAAAAQIwI0wAAAAAAAIAYEaYBAAAAAAAAMSJMAwAAAAAAAGJEmAYAAAAAAADEiDANAAAAQNJ98cUX6tatmxYsWFDXpQAAsFcI0wAAiMHcuXPVsWPHiv+6dOmiAQMG6Oabb9bmzZtr9cyOHTvqH//4R4Irbdg2b96sf/zjH/rll1/quhRU48knn9RHH31U5frixYvVsWNHLV68uA6qqt7YsWM1duzYffqaDz30kEaOHKk+ffqoe/fuGjJkiG677TatX7++UrulS5fqzjvv1PDhw9W7d2/1799f48aN05dffrlP662tP/74Qx07dtTcuXMrXe/fv7/uuusu3XzzzVq3bl21fevjWAEA4M8cdV0AAAD7kylTpqhdu3YKBAL6+uuv9dRTT+mrr77SvHnzlJaWFtez5syZo+bNmyep0oZpy5Yteuyxx9SyZUt17ty5rsvBnzz11FM67rjjNHTo0ErXu3btqjlz5qhDhw51VFn9UFJSohNPPFHt27dXenq6VqxYoSeeeEIff/yx3n33XeXm5kqS3nvvPS1ZskSnnnqqOnbsKL/fr1deeUXjxo3T1KlTNXLkyLr9RPbCyJEjtXnzZl155ZV65ZVX5HK56rokAADiRpgGAEAcDj74YHXv3l2SdPjhhysajWr69On66KOPdPLJJ8f1rF69eiWhQqD+ycjIYLxL+tvf/lbp4759+6pVq1a66KKLtGDBAp122mmSpAsuuEA33nhjpbYDBw7UqFGj9Pjjj+/XYZokXXzxxbr44ovrugwAAGqNZZ4AAOyFnQHBhg0bJNW8dOymm27S4MGDK1378zJPv9+vqVOnavDgwerevbv69OmjU045Re+++25Fm3Xr1unqq6/WkUceqW7duql///4699xzKy17fP/99zV+/HgdeeSR6tGjh44//ng98MAD8vl8VWrq3bu31qxZowsvvFC9e/fWwIEDde+99yoUClVqGwqF9Nhjj+n4449X9+7d1bdvX40dO1bffvttRRvLsvTyyy9rxIgR6tGjhw477DBNnDixxuVcf/b777/r2muvVb9+/dStWzcdf/zxevnllyvuL168uCJsuPnmmyuW3O5pqezmzZt12223aeDAgerWrZuOPPJITZw4Udu2batos2HDBl133XWVXnvGjBkyTbOizc6la88995yef/55DR48WL1799aYMWP0/fffV3rNWN4n0zT1zDPPaNiwYerWrZv69eunG264QZs2bar0rLFjx+qkk07Sd999pzPOOEM9evTQ4MGD9cYbb0iSPv30U40aNUo9e/bU8OHD9dlnn1Xq/49//EMdO3bUsmXLNHHiRB166KHq06ePpkyZokgkolWrVun8889X7969NXjwYD3zzDOV+geDQd17770aMWJERd8xY8ZUWc7ZsWNH+Xw+vfnmmxXvzc6vhZqW7i1YsEBjxoxRz5491bt3b5133nn67rvvqq1/+fLluuaaa3TooYeqf//+uvnmm1VaWlrj+76TZVl65plndPTRR6t79+4aNWqUFi5cWG3bsrKyiq/Bbt266aijjtLdd99d5Wtn/vz5Gj16tA499FD17NlTQ4YM0c0337zHWqrTqFEjSZLD8f9/xt24ceMq7ex2u7p27aqNGzfu8Zl7+55LsX1NSKqYZda7d28deuihuuqqqyp9be3qxx9/1CWXXFKxzHXEiBF677339vj5VNd35MiRev/99yu1ieXPUAAAEoGZaQAA7IU1a9ZI+v//IN4bU6ZM0TvvvKOrrrpKnTt3lt/v12+//aaioqKKNhdeeKFM09T111+vFi1aqLCwUN99951KSkoq2vz+++8aMGCAzj33XHm9Xq1atUrPPPOMlixZopkzZ1Z6zXA4rEsvvVSnnXaaxo8fr//7v//T9OnTlZGRocsvv1ySFIlEdMEFF+ibb77ROeecUzEj74cffqj0D/vbb79db775psaOHavrrrtOxcXFevzxx3XGGWfo7bffVl5eXo2f+4oVK3TGGWfogAMO0I033qgmTZro888/11133aXCwkJdfvnl6tq1q6ZMmaKbb75Zl156qQYNGiRJu10qu3nzZp166qmKRCK65JJL1LFjRxUWFurzzz9XcXGx8vLyVFBQoDPOOEPhcFhXXnmlWrZsqU8//VRTp07V2rVrdccdd1R65ssvv6x27drplltukSQ98sgjFTOLMjMzY36f7rjjDs2ZM0dnn322Bg0apPXr1+uRRx7RV199pblz51YaU1u3btXNN9+sCy64QM2bN9dLL72kW265RRs3btS//vUvXXLJJcrIyND06dM1YcIEffTRR2rWrFmluq+66iqdfPLJOuOMM/Tf//5Xzz77rCKRiL744gudddZZOv/88zVv3jw98MADatOmjY499lhJO4LU4uJijR8/Xs2aNVM4HNYXX3yhK664QlOmTKmYJTVnzhyde+656tu3ry677DJJO2ak1WTevHm67rrrdOSRR+rBBx9UKBTSs88+q7Fjx+qFF17QX/7yl0rtr7jiCp1wwgk67bTT9Ntvv+nBBx+UtOPrZncee+wxPfbYYzrttNN03HHHadOmTbrttttkmqYOOuiginZ+v19nn322Nm3aVDFWli9frkcffVS//fabXnjhBRmGoe+++05XX321TjjhBF1++eVyu93asGGDFi1atNs6dhWJRCpCrXvuuUdt27bVMcccs8c+33zzjQ4++OCYX6e273msXxOBQEDnnXeetmzZomuvvVZt27bVp59+qquvvrpKLYsWLdIFF1ygnj176o477lBGRobee+89XXPNNfL5fBo9enSNn8ef+2ZmZur999/X1VdfrUAgoFNOOUVSbH+GAgCQEBYAANijN954w8rPz7e+//57KxwOW2VlZdYnn3xiHX744Vbv3r2trVu3WpZlWWeffbZ19tlnV+l/4403WkcffXSla/n5+dajjz5a8fFJJ51kXXbZZTXWUFBQYOXn51svvPBCzHWbpmmFw2Hrq6++svLz861ffvmlUk35+fnW+++/X6nPhRdeaB133HEVH7/55ptWfn6+9eqrr9b4Ot99952Vn59vzZgxo9L1jRs3Wj169LDuu+++3dY5fvx4a8CAAVZpaWml65MnT7a6d+9uFRUVWZZlWUuWLLHy8/OtN954Y/ef+P/cfPPNVteuXa0VK1bU2OaBBx6w8vPzrR9++KHS9b/97W9Wx44drVWrVlmWZVnr1q2z8vPzrZNOOsmKRCIV7X744QcrPz/fevfddy3Liu19WrFihZWfn2/dcccdla7vfNa0adMqrp199tlWfn6+9eOPP1ZcKywstDp37mz16NHD2rRpU8X1X375xcrPz7dmzpxZce3RRx+t9r0ZMWKElZ+fb3344YcV18LhsHX44Ydbl19+eY21RyIRKxwOW7fccos1cuTISvd69epl3XjjjVX6LFq0yMrPz7cWLVpkWZZlRaNR68gjj7ROOukkKxqNVrQrKyuz+vXrZ40ZM6ZK/c8880ylZ95xxx1W9+7dLdM0a6y1uLjY6t69uzVhwoRK17/55hsrPz+/0tfqU089ZXXq1MlasmRJpbYffPCBlZ+fb3366aeWZVnWc889Z+Xn51slJSU1vu7ubNmyxcrPz6/4b/To0ZXew5pMmzbNys/Pt/7973/vse3evuexfk3Mnj3bys/Ptz766KNK7SZNmlTl63TYsGHWiBEjrHA4XKntBRdcYPXv37/ia+rPY2Vn35EjR1bpe/HFF1tHHHFExRja05+hAAAkCss8AQCIw+mnn66uXbvqkEMO0cUXX6y8vDw988wzu511Favu3bvrs88+0wMPPKDFixcrEAhUup+Tk6MDDzywYpnhzz//XGXJlbRjieG1116rI444Qp07d1bXrl119tlnS5JWrVpVqa1hGNUuP925bFWS/vOf/8jtduvUU0+tsfZPPvlEhmHo5JNPrph1E4lElJeXp06dOumrr76qsW8wGNSiRYt0zDHHyOPxVOo/YMAABYPBKssoY/XZZ5+pb9++at++fY1tFi1apA4dOqhHjx6Vrp9yyimyLKvKjKNBgwbJbrdXfNypUydJqjiRMZb3aedyx1GjRlW63qNHD7Vv377KqY1NmjRRt27dKj7OyclRo0aN1Llz50oz0Nq1aydJld6/XeveVfv27WUYhgYMGFBxzeFwqE2bNlVOl5w/f77OOOMM9e7dW126dFHXrl31+uuva+XKlVVeJxarV6/Wli1bNGLECNls///b0fT0dB177LH64Ycf5Pf7K/WpbpwGg0Ft3769xtf57rvvFAwGNXz48ErXDznkELVs2bLStU8++UQHH3ywOnfuXGkMHnnkkTIMo2IM79wz8aqrrtL7778f92m+ubm5ev311zV79mzdddddKi4u1jnnnKMtW7bU2Oe1117Tk08+qfHjx1c53GF3avuex/o1sXjxYqWnp2vIkCGV2p100kmVPl6zZo1WrVqlESNGVFrOKu14X7dt26bVq1dX+zns7LvzPfzznw9bt26t6LunP0MBAEgUlnkCABCHqVOnqn379nI4HGrcuLGaNm2asGdPmjRJzZs31/vvv69nnnlGbrdbRx55pG644Qa1bdtWhmHohRde0OOPP65nn31W9957r3JycjR8+HBdddVVysjIUHl5uc466yy53W5dddVVatu2rTwejzZt2qTLL7+8yj8uvV6v3G53pWsul0vBYLDi44KCAjVt2rRS6PFn27dvl2VZ6t+/f7X3W7duXWPfoqIiRSIRzZo1S7Nmzaq2TWFhYY39d6ewsLDKcsfqXv/PwYqkivf2z0vEcnJyKn288zTCnb9nsbxPO59Z3fhp2rRplTDsz6+583Wzs7N3W8uu/tzW6XRW+/47nU6VlZVVfPzhhx/qqquu0rBhw3TBBRcoLy9Pdrtd//znPyv2bYvXzvezSZMmVe41bdpUpmmqpKREXq+34npNv++7C0x2/j5XF3b/+dr27du1Zs0ade3adbc1H3bYYXr88cc1a9Ys3XjjjQqFQjr44IN1ySWXVAmRquNwOCoCuUMPPVRHHXWUhgwZoqefflqTJk2q0v6NN97Q7bffrjFjxuiGG27Y4/N3Vdv3PNaviaKioph+b3fuofbggw9q2rRple5ZliWp5q/xnX2nTp2qqVOnVttmZ989/RkKAECiEKYBABCH9u3bV/xDuDoul6vSP0p3iiUMSktL08SJEys2x//ss8/04IMP6pJLLtEHH3wgSWrZsqXuueceSTtm98yfP1+PPfaYQqGQJk+erEWLFmnLli2aNWuW+vTpU/HsWDZqr0mjRo30zTffyDTNGgO13NxcGYahl19+uSLk2FV113bKysqS3W7XiBEjdNZZZ1XbplWrVrWqPTc3d48zh3JycrR169Yq13fOFMrNzY37dff0Pu0MhrZs2VJlz7ctW7bU6jWT5Z133lGrVq308MMPyzCMiusvvvhirZ+58/Or6ffdZrMpKyur1s/faefvc3Ub4m/btq1SYJSbmyu3213xvtVUsyQNHTpUQ4cOVSgU0vfff6+nnnpK1157rVq2bKnevXvHVWPz5s3VtGlT/f7771XuvfHGG5o0aZJGjhypO++8s9LvfzLF+jWRk5OjJUuWVGn359/vne0vueQSHX/88dW+ZosWLaq9vrPvxRdfXOO+cjv3vovlz1AAABKBZZ4AACRQy5Yt9fvvv1c6DXPn5vPxyMvL0ymnnKITTzxRq1evrrLkTdrxD8jLLrtM+fn5+vnnnyWp4h/bfw6vXnnllXg/lQpHHXWUgsGg5s6dW2ObQYMGybIsbd68Wd27d6/yX8eOHWvs6/V61bdvX/3888/q2LFjtf13/oM6ltlIuxowYIAWL15cZXnrrvr166cVK1bop59+qnT9rbfekmEY6tu3b0yvVZPq3qfDDz9c0o6galdLlizRypUrK+7XB4ZhyOl0Vgpytm7dqgULFlRp63K5YnpvDjroIDVr1kzvvvtuxcwkSfL5fPrwww/Vq1evSrPSaqtXr15yu92aN29epevffvttlaWsgwYN0rp165STk1PtGKwu0HW5XOrTp4+uv/56Sap4f+OxZs0abdq0SW3atKl0fe7cuZo0aZJOPvlk3X333fssSJNi/5ro27evysvLq4yFP5+e2a5dO7Vt21bfffed2rVrp/bt21f5r6b3e2ffZcuWVfu+dO/evdqDLmL5MxQAgNpiZhoAAAk0YsQIzZkzR9ddd51OP/10FRUV6dlnn93tqYY7jR49WoMGDVLHjh2VnZ2tlStX6u2331bv3r3l9Xq1bNky/f3vf9ewYcPUpk0bOZ1OLVq0SL/++qsuuugiSVLv3r2VnZ2tv/3tb7r88svlcDg0b948/frrr7X+nE466STNnTtXd9xxh1avXq2+ffvKsiz98MMPat++vU488UQdeuihGjNmjG655RYtXbpUhx12mLxer7Zu3apvvvlG+fn5Nc46k6Rbb71VZ511lv7617/qzDPPVMuWLVVeXq61a9fq448/rjiF9MADD5TH49G8efPUvn17paWlqWnTpjUu5bzyyiv12Wef6eyzz9bFF1+s/Px8lZaW6j//+Y/GjRun9u3ba9y4cXrrrbd08cUXa+LEiWrRooU+/fRTzZ49W2eeeWalEx9jEcv71K5dO40ZM0YvvfSSbDabBgwYUHGa5wEHHKBx48bF9ZrJNGjQIH344Ye64447Kk7DnD59erWzqfLz8/XVV1/p448/VpMmTZSenl6xj9uubDabrr/+el133XW6+OKLNWbMGIVCIT333HMqKSnRtddem5Das7OzNX78eD3xxBO69dZbNWzYMG3atEn/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RV27dtWFF16ovn376rHHHiu2em7atGlq3769du7cqTFjxqh9+/bq3r27Hn30UQWDwSJjg8GgZs+erb59+yorK0udO3fWyJEjtX79+sIxlmVpwYIFGjhwoC688EJdfPHFmjRpknbv3n3a/x2DwaDeeust9e/fv9iqtGjOfcI777yjvn37qm3btrrmmmu0atWqYmMGDBig/Px8LV269LR1AQAAnI4j1gUAAADEk507d0qSateufcbHeuSRR/Tee+9p8uTJatWqlXw+n/71r3/p6NGjhWPGjBkj0zQ1depUNWzYUEeOHNGGDRuUm5tbOOaHH37Q5ZdfrptvvllJSUnavn275syZo02bNmn+/PlFzhkKhXTbbbdpyJAhuuWWW/TFF1/o2WefVWpqqiZOnChJCofDGj16tNatW6ebbrpJXbp0USQS0caNG/Xvf/+78FgPPPCA3n77bY0cOVJ33nmnjh07pmeeeUbXX3+93n33XdWtW/ekn33Tpk06evSoOnfuXGR7tOeWpI8//lhfffWVJk2aVHgr58SJE7V8+XKdffbZheMyMjJ03nnnKScnR0OGDIn+/yAAAIASEKYBAACcgmmaCofDCgQC+uKLL/Tcc88pJSWl2KqzstiwYYMuu+wy/frXvy7cdsUVVxT+/ciRI9qxY4fuvfdeDRw4sHD7L2+LHD9+fOHfLctShw4d1KxZM91444369ttv1bJly8L9oVBIt99+u/r27StJuuSSS7R582YtWbKkMExbsmSJ1q5dq4ceeqjIM95+/pm//PJLvfnmm5o2bZpGjRpVuL1jx4761a9+pZdffllTp0495WeXpAsuuKDI9mjOfUIgENDLL7+s1NTUwmN169ZN2dnZGjt2bJGxrVu31ueff37SegAAAKJFmAYAAHAKw4YNK/J1ixYtNH369FOuuopWVlaW3n//fT322GPq1q2b2rZtK4/HU7i/Vq1aatKkiebNmyfTNNW5c2e1bNmy2G2Ru3fv1lNPPaU1a9bo0KFDsiyrcN/27duLhGmGYZR4++maNWsKv/7kk0/kdrt13XXXnbT2VatWyTAMXXPNNQqHw4Xb69atq5YtW+of//jHKT/7gQMHZBiG0tPTi2yP5twndO7cuTBIO3HuOnXqaO/evcXG1qlTR4cOHVI4HJbDwY/AAACg7PhJAgAA4BRmzpypZs2ayeFwqE6dOqpXr165Hfu+++5TgwYNtGzZMs2ZM0dut1tdu3bVXXfdpXPPPVeGYeh//ud/9Mwzz2ju3Ll69NFHVatWLQ0YMECTJ09WamqqCgoKdMMNN8jtdmvy5Mk699xz5fF4tG/fPk2cOFF+v7/IOZOSkuR2u4tsc7lcCgQChV8fPnxY9erVO+UbNk+EdpdeemmJ+39+m2VJAoGAHA6H7HZ7ke3RnPuEWrVqFdv2y89ygtvtlmVZhecFAAAoK36SAAAAOIVmzZopKyvrpPtdLpfy8/OLbT9y5Mhpj52cnKxJkyZp0qRJ+umnn7R69Wo9/vjjGjdunJYvXy5JatSokR5++GFJ0o4dO5Sdna3Zs2crGAxqxowZWrNmjQ4cOKBXX31VnTp1Kjx2Xl5eaT9qodq1a2vdunUyTfOkoVZ6eroMw9CCBQvkcrmK7S9p2y/nh0Iheb1eJScnl+rcZXH06FG5XC6lpKSU2zEBAEBi4m2eAAAAZ6BRo0b64YcfirwN88RLAkqjbt26Gjx4sPr166cdO3bI5/MVG9O0aVONHz9eLVq00JYtWyQdv21TKh5evfHGG6X9KIW6deumQCCgxYsXn3TMFVdcIcuytH//fmVlZRX7LzMz85TnaNq0qSRp165dpT53WezZs0fNmzcv12MCAIDExMo0AACAMzBw4EAtXLhQd955p4YNG6ajR49q7ty5RZ7ldTJDhw7VFVdcoczMTNWsWVPbtm3Tu+++q/bt2yspKUnffvutHnzwQfXp00fnnHOOnE6n1qxZo++++67wAfvt27dXzZo19fvf/14TJ06Uw+HQ+++/r++++67Mn6l///5avHixpk+frh07dqhz586yLEsbN25Us2bN1K9fP1100UUaPny47r33Xm3evFkXX3yxkpKSdPDgQa1bt04tWrTQDTfccNJznHiL58aNG4s80y2ac5eWaZratGkTb/IEAADlgjANAADgDFx00UWaOXOmXnzxRY0fP15nn322JkyYoNWrV5/2IfxdunTRypUr9corr8jn86l+/fq69tprNW7cOElSRkaGmjRpotdee0379u2TdPxZZHfffbdGjhwp6fjtki+88IJmzpypqVOnKikpST179tSTTz6pQYMGlekzORwOzZkzRy+88IKWLl2qV155RSkpKWrZsqW6detWOG7GjBlq27atFi5cqNdff12maapevXrq0KGDLrzwwlOe46yzzlLHjh310Ucfafjw4aU+d2msXbtWeXl5GjBgQJnmAwAA/Jxh/fx1TwAAAEAl+eCDD3THHXdo1apVql+/foWdZ+rUqdq9e/cZ3foKAABwAs9MAwAAQEz07t1bWVlZeuGFFyrsHLt27VJ2drbuvPPOCjsHAABILIRpAAAAiAnDMPTggw+qXr16Mk2zQs7x448/6v7771fHjh0r5PgAACDxcJsnAAAAAAAAECVWpgEAAAAAAABRIkwDAAAAAAAAokSYBgAAAAAAAESJMA0AAAAAAACIEmEaAAAAAAAAECXCNAAAAAAAACBKhGkAAAAAAABAlAjTAAAAAAAAgCj9H2McE4pcjGFlAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1500x700 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "corrélation entre puissance et consommation : 0.76"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(data=voitures, x='hp', y='conso', hue='cyl', palette='viridis', s=120)\n",
    "plt.xlabel(\"Puissance (ch)\")\n",
    "plt.ylabel(\"Consommation (L/100 km)\")\n",
    "plt.title(\"Puissance et consommation des 32 modèles\")\n",
    "plt.show()\n",
    "\n",
    "display(Markdown(f\"Corrélation entre puissance et consommation : {voitures['hp'].corr(voitures['conso']):.2f}\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6. Conclure"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Une 4 cylindres consomme en moyenne **9,0 L/100 km**, une 6 cylindres **12,0** et une 8 cylindres **16,1** : la consommation augmente de près de 80 % entre les deux extrêmes. Le nuage de points montre que la puissance explique largement ce phénomène : les deux grandeurs sont corrélées à **0,76** : et que le nombre de cylindres n'en est qu'un indicateur commode.\n",
    "\n",
    "Rien de surprenant pour qui s'intéresse aux voitures. Ce qui doit retenir votre attention, c'est le **chemin parcouru** : d'un fichier texte de 32 lignes nous sommes arrivés à une affirmation chiffrée et à deux graphiques, en une quinzaine d'instructions."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Ce que nous venons de faire, et où vous l'apprendrez\n",
    "\n",
    "| Étape | Outil | Où |\n",
    "|---|---|---|\n",
    "| Lire un fichier de données | `read_csv` | chapitre *DataFrames* |\n",
    "| Afficher, décrire, inspecter | `head`, `shape`, `describe` | chapitre *DataFrames* |\n",
    "| Sélectionner des colonnes | `df[['a','b']]` | chapitres *Series* et *DataFrames* |\n",
    "| Créer une colonne calculée | `df['new'] = ...` | chapitre *DataFrames* |\n",
    "| Trouver un extremum | `idxmin`, `idxmax` | chapitre *DataFrames* |\n",
    "| Regrouper et agréger | `groupby`, `agg` | chapitre *DataFrames* |\n",
    "| Visualiser | `plot`, `seaborn` | tout au long du cours |\n",
    "| Interpréter | votre tête | cours d'analyse de données |\n",
    "| Prévoir | - | cours de modélisation  |"
   ]
  }
 ],
 "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.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
