{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "title : \"Premières manipulations avec Pandas\"\n",
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-block alert-info\">\n",
    "\n",
    "## Exercice : premières manipulations de Series\n",
    "\n",
    "- Construire la Series suivante :\n",
    "\n",
    "![](exo_099.png)\n",
    "\n",
    "- Modifier la valeur de `value` à 10 pour l'élément en position 3.\n",
    "- Afficher les éléments avec `value` supérieur à 5.\n",
    "- Modifier la valeur de `value` à 0 pour les éléments avec un `value` inférieur à 5.\n",
    "- Ajouter un élément avec un `value` de 3.5 à la Serie (cet élément doit avoir un label différent).\n",
    "- Modifier les indices de la Serie pour qu'ils soient des lettres de l'alphabet.\n",
    "\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:17.666205Z",
     "iopub.status.busy": "2026-10-30T08:35:17.663572Z",
     "iopub.status.idle": "2026-10-30T08:35:18.030200Z",
     "shell.execute_reply": "2026-10-30T08:35:18.028993Z"
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "\n",
    "# help(pd.Series)\n",
    "\n",
    "from IPython.display import display, Markdown"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.034209Z",
     "iopub.status.busy": "2026-10-30T08:35:18.033797Z",
     "iopub.status.idle": "2026-10-30T08:35:18.049470Z",
     "shell.execute_reply": "2026-10-30T08:35:18.048544Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    12\n",
       "1    -4\n",
       "2     7\n",
       "3     9\n",
       "dtype: int64"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# creation et affichage de la serie\n",
    "# s = pd.Series([12, -4, 7, 9])\n",
    "s = pd.Series(data=[12, -4, 7, 9])\n",
    "s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.093673Z",
     "iopub.status.busy": "2026-10-30T08:35:18.093459Z",
     "iopub.status.idle": "2026-10-30T08:35:18.097857Z",
     "shell.execute_reply": "2026-10-30T08:35:18.097254Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([12, -4,  7,  9])"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# affichage des valeurs de la serie\n",
    "s.values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.099757Z",
     "iopub.status.busy": "2026-10-30T08:35:18.099588Z",
     "iopub.status.idle": "2026-10-30T08:35:18.103566Z",
     "shell.execute_reply": "2026-10-30T08:35:18.103060Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    12\n",
       "1    -4\n",
       "2     7\n",
       "3    10\n",
       "dtype: int64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# modification de la valeur de l'element d'indice 3\n",
    "# s[3] = 10      # ambiguïté possible entre position et étiquette\n",
    "# s.iloc[3] = 10 # modification par position\n",
    "s.loc[3] = 10    # modification par étiquette\n",
    "s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.105369Z",
     "iopub.status.busy": "2026-10-30T08:35:18.105208Z",
     "iopub.status.idle": "2026-10-30T08:35:18.112453Z",
     "shell.execute_reply": "2026-10-30T08:35:18.111931Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0     True\n",
       "1    False\n",
       "2     True\n",
       "3     True\n",
       "dtype: bool"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "0    12\n",
       "2     7\n",
       "3    10\n",
       "dtype: int64"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# filtre sur les valeurs de la serie\n",
    "mask = s > 5 # création du masque\n",
    "display(mask) # affichage du masque = c'est une serie de booléens\n",
    "display(s[mask]) # affichage des valeurs filtrées"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.114844Z",
     "iopub.status.busy": "2026-10-30T08:35:18.114641Z",
     "iopub.status.idle": "2026-10-30T08:35:18.119122Z",
     "shell.execute_reply": "2026-10-30T08:35:18.118685Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    12\n",
       "1     0\n",
       "2     7\n",
       "3    10\n",
       "dtype: int64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# filtre sur les valeurs de la serie et modification des valeurs\n",
    "s[ s<5 ] = 0\n",
    "s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.120972Z",
     "iopub.status.busy": "2026-10-30T08:35:18.120800Z",
     "iopub.status.idle": "2026-10-30T08:35:18.126330Z",
     "shell.execute_reply": "2026-10-30T08:35:18.125058Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0     12\n",
       "1      0\n",
       "2      7\n",
       "3     10\n",
       "4    100\n",
       "dtype: int64"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Ajout d'une valeur à la serie\n",
    "# \n",
    "# VISION NUMPY\n",
    "# Concatenantion de deux series dont une contenant une seule valeur\n",
    "\n",
    "# # L = pd.Series([3.5])\n",
    "# # # s = pd.concat( [s,L] ) # PB !!!! deux fois le même index\n",
    "# # s = pd.concat( [s,L] , ignore_index=True)\n",
    "# # display(s)\n",
    "\n",
    "# # Autre idée :\n",
    "# L = pd.Series(data=[3.5], index=[len(s)])\n",
    "# s = pd.concat( [s,L] )\n",
    "# display(s)\n",
    "\n",
    "\n",
    "\n",
    "# VISION DICTIONNAIRE\n",
    "s[len(s)] = 100\n",
    "display(s)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.129402Z",
     "iopub.status.busy": "2026-10-30T08:35:18.129134Z",
     "iopub.status.idle": "2026-10-30T08:35:18.133854Z",
     "shell.execute_reply": "2026-10-30T08:35:18.133387Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "a     12\n",
       "b      0\n",
       "c      7\n",
       "d     10\n",
       "e    100\n",
       "dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# changement des indices\n",
    "s.index = ['a', 'b', 'c', 'd', 'e']\n",
    "s"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-block alert-info\">\n",
    "\n",
    "## Exercice : premières manipulations de DataFrame\n",
    "\n",
    "- Construire le DataFrame suivant :\n",
    "\n",
    "![](exo_100.png)\n",
    "\n",
    "- Afficher les lignes correspondant aux objets dont le prix est supérieur ou égale à 1.\n",
    "- Modifier le prix de l'objet \"eraser\" pour le passer à 0.2.\n",
    "\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "La construction du DataFrame peut se faire en deux étapes. D'abord, on crée un dictionnaire avec les données (colonne par colonne), puis on crée le DataFrame à partir de ce dictionnaire."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.135907Z",
     "iopub.status.busy": "2026-10-30T08:35:18.135719Z",
     "iopub.status.idle": "2026-10-30T08:35:18.144864Z",
     "shell.execute_reply": "2026-10-30T08:35:18.144253Z"
    }
   },
   "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>color</th>\n",
       "      <th>object</th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>red</td>\n",
       "      <td>pen</td>\n",
       "      <td>1.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>green</td>\n",
       "      <td>pencil</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>blue</td>\n",
       "      <td>marker</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>yellow</td>\n",
       "      <td>eraser</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>black</td>\n",
       "      <td>ruler</td>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    color  object  price\n",
       "0     red     pen    1.2\n",
       "1   green  pencil    0.6\n",
       "2    blue  marker    1.0\n",
       "3  yellow  eraser    0.7\n",
       "4   black   ruler    1.5"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "# un dictionaire de listes, chaque liste representant une colonne\n",
    "data = {'color' :  ['red', 'green', 'blue', 'yellow', 'black'],\n",
    "        'object' : ['pen', 'pencil', 'marker', 'eraser', 'ruler'],\n",
    "        'price' :  [1.2, 0.6, 1.0, 0.7, 1.5]}\n",
    "\n",
    "df = pd.DataFrame(data)\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On va séléctionner les lignes du DataFrame en utilisant un masque :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.147354Z",
     "iopub.status.busy": "2026-10-30T08:35:18.147155Z",
     "iopub.status.idle": "2026-10-30T08:35:18.153523Z",
     "shell.execute_reply": "2026-10-30T08:35:18.153085Z"
    }
   },
   "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>color</th>\n",
       "      <th>object</th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>red</td>\n",
       "      <td>pen</td>\n",
       "      <td>1.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>black</td>\n",
       "      <td>ruler</td>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   color object  price\n",
       "0    red    pen    1.2\n",
       "4  black  ruler    1.5"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mask = (df['price'] > 1.0) \n",
    "df[ mask ] # application du masque à toutes les colonnes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.155386Z",
     "iopub.status.busy": "2026-10-30T08:35:18.155216Z",
     "iopub.status.idle": "2026-10-30T08:35:18.159528Z",
     "shell.execute_reply": "2026-10-30T08:35:18.158584Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0     True\n",
       "1    False\n",
       "2    False\n",
       "3    False\n",
       "4     True\n",
       "Name: price, dtype: bool"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# pour comprendre\n",
    "mask\n",
    "# Dans la sortie on voit l'indice de la ligne et un booléen qui indique si la condition est vraie ou fausse pour cette ligne"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On va modifier la valeur d'une cellule : avec `.loc` on peut accéder à une cellule en utilisant les indices de la ligne et de la colonne. Pour trouver l'indice de la ligne correspondant à l'objet \"eraser\", on peut utiliser un masque."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.162241Z",
     "iopub.status.busy": "2026-10-30T08:35:18.161999Z",
     "iopub.status.idle": "2026-10-30T08:35:18.169142Z",
     "shell.execute_reply": "2026-10-30T08:35:18.168686Z"
    }
   },
   "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>color</th>\n",
       "      <th>object</th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>red</td>\n",
       "      <td>pen</td>\n",
       "      <td>1.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>green</td>\n",
       "      <td>pencil</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>blue</td>\n",
       "      <td>marker</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>yellow</td>\n",
       "      <td>eraser</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>black</td>\n",
       "      <td>ruler</td>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    color  object  price\n",
       "0     red     pen    1.2\n",
       "1   green  pencil    0.6\n",
       "2    blue  marker    1.0\n",
       "3  yellow  eraser    0.2\n",
       "4   black   ruler    1.5"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "label_de_la_ligne = (df['object']=='eraser')\n",
    "label_de_la_colonne = 'price'\n",
    "df.loc[ label_de_la_ligne, label_de_la_colonne ] = 0.2\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pour comprendre:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.170908Z",
     "iopub.status.busy": "2026-10-30T08:35:18.170741Z",
     "iopub.status.idle": "2026-10-30T08:35:18.175174Z",
     "shell.execute_reply": "2026-10-30T08:35:18.174477Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    False\n",
       "1    False\n",
       "2    False\n",
       "3     True\n",
       "4    False\n",
       "Name: object, dtype: bool"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['object']=='eraser'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.178852Z",
     "iopub.status.busy": "2026-10-30T08:35:18.178164Z",
     "iopub.status.idle": "2026-10-30T08:35:18.185356Z",
     "shell.execute_reply": "2026-10-30T08:35:18.184796Z"
    }
   },
   "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>color</th>\n",
       "      <th>object</th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>yellow</td>\n",
       "      <td>eraser</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    color  object  price\n",
       "3  yellow  eraser    0.2"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[ df['object']=='eraser', : ]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-block alert-info\">\n",
    "\n",
    "## Exercice : dict de dict en DataFrame\n",
    "\n",
    "Transformer en dataframe le dictionnaire de dictionnaires suivant:\n",
    "```python\n",
    "pop = {'Nevada': {2001: 2.4, 2002: 2.9},\n",
    "       'Ohio'  : {2000: 1.5, 2001: 1.7, 2002: 3.6}}\n",
    "```\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Une autre forme courante de données est un dictionnaire qui contient plusieurs autres dictionnaires.\n",
    "Si le dictionnaire priciapl est passé au DataFrame, pandas interprétera les clés du dictionnaire extérieur comme étant les colonnes, et les clés intérieures comme étant les indices des lignes :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.187288Z",
     "iopub.status.busy": "2026-10-30T08:35:18.187113Z",
     "iopub.status.idle": "2026-10-30T08:35:18.195214Z",
     "shell.execute_reply": "2026-10-30T08:35:18.194421Z"
    }
   },
   "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>Nevada</th>\n",
       "      <th>Ohio</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2001</th>\n",
       "      <td>2.4</td>\n",
       "      <td>1.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2002</th>\n",
       "      <td>2.9</td>\n",
       "      <td>3.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      Nevada  Ohio\n",
       "2001     2.4   1.7\n",
       "2002     2.9   3.6\n",
       "2000     NaN   1.5"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "pop = {'Nevada': {2001: 2.4, 2002: 2.9},\n",
    "       'Ohio'  : {2000: 1.5, 2001: 1.7, 2002: 3.6}}\n",
    "\n",
    "pd.DataFrame(data=pop)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-block alert-info\">\n",
    "\n",
    "## Exercice : régression linéaire\n",
    "\n",
    "Source : problème 32 de *\"Python & Pandas et les 36 problèmes de Data Science\"*, Frédéric Bro et Chantal Remy\n",
    "\n",
    "Dans *The Song of Insects*, George W. Pierce a mesuré la fréquence des stridulations : le son produit par le frottement des ailes : de plusieurs insectes, ainsi que la température à laquelle ces stridulations ont été enregistrées. L'idée est ancienne et connue des naturalistes : un insecte stridulerait d'autant plus vite qu'il fait chaud, au point de pouvoir servir de thermomètre.\n",
    "\n",
    "Le fichier `grillons.csv` contient **15 relevés** pour le **grillon rayé** (*Nemobius fasciatus*) : le nombre de stridulations par seconde et la température en degrés Fahrenheit.\n",
    "\n",
    "1. Charger le fichier et afficher les données.\n",
    "2. Établir par **régression linéaire** la relation entre la fréquence des stridulations et la température. Autrement dit, en notant $x$ la fréquence et $y$ la température, on cherche $a$ et $b$ tels que $y \\approx ax+b$. La méthode des moindres carrés consiste à minimiser la somme des carrés des écarts entre valeurs observées et valeurs prédites :\n",
    "$$\n",
    "(a,b)\\qquad\\text{tels que}\\qquad\\sum_{i=1}^n \\bigl(y_i - (a x_i + b)\\bigr)^2 \\quad\\text{soit minimale.}\n",
    "$$\n",
    "3. Quelle température prédit-on lorsque le grillon stridule 19 fois par seconde ?\n",
    "4. Vérifier que la droite de régression passe par le point moyen du nuage.\n",
    "5. Calculer le coefficient de corrélation linéaire $r$ et conclure sur la qualité de l'ajustement.\n",
    "\n",
    "**Bonus.** Le fichier `cigales.csv` contient **19 relevés** analogues pour la **cigale** *Tibicen linnei*. Refaire la même analyse et comparer les deux espèces : la cigale est-elle un aussi bon thermomètre que le grillon ?\n",
    "\n",
    "</div>\n",
    "\n",
    "Les coefficients de la droite s'obtiennent avec la fonction `polyfit` de NumPy, qui prend les abscisses, les ordonnées et le degré du polynôme à ajuster : ici 1. Elle renvoie les coefficients par puissances décroissantes :\n",
    "\n",
    "```python\n",
    "import numpy as np\n",
    "a, b = np.polyfit(x_points, y_points, 1)\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Le grillon rayé"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Le fichier est au format français : séparateur `;` et virgule décimale. On vérifie les types après lecture, comme toujours."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.197737Z",
     "iopub.status.busy": "2026-10-30T08:35:18.197539Z",
     "iopub.status.idle": "2026-10-30T08:35:18.523590Z",
     "shell.execute_reply": "2026-10-30T08:35:18.523092Z"
    }
   },
   "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>stridulations_par_seconde</th>\n",
       "      <th>temperature_F</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20.0</td>\n",
       "      <td>88.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>16.0</td>\n",
       "      <td>71.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>19.8</td>\n",
       "      <td>93.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>18.4</td>\n",
       "      <td>84.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>17.1</td>\n",
       "      <td>80.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>15.5</td>\n",
       "      <td>75.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>14.7</td>\n",
       "      <td>69.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>17.1</td>\n",
       "      <td>82.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>15.4</td>\n",
       "      <td>69.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>16.2</td>\n",
       "      <td>83.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>15.0</td>\n",
       "      <td>79.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>17.2</td>\n",
       "      <td>82.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>16.0</td>\n",
       "      <td>80.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>17.0</td>\n",
       "      <td>83.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14.4</td>\n",
       "      <td>76.3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    stridulations_par_seconde  temperature_F\n",
       "0                        20.0           88.6\n",
       "1                        16.0           71.6\n",
       "2                        19.8           93.3\n",
       "3                        18.4           84.3\n",
       "4                        17.1           80.6\n",
       "5                        15.5           75.2\n",
       "6                        14.7           69.7\n",
       "7                        17.1           82.0\n",
       "8                        15.4           69.4\n",
       "9                        16.2           83.3\n",
       "10                       15.0           79.6\n",
       "11                       17.2           82.6\n",
       "12                       16.0           80.6\n",
       "13                       17.0           83.5\n",
       "14                       14.4           76.3"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "stridulations_par_seconde    float64\n",
       "temperature_F                float64\n",
       "dtype: object"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "grillons = pd.read_csv('grillons.csv', sep=';', decimal=',')\n",
    "\n",
    "display(grillons)\n",
    "display(grillons.dtypes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.526063Z",
     "iopub.status.busy": "2026-10-30T08:35:18.525850Z",
     "iopub.status.idle": "2026-10-30T08:35:18.531346Z",
     "shell.execute_reply": "2026-10-30T08:35:18.530838Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "droite de régression : y = 3.291 x + 25.23"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x_points = grillons['stridulations_par_seconde']\n",
    "y_points = grillons['temperature_F']\n",
    "\n",
    "a, b = np.polyfit(x_points, y_points, 1)\n",
    "f = lambda x : a*x + b\n",
    "\n",
    "display(Markdown(f\"droite de régression : y = {a:.3f} x + {b:.2f}\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Prédiction pour un grillon qui stridule 19 fois par seconde :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.533123Z",
     "iopub.status.busy": "2026-10-30T08:35:18.532866Z",
     "iopub.status.idle": "2026-10-30T08:35:18.535956Z",
     "shell.execute_reply": "2026-10-30T08:35:18.535537Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "87.76310079558164"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f(19)   # identique à np.polyval([a, b], 19)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.537563Z",
     "iopub.status.busy": "2026-10-30T08:35:18.537410Z",
     "iopub.status.idle": "2026-10-30T08:35:18.904582Z",
     "shell.execute_reply": "2026-10-30T08:35:18.903350Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHGCAYAAACB5Qr1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAABtt0lEQVR4nO3dd3RU1d7G8e9k0kmBACGhhUjvRTooNSGICBZEQQVRRBAFuTaQqgKKDUVFRUW8CHIVG+pLky4oHWkiYChCYqgJEELK7PePuZlrTALpk0mez1pZy73nzJlfNpE8nLPP3hZjjEFERETERbk5uwARERGR/FCYEREREZemMCMiIiIuTWFGREREXJrCjIiIiLg0hRkRERFxaQozIiIi4tIUZkRERMSlKcyIiIiIS1OYEREpQr/++iu+vr7MmjXL2aWIlBgKMyLi8Ouvv/LAAw9Qs2ZNfHx88PHxoXbt2gwbNoytW7fm+DyDBw+mRo0aGfpq1KjB4MGDHe0jR45gsVj4+OOPC6Z4F3DhwgXuuOMOHn30UR599FFnlyNSYrg7uwARKR7ee+89Ro4cSd26dRk1ahQNGzbEYrGwf/9+Fi5cSKtWrTh06BA1a9a85rkmTJjAqFGjiqBq1/LAAw/QunVrXnzxRWeXIlKiKMyICD/99BMjRoygV69efPHFF3h6ejpe69q1K4888giff/45Pj4+Vz1PYmIivr6+OQo8xU167YXpP//5T6GeX6S00m0mEWHatGlYrVbee++9DEHm7/r160flypUd7cGDB+Pn58fu3buJjIzE39+fbt26OV77522mnNqwYQPdunXD398fX19f2rdvz/fff5/hmI8//hiLxcLq1asZPnw4FSpUoHz58tx2222cPHnymp9xtdpXrFhBnz59qFq1Kt7e3tSqVYthw4Zx+vRpx/vXr1+PxWJh4cKFmc79ySefYLFY2LJli6Nv69at3HLLLQQFBeHt7U3z5s0VbEQKkMKMSCmXlpbG6tWradmyJaGhobl6b3JyMrfccgtdu3blm2++YcqUKfmqZe3atXTt2pX4+Hg+/PBDFi5ciL+/P71792bRokWZjn/wwQfx8PBgwYIFzJgxgzVr1nDPPffkq/bDhw/Trl07Zs+ezfLly5k4cSK//PILHTt2JCUlBYAbbriB5s2b8/bbb2c671tvvUWrVq1o1aoVAKtXr6ZDhw6cP3+ed999l2+++YZmzZrRv3//UjVfSKRQGREp1WJjYw1g7rrrrkyvpaammpSUFMeXzWZzvDZo0CADmI8++ijT+wYNGmTCwsIy9IWFhZlBgwY52tHR0QYwc+fOdfS1bdvWBAcHmwsXLmSooVGjRqZq1aqOz587d64BzIgRIzJ8xowZMwxgYmJirvo9X632v7PZbCYlJcUcPXrUAOabb75xvJZew44dOxx9mzdvNoCZN2+eo69evXqmefPmJiUlJcO5b775ZhMaGmrS0tKuWoOIXJuuzIhItq6//no8PDwcX6+++mqmY26//fYC+axLly7xyy+/cMcdd+Dn5+fot1qt3Hvvvfz5558cOHAgw3tuueWWDO0mTZoAcPTo0Rx9Zla1x8XF8fDDD1OtWjXc3d3x8PAgLCwMgP379zuOu/vuuwkODs5wdWbWrFlUrFiR/v37A3Do0CF+++03Bg4cCEBqaqrj66abbiImJibT9yQiuacJwCKlXIUKFfDx8ckyACxYsIDExERiYmIyBQcAX19fAgICCqSOc+fOYYzJ8lZX+lydM2fOZOgvX758hraXlxcAly9fvubnZVW7zWYjMjKSkydPMmHCBBo3bkyZMmWw2Wy0bds2w3m9vLwYNmwYr776Ki+//DIpKSn85z//YcyYMY46/vrrLwCeeOIJnnjiiSzr+PtcHBHJG4UZkVLOarXStWtXli9fTkxMTIYw0aBBA8C+JkxWLBZLgdVRrlw53NzciImJyfRa+qTeChUqFNjnZVX7nj172LVrFx9//DGDBg1y9B86dCjLcwwfPpwXX3yRjz76iKSkJFJTU3n44Ycdr6fXO3bsWG677bYsz1G3bt38fBsigsKMiGD/Zft///d/PPzww3zxxRd4eHgUeQ1lypShTZs2fPnll7zyyiuOx8BtNhvz58+natWq1KlTp1BrSA846VdW0r333ntZHh8aGkq/fv145513SE5Opnfv3lSvXt3xet26dalduza7du1i2rRphVe4SCmnMCMidOjQgbfffptHH32UFi1a8NBDD9GwYUPHlZLFixcDFNgtpexMnz6diIgIunTpwhNPPIGnpyfvvPMOe/bsYeHChQV6JSgr9erVo2bNmjzzzDMYYwgKCmLJkiWsWLEi2/eMGjWKNm3aADB37txMr7/33nv07NmTHj16MHjwYKpUqcLZ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AKYUiI+PN4CJj4/P0H/58mWzb98+c/nyZSdVljfz5s0zQUFBJikpKUP/bbfdZu69994cnyctLc2cO3fOpKWl5amOXbt2GcAcOnQox++Ji4szgFm7dq0xxpgDBw4YwOzZs8dxTGpqqgkKCjJz5swxxhizevVq4+HhYdatW+c45pVXXjHly5c3J0+ezNHnzp0713Tq1CnHdWZlxIgRpkuXLo52dHS0Acy6devyPIbGGDNjxgwTHh6e7euu+nOaE8nJyebrr782ycnJzi7FZWkM80fjl3+FOYbZ/f7+J12Z+SdjIPmSc75yuIF5v379SEtL49tvv3X0nT59mu+++477778/2/c1bNgQPz8/x1dAQABVq1YlICAAPz8/GjZsmONhunTpEnPnziU8PJxq1arl+H3x8fEABAUFAXDlyhWADLtBW61WPD092bBhAwCdO3dm9OjR3HvvvcTHx7Nr1y6effZZ5syZQ2hoaI4/O7/i4+Mddf/d3XffTUhICB06dOCLL74osPOKiEjOaNfsf0pJhGmVnfPZ406CZ5lrHubj48OAAQOYO3cu/fr1A+DTTz+latWqV72V8sMPP5CSkuJo22w2Ll68iJ+fH25ubjnauv2dd97hqaee4tKlS9SrV48VK1bg6el57e8N+y2lMWPG0LFjRxo1agRAvXr1CAsLY+zYsbz33nuUKVOG1157jdjYWGJiYhzvfeGFF1i5ciUPPfQQe/fu5d577+XWW2/N0ecWhE2bNvGf//yH77//3tHn5+fHq6++StOmTfH39+e7776jf//+zJs3j3vuuSdH5z18+DCzZs3i1VdfLazSRURKPIUZFzV06FBatWrFiRMnqFKlCnPnzmXw4MFYLJZs3xMWFpahbbPZSEhIICAgADe3nF2kGzhwIBEREcTExPDKK69w55138tNPP2W4spKdkSNH8uuvvzquuAB4eHiwePFiHnjgAYKCgrBarXTv3p2ePXtmeK+npyfz58+nSZMmhIWFMXPmzKt+1rFjx2jQoIGjnZqaSkpKCn5+fo6+e+65h3ffffeade/du5c+ffowceJEIiIiHP0VKlRg9OjRjjFs3bo1586dY8aMGTkKMydPniQqKop+/frx4IMPXvN4ERHJmsLMP3n42q+QOOuzc6h58+Y0bdqUTz75hB49erB7926WLFly1fc0bNiQo0ePZvt6WFgYe/fuveo5AgMDCQwMpHbt2rRt25Zy5crx1Vdfcffdd1/1fY8++ijffvst69ato2rVqhleu/7669m5cyfx8fEkJydTsWJF2rRpQ8uWLTMct3HjRgDOnj3L2bNnKVMm+6tYlStXZufOnY72l19+yeLFi/n0008dfQEBAVetGWDfvn107dqVoUOHMn78+Gse37ZtWz744INrHnfy5Em6dOlCu3bteP/99695vIiIZE9h5p8slhzd6ikOHnzwQV5//XVOnDhB9+7drzl3pSBuM/2TMcYx7yW71x999FG++uor1qxZQ3h4eLbHBgYGAnDw4EG2bt3K888/73jt8OHDPP7448yZM4f//Oc/3Hffffz444/ZXlFyd3enVq1ajnZwcDA+Pj4Z+q5l7969dO3alUGDBjF16tQcvWfHjh3XnMdz4sQJunTp4ng6LKdXxUREJGsKMy5s4MCBPPHEE8yZM4dPPvnkmsfn5zbTH3/8waJFi4iMjKRixYqcOHGCl156CR8fH2666SbHcd26dePWW29l5MiRADzyyCMsWLCAb775Bn9/f2JjYwF7cPHx8QHg888/p2LFilSvXp3du3czatQo+vbtS2RkJABpaWnce++9REZGcv/999OzZ08aN27Mq6++ypNPPpnzAcuFvXv30qVLFyIjIxkzZoyjbqvVSsWKFQGYN28eVquV2rVrExAQwPfff8+bb77JSy+95DjP5s2bHcGrSpUqnDx5ks6dO1O9enVeeeUVTp065Tg2JCSkUL4XEZGSTmHGhQUEBHD77bfz/fff07dv30L9LG9vb9avX8/MmTM5d+4clSpV4sYbb2Tjxo0EBwc7jjt8+DCnT592tGfPng2QaWJy+hwfgJiYGMaMGcNff/1FaGgo9913HxMmTHAcO3XqVI4cOeK4jRYSEsIHH3zAnXfeSUREBM2aNSvw7/fzzz/n1KlTfPrppxluTYWFhXHkyBFHe9q0aRw9ehSr1UqdOnX46KOPMsyXSUxM5MCBA44rYsuXL+fQoUMcOnQo0+02k8On2UREJCOLKQV/gyYkJBAYGEh8fHyGeRJJSUlER0cTHh6eowmsxVFERAT169fnzTffzPV78zIBWDIqijEsCT+n2UlJSeGHH37gpptuytNtTtEY5pfGL/8Kcwyz+/39T7oy46LOnj3L8uXLWbVqVZar0oqIiJQWCjMuqkWL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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x_points, y_points, 'o', label='relevés')\n",
    "\n",
    "xx = np.linspace(x_points.min(), x_points.max(), 101)\n",
    "plt.plot(xx, f(xx), label=f'y = {a:.2f}x + {b:.1f}')\n",
    "\n",
    "plt.xlabel('Stridulations par seconde')\n",
    "plt.ylabel('Température (°F)')\n",
    "plt.title('Grillon rayé')\n",
    "plt.legend(); plt.grid(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Seaborn sait calculer et tracer la droite directement, avec `regplot` :\n",
    "\n",
    "```python\n",
    "import seaborn as sns\n",
    "sns.regplot(x='...', y='...', data=df)\n",
    "```\n",
    "Pour consulter la documentation d'une fonction, on utilise le point d'interrogation : `?sns.regplot`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:18.914964Z",
     "iopub.status.busy": "2026-10-30T08:35:18.913166Z",
     "iopub.status.idle": "2026-10-30T08:35:19.597837Z",
     "shell.execute_reply": "2026-10-30T08:35:19.597271Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "\n",
    "sns.regplot(x='stridulations_par_seconde', y='temperature_F', data=grillons, ci=None)\n",
    "plt.title('Grillon rayé'); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Rappel :** la droite de régression passe par le point moyen du nuage. Vérifions-le : l'écart doit être nul, à l'erreur d'arrondi près."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:19.599801Z",
     "iopub.status.busy": "2026-10-30T08:35:19.599452Z",
     "iopub.status.idle": "2026-10-30T08:35:19.603158Z",
     "shell.execute_reply": "2026-10-30T08:35:19.602824Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-7.105427357601002e-14"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_moy = x_points.mean()\n",
    "y_moy = y_points.mean()\n",
    "\n",
    "y_moy - f(x_moy)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Rappel :** la qualité de l'ajustement se mesure par le coefficient de corrélation linéaire $r$, compris entre $-1$ et $1$. Plus $|r|$ est proche de $1$, plus les points sont alignés.\n",
    "$$\n",
    "r = \\frac{\\sum_{i=1}^n (x_i - \\bar{x})(y_i - \\bar{y})}{\\sqrt{\\sum_{i=1}^n (x_i - \\bar{x})^2}\\sqrt{\\sum_{i=1}^n (y_i - \\bar{y})^2}}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:19.604800Z",
     "iopub.status.busy": "2026-10-30T08:35:19.604651Z",
     "iopub.status.idle": "2026-10-30T08:35:19.611666Z",
     "shell.execute_reply": "2026-10-30T08:35:19.611182Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "r  = 0.835"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "r² = 0.697"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "r = ( ((x_points - x_moy) * (y_points - y_moy)).sum()\n",
    "      / np.sqrt(((x_points - x_moy)**2).sum())\n",
    "      / np.sqrt(((y_points - y_moy)**2).sum()) )\n",
    "\n",
    "display(Markdown(f\"r  = {r:.3f}\"))\n",
    "display(Markdown(f\"r² = {r**2:.3f}\"))\n",
    "\n",
    "# pandas sait le faire directement :\n",
    "# x_points.corr(y_points)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$r \\approx 0{,}84$ : la relation est forte et positive. Environ **70 %** de la variation de température est expliquée par la fréquence des stridulations. Le grillon est effectivement un thermomètre acceptable."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Bonus : et la cigale ?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:19.614196Z",
     "iopub.status.busy": "2026-10-30T08:35:19.613889Z",
     "iopub.status.idle": "2026-10-30T08:35:19.621412Z",
     "shell.execute_reply": "2026-10-30T08:35:19.621009Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "droite de régression : y = -0.154 x + 89.96"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "r  = -0.207"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "r² = 0.043"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cigales = pd.read_csv('cigales.csv', sep=';', decimal=',')\n",
    "\n",
    "xc = cigales['stridulations_par_minute']\n",
    "yc = cigales['temperature_F']\n",
    "\n",
    "ac, bc = np.polyfit(xc, yc, 1)\n",
    "rc = xc.corr(yc)\n",
    "\n",
    "display(Markdown(f\"droite de régression : y = {ac:.3f} x + {bc:.2f}\"))\n",
    "display(Markdown(f\"r  = {rc:.3f}\"))\n",
    "display(Markdown(f\"r² = {rc**2:.3f}\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-30T08:35:19.623285Z",
     "iopub.status.busy": "2026-10-30T08:35:19.622977Z",
     "iopub.status.idle": "2026-10-30T08:35:19.862280Z",
     "shell.execute_reply": "2026-10-30T08:35:19.861544Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABQkAAAHqCAYAAACnYcjKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAACwc0lEQVR4nOzdd3iUVdrH8e8zkw5JSAKpQIhUA1hQQCyLgiCiiL0gvhRFBHcX7KC0UBV3FddCsSCKYtm1YaGsnbUAYkNsaAgtIZBJg7Qpz/tHSGCYAEmYZJLM73NdXGSeNvdzJuXMPec+xzBN00RERERERERERET8lsXXAYiIiIiIiIiIiIhvKUkoIiIiIiIiIiLi55QkFBERERERERER8XNKEoqIiIiIiIiIiPg5JQlFRERERERERET8nJKEIiIiIiIiIiIifk5JQhERERERERERET+nJKGIiIiIiIiIiIifU5JQRERERERERETEzylJKCJSh3744QfCwsJ4/PHHfR2KiIiIiIiIyFEpSSjix3744Qduvvlm2rdvT2hoKKGhoXTs2JGxY8eycePGal9n5MiRtGvXzm1bu3btGDlyZOXjbdu2YRgGzz//vHeCbwQKCwu5+uqr+dvf/sbf/va3E7qW3W6nS5cuPPjgg16Kzjsef/xxunTpQnBwMCkpKaSlpWG326t17tatW7npppto27YtoaGhtG/fnjvvvJOcnJxjnjd8+HAMw+DSSy91256bm0uLFi146623ans7IiIiXvfDDz8watQoUlJSCAkJoXnz5vTo0YP58+djs9kqjzv//PM5//zz6zSWTz75BMMw+OSTT074WiNHjsQwjOP+GzlyZJXPO3LkSJo3b16t5zqyX9nQGIbBjBkzKh97s529wRvx/PHHHwQHB/Pll196L7A6YrfbSUtLo127dgQHB9OlS5dqf2D/0UcfMXr0aLp06UKzZs1ISkpi6NChfPPNNx7Hrlu3jltuuYUzzjiD4OBgDMNg27ZtHsf99ttvBAUFsWnTphO9NZE6F+DrAETENxYvXsxf//pXOnfuzIQJE+jatSuGYfDzzz+zYsUKevbsydatW2nfvv1xrzV16lQmTJhQD1E3LjfffDO9evXySmLvqaeeIjc394STjd40Z84cpk6dyqRJkxg4cCAbNmxgypQp7Nq1iyVLlhzz3L1793LWWWcRERHBrFmzaNu2Ld9++y3Tp0/n448/5ptvvsFi8fwc67333uOtt94iIiLCY19UVBR33HEH99xzD4MHDyYoKMhr9yoiIlIbTz/9NOPHj6dz587cc889pKamYrfb2bhxI4sWLeLLL7/kzTffBMr/1jcmU6dO5bbbbqt8vGnTJm6//Xbmzp3LBRdcULm9VatWtGrVii+//JLU1NRaPdebb75Z5d/+hqpHjx4ndL/e5o147r77bgYMGECfPn28GFndGD9+PC+++CKzZs2iZ8+erF69mgkTJlBYWMj9999/zHMXLlxITk4OEyZMIDU1lb179/LPf/6Ts846i9WrV9OvX7/KYz/88EP++9//cvrppxMREXHUJGynTp248cYbueOOO/j000+9easi3meKiN9Zt26dabFYzCFDhpilpaVVHvPaa6+Zu3btOuZ1Dhw4cNR9ycnJ5ogRIyofp6enm4C5dOnS2oTsdceKvaGx2+1mUlKSOWnSpOMeW1/3tW/fPjMkJMS89dZb3bbPmTPHNAzD/Omnn455/tNPP20C5n//+1+37XPnzjUBc9OmTR7n5OXlmUlJSeYjjzxiJicnm5dcconHMVlZWWZAQID50ksv1eKuREREvOeLL74wrVarOWjQILOkpMRjf2lpqfn222/Xa0wff/yxCZgff/xxnV379ddfr9bxI0aMMJs1a+b1OHwBMKdPn+7rMOrMli1bTMBctWrVcY/1dR978+bNpmEY5ty5c922jxkzxgwNDTVzcnKOef6ePXs8thUWFppxcXFm//793bY7nc7Krx9++GETMNPT06u87saNG03A/N///lfNOxHxDZUbi/ihuXPnYrVaWbx48VFHW11zzTUkJiZWPq4oCfnxxx8ZOHAg4eHh9O/fv3LfkeXG1bVu3Tr69+9PeHg4YWFhnH322bz33ntuxzz//PMYhsHHH3/MuHHjaNmyJTExMVx55ZXs3r37uM9xrNjXrl3L0KFDad26NSEhIXTo0IGxY8eyb9++yvM///xzDMNgxYoVHtd+4YUXMAyDDRs2VG7buHEjl112GdHR0YSEhHD66afz2muv1ap9AN555x127drFTTfd5LZ9xowZGIbBpk2buPrqq4mKiqrWyE9vWLVqFSUlJYwaNcpt+6hRozBN87glv4GBgQBERka6bW/RogUAISEhHufcddddJCQk8Pe///2o142Li2PAgAEsWrSoGnchIiJSd+bOnYthGCxZsoTg4GCP/UFBQVx22WWVj6sqN965cydXX3014eHhtGjRghtvvJENGzZ4TOGyceNGrr/+etq1a0doaCjt2rXjhhtuICMjo1qxervvcqRjlbv+9NNP9O/fn2bNmtGqVSv++te/UlRU5HZMVeXGeXl53HXXXZx00kkEBwcTGxvL4MGD+eWXXyqPKSsrY/bs2ZVTo7Rq1YpRo0axd+9ej+tfeumlrFq1ih49ehAaGkqXLl147rnnvHa/Ff3RrVu3MnjwYJo3b06bNm246667KC0trTyuYoqef/zjHzzyyCOkpKTQvHlz+vTpw1dffeXxXNV57U603HjhwoXEx8czYMAAt+3nn38+3bp147PPPuPss88mLCyM0aNH1+o5vOWtt97CNM0q+6jFxcWsWrXqmOfHxsZ6bGvevDmpqans2LHDbXtVVS9Hc8YZZ3DyySerjyoNnpKEIn7G6XTy8ccfc+aZZ5KQkFCjc8vKyrjsssvo168fb7/9NmlpaScUy6effkq/fv3Iz8/n2WefZcWKFYSHhzNkyBBeffVVj+NvueUWAgMDefnll5k/fz6ffPIJw4cPP6HY//jjD/r06cPChQtZs2YN06ZN4+uvv+bcc8+tnFvvvPPO4/TTT+fJJ5/0uO4TTzxBz5496dmzJwAff/wx55xzDnl5eSxatIi3336b0047jeuuu67W8zG+9957xMbGHrVE5Morr6RDhw68/vrrx+14OByOav0zTfOY19m8eTMA3bt3d9uekJBAy5YtK/cfzeWXX07btm256667+Omnn9i/fz+fffYZDz74IEOGDOHkk092O/6///0vL7zwAs888wxWq/WY1z7//PP53//+R15e3jGPExERqStOp5OPPvqIM844gzZt2tTqGgcOHOCCCy7g448/5qGHHuK1114jLi6O6667zuPYbdu20blzZxYsWMDq1at56KGHyMzMpGfPnm4ffFalLvou1WW32xk8eDD9+/fnrbfe4q9//SuLFy+u8h4PV1hYyLnnnsvixYsZNWoUK1euZNGiRXTq1InMzEwAXC4XQ4cO5cEHH2TYsGG89957PPjgg6xdu5bzzz+f4uJit2t+//333HXXXdxxxx28/fbbnHLKKdx888189tlnXr3fyy67jP79+/P2228zevRoHn30UR566CGPY5988knWrl3LggULeOmllzhw4ACDBw8mPz+/8pj6eu3ee+89/vKXv1SZFMvMzGT48OEMGzaM999/n/Hjxx/1OqZpVrsvWlubN2+mVatWxMfHu20/5ZRTKvfXVH5+Pps2baJr1661jgvK+6gffPDBcfvZIj7l03GMIlLvsrKyTMC8/vrrPfY5HA7TbrdX/nO5XJX7RowYYQLmc88953HeiBEjzOTkZLdt1Sk3Puuss8zY2FizsLDQLYZu3bqZrVu3rnz+pUuXmoA5fvx4t+eYP3++CZiZmZnHvOdjxX44l8tl2u12MyMjwwTcSoAqYvj2228rt61fv94EzGXLllVu69Kli3n66aebdrvd7dqXXnqpmZCQ4FaWUF0nn3yyOWjQII/t06dPNwFz2rRp1bpOxWtQnX/HK0MaM2aMGRwcXOW+Tp06mQMHDjxuPLt37zb79Onj9rzXXHONR0lWYWGh2a5dO3Py5MmV245Wbmyaprl27VoTMD/44IPjxiAiIlIXjtXfOpq+ffuaffv2rXz85JNPVvn3bOzYscedwsXhcJj79+83mzVrZj722GOV26sqN/ZW3+VY5cZVPW9F/+zw+EyzfOoSwFy3bl3ltiP7lTNnzjQBc+3atUeNZ8WKFSZg/uc//3HbvmHDBhMwn3rqKbfrh4SEmBkZGZXbiouLzejoaHPs2LHHvXeOKDc+1v2+9tprbucOHjzY7Ny5c+Xjiv5a9+7dTYfDUbm9ot+5YsWKym3Vfe1OpMx8z549JmA++OCDHvv69u1rAuaHH35YrWtV9Ker86+2BgwY4NaehwsKCvKYKqc6brzxRjMgIMDcuHHjUY85XrmxaR6abufnn3+ucQwi9UUjCUWk0hlnnEFgYGDlv3/+858ex1x11VVeea4DBw7w9ddfc/XVV7utbGe1WrnpppvYuXMnv/76q9s5h5fkwKFPBKtbSlNV7NnZ2dx22220adOGgIAAAgMDSU5OBuDnn3+uPO6GG24gNjbWbTTh448/TqtWrSo/7d66dSu//PILN954I+A+am/w4MFkZmZ63FN17N69u8rSh2PdV1USExPZsGFDtf6dccYZx72eYRi12gflKxEPHTqUgoICXnrpJT777DOeeuop1q1bx2WXXeb2CfKkSZMIDAxk2rRp1brPirbatWtXtY4XERFpiD799FPCw8MZNGiQ2/YbbrjB49j9+/dz33330aFDBwICAggICKB58+YcOHDArT9zpLrqu9RExXNXGDZsGFA+Su5oPvjgAzp16sSFF1541GPeffddWrRowZAhQ9zu67TTTiM+Pt6j9Pa0006jbdu2lY9DQkLo1KlTtfuZ1WEYBkOGDHHbdsopp1T5HJdccolb9cSR/d76eu0qpvY5Wl80KirKbTGPYxkyZEi1+6LHc6wqmBPpox5p6tSpvPTSSzz66KPV6h8fi/qo0hhodWMRP9OyZUtCQ0Or7Iy8/PLLFBUVkZmZ6ZGQAwgLC/PaynK5ubmYplllyXPFXIg5OTlu22NiYtweV8zvc2S5SFWqit3lcjFw4EB2797N1KlT6d69O82aNcPlcnHWWWe5XTc4OJixY8fyz3/+k4cffhi73c5rr73GnXfeWRnHnj17gPLV3+6+++4q4zheyU9ViouLq5yjr0J1y8aDgoI47bTTqnXs8Up6Y2JiKCkpoaioiLCwMLd9NpvtuJ2ohx56iO+++46MjIzK+M877zy6dOlCv379eOmllxgxYgTr16/nqaee4o033qCkpISSkhKg/LVzOBzk5eURGhrqNtdTRVtV5/tCRESkLrRs2ZKwsDDS09NrfY2cnBzi4uI8tle1bdiwYXz44YdMnTqVnj17EhERgWEYDB48+Jh/D+uq71JdAQEBHv27ijLRI/uBh9u7d69bQq8qe/bsIS8v76jzbx95X0fGAeX9P2/2J8LCwjz6dMHBwZX9m2PFc2S/t75eu4rnO1pftCbTF0VHR3vMR10b27ZtIyUlxW3bxx9/zPnnn09MTAzfffedxzkHDhygrKyM6Ojoaj9PWloas2fPZs6cOfz1r3890bDVR5VGQUlCET9jtVrp168fa9asITMz0+0Pe8Wcd9u2bavy3Jp+8nYsUVFRWCyWynljDlfxiWXLli299nxVxb5582a+//57nn/+eUaMGFG5fevWrVVeY9y4cTz44IM899xzlJSU4HA4uO222yr3V8Q7efJkrrzyyiqv0blz5xrH3rJlS2w221H3V/d1qapDdTQVHa2jqZiL8Mcff6R3796V27Oysti3bx/dunU75vW/++47kpKSPDqWFXM7VswXs2XLFkzT5IorrvC4xo4dO4iKiuLRRx9l4sSJldsr2sqb3z8iIiI1YbVa6d+/Px988AE7d+6kdevWNb5GTEwM69ev99ielZXl9jg/P593332X6dOnM2nSpMrtpaWlx+w/QN31XarL4XCQk5PjlhCruL+qknYVWrVqxc6dO4957YqF7o62UEV4eHgtIm446uu1q3ieo30v1eT9wbJlyzwWFDka8xjz9lVUxxyu4l67d+/OK6+8QlZWltu8hD/++CPAcfuoFdLS0pgxYwYzZszg/vvvr9Y5x6M+qjQGShKK+KHJkyfzwQcfcNttt/Hvf/+7cqXZ+tSsWTN69+7NG2+8wT/+8Q9CQ0OB8hFiy5cvp3Xr1nTq1KlOY6jo1By54uDixYurPD4hIYFrrrmGp556irKyMoYMGeL2KXbnzp3p2LEj33//PXPnzvVanF26dOGPP/444etU1aE6muN1KgcNGkRISAjPP/+8W5KwYiXqyy+//LixfPjhh+zatYukpKTK7V9++SVA5ZupQYMGVVludP3115OSksK8efPo0KGD274///wT4KgLvYiIiNSHyZMn8/777zNmzBjefvttjxFtdrudVatWeZSfVujbty+vvfYaH3zwARdffHHl9ldeecXtOMMwME3Toz/zzDPP4HQ6jxljXfVdauKll17i73//e+Xjl19+GeCYH1ZefPHFTJs2jY8++uiopa6XXnopr7zyCk6n062v0lTU12uXnJxMaGioV/qiFeXGJyooKIgzzzyzyn1Dhw5lypQpLFu2jPvuu69y+/PPP09oaKhH+X5VZs2axYwZM5gyZQrTp08/4Xgr/Pnnn1gsljpNvIucKCUJRfzQOeecw5NPPsnf/vY3evTowa233krXrl0rR/b95z//AfBaafHRzJs3jwEDBnDBBRdw9913ExQUxFNPPcXmzZtZsWKFV0cuVqVLly60b9+eSZMmYZom0dHRrFy5krVr1x71nAkTJlR2NJcuXeqxf/HixVx88cVcdNFFjBw5kqSkJGw2Gz///DObNm3i9ddfr3Gc559/PjNnzqyytLcmjtWhqqno6GimTJnC1KlTiY6OZuDAgWzYsIEZM2Zwyy23uCXoXnjhBUaPHs1zzz3H//3f/wFw++2389JLLzFgwAAmTZpEmzZt2Lx5M7NnzyYuLq5yfp34+HiP1emgvFwjJiamyjcQX331FTExMR4rL4uIiNSnPn36sHDhQsaPH88ZZ5zBuHHj6Nq1K3a7nW+//ZYlS5bQrVu3oyYJR4wYwaOPPsrw4cOZPXs2HTp04IMPPmD16tUAlSvNRkRE8Je//IWHH36Yli1b0q5dOz799FOeffZZWrRocdw466LvUl1BQUH885//ZP/+/fTs2ZMvvviC2bNnc/HFF3Puuece9byJEyfy6quvMnToUCZNmkSvXr0oLi7m008/5dJLL+WCCy7g+uuv56WXXmLw4MFMmDCBXr16ERgYyM6dO/n4448ZOnRolZUKjUl9vHZBQUH06dOHr7766oSvFRMTc8wRot7QtWtXbr75ZqZPn47VaqVnz56sWbOGJUuWMHv2bLdy45kzZzJz5kw+/PBD+vbtC8A///lPpk2bxqBBg7jkkks87vuss86q/Hrv3r18+umnwKGRih988AGtWrWiVatWldes8NVXX3HaaacRFRVVJ/cu4g1KEor4qdtuu40+ffrw2GOP8eijj7J7924Mw6B169acffbZfPjhh9WehLi2+vbty0cffcT06dMZOXIkLpeLU089lXfeeYdLL720Tp8bIDAwkJUrVzJhwgTGjh1LQEAAF154If/973+POs9Nr169aNeuHaGhofTv399j/wUXXMD69euZM2cOEydOJDc3l5iYGFJTU7n22mtrFeewYcOYPn067733Htdcc02trlEXHnjgAcLDw3nyySf5xz/+QXx8PJMmTeKBBx5wO87lcuF0OnG5XJXbzjjjDL766itmzZrFAw88wN69e0lKSuKyyy5j2rRptS7DME2Td955h2HDhtV5kllEROR4xowZQ69evXj00Ud56KGHyMrKIjAwkE6dOjFs2LBjznPWrFkzPvroIyZOnMi9996LYRgMHDiQp556isGDB7slAF9++WUmTJjAvffei8Ph4JxzzmHt2rVccsklx42xLvou1RUYGMi7777L3//+d2bPnk1oaChjxozh4YcfPuZ54eHhrFu3jhkzZrBkyRLS0tKIioqiZ8+e3HrrrUB5yfc777zDY489xosvvsi8efMICAigdevW9O3bt0l8mFhfr92NN97Irbfe6jFVUUP11FNPkZSUxOOPP05WVhbt2rXjscce429/+5vbcRV91MNLm1euXAnAqlWrqixVP/zYn376yaNvPn78eKD8fc7hi+Ps37+fDz/8kFmzZp3w/YnUJcM8VrG/iIi4+eGHHzj11FN58sknKzsB9aFiZb4PPvig3p6zMfrwww8ZOHAgP/30E126dPF1OCIiIl43d+5cpkyZwvbt22s116FITZWUlNC2bVvuuusutxJeqb5nn32WCRMmVM6pLdJQKUkoIlINf/zxBxkZGdx///1s376drVu3nlDpb01t3ryZ008/nS+++KJycQ/xdMEFF9ChQweefvppX4ciIiJywp544gmgfIoUu93ORx99xL/+9S+uu+46XnjhBR9HJ/5k4cKFzJgxgz///JNmzZr5OpxGxeFwkJqayogRIzwqbkQaGpUbi4hUw6xZs3jxxRc5+eSTef311+s1QQjlK7EtXbrUY0VDOSQ3N5e+ffvW6whPERGRuhQWFsajjz7Ktm3bKC0tpW3bttx3331MmTLF16GJn7n11lvJy8vjzz//bBKl2vVpx44dDB8+nLvuusvXoYgcl0YSioiIiIiIiIiI+DmLrwMQERERERERERER31KSUERERERERERExM8pSSgiIiIiIiIiIuLn/GLhEpfLxe7duwkPD8cwDF+HIyIiIlLvTNOksLCQxMRELBb/+ZxY/UARERHxd9XtB/pFknD37t20adPG12GIiIiI+NyOHTto3bq1r8OoN+oHioiIiJQ7Xj/QL5KE4eHhQHljRERE+Diaxstut7NmzRoGDhxIYGCgr8PxK2p731C7+4ba3TfU7r5Rn+1eUFBAmzZtKvtF/qK++oH6GfIttb/vqO19S+3vO2p731L710x1+4F+kSSsKC2JiIhQkvAE2O12wsLCiIiI0A9hPVPb+4ba3TfU7r6hdvcNX7S7v5Xc1lc/UD9DvqX29x21vW+p/X1Hbe9bav/aOV4/0H8mpBEREREREREREZEqKUkoIiIiIiIiIiLi55QkFBERERERERER8XNKEoqIiIiIiIiIiPg5JQlFRERERERERET8nJKEIiIiIiIiIiIifk5JQhERERERERERET+nJKGIiIiIiIiIiIifU5JQRERERERERETEzylJKCIiIiIiIiIi4ueUJBQREREREREREfFzAb4OQERERKSxcLpM1qfbyC4sITY8hF4p0Vgthq/DEhEf0u8FERFpKpQkFBEREamGVZszSVu5hcz8ksptCZEhTB+SyqBuCT6MTKR2lNw6cVX9XmgRGsioc9rx134d1Z4iItKoKEkoIiIichyrNmcybvkmzCO2Z+WXMG75JhYO76FEoTQqSnqfuKP9XsgrtvPof39n6RfbePDK7mpPERFpNDQnoYiIiMgxOF0maSu3eCQCgMptaSu34HRVdYRIw1OR3Do8QQiHkt6rNmf6KLLG41i/FyrkFdnVniIi0qgoSSgiIiJyDOvTbR7JlMOZQGZ+CevTbfUXlEgtKentHcf7vVDBRO0pIiKNh5KEIiIiIseQXXj8REBNjhPxJSW9vaMmP+9qTxERaSyUJBQRERE5htjwEK8eJ+JLSnp7R01/3tWeIiLSGChJKCIiInIMvVKiSYgM4WhrlBqUL/jQKyW6PsMSqRUlvb2j4vdCdak9RUSkMVCSUEREROQYrBaD6UNSATwShRWPpw9JxWo5WhpRpOFQ0ts7Dv+9cCxqTxERaUyUJBQRERE5jkHdElg4vAfxR4wcio8MYeHwHgzqluCjyERqRklv7xnULYFFw3vQIiywyv1qTxERaWwCfB2AiIiISGMwqFsCA1LjWZ9uI7uwhNjw8tFBevMvjU1F0jtt5Ra3RUziI0OYPiRVSe8aqPi98MRHW1n6v3Tyiu2V+9SeIiLS2ChJKCIiIlJNVotBn/Yxvg5D5IQp6e09VovBhAs78td+HdSeIiLSqClJKCIiIiLih5T09i61p4iINHaak1BERERERERERMTPKUkoIiIiIiIiIiLi55QkFBERERERERER8XNKEoqIiIiIiIiIiPg5JQlFRERERERERET8nJKEIiIiIiIiIiIifk5JQhERERERERERET+nJKGIiIiIiIiIiIifU5JQRERERERERETEzylJKCIiIiIiIiIi4ueUJBQREREREREREfFzShKKiIiIiIiIiIj4OSUJRURERERERERE/JyShCIiIiIiIiIiIn5OSUIRERERERERERE/pyShiIiIiIiIiIiIn1OSUERERERERERExM8pSSgiIiIiIiIiIuLnlCQUERERERERERHxc0oSioiIiIiIiIiI+DklCUVERERERERERPyckoQiIiIiIiIiIiJ+TklCERERERERERERP6ckoYiIiIiIiIiIiJ9TklBERETEl0zT1xGIiIiIiChJKCIiIuILrpJSCha+Ssr8VzGdTl+HIyIiIiJ+LsDXAYiIiIj4E9PppPC11eQ+9CyOXdk0A4re+5ygqwb4OjQRERER8WNKEoqIiIjUA9M0KVr7BTmzFmP/JR0Aa0IrMgadQZtLzvNxdCIiIiLi75QkFBEREaljJet/JGfm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WwWSk5N15MgRffrpp/rggw/06quvKjMz8zfFfeHCBbVv315/+9vftG/fPj3wwAO655579NVXX0mSXn75ZXXq1En333+/MjIylJGRodjY2CLX2blzp+666y79z//8j/bu3atp06ZpypQprslLoZSUFCUkJOibb77R6NGjNWrUKP3zn/+UJL3yyitas2aNli9frv3792vp0qWuyXJJNm3apPT0dG3evFnvvvuuVq1apenTp7vOnzt3ThMmTND27du1adMmeXl5aeDAgXI6nW7Xeeqpp/TII48oPT1dvXr1KvI6H3zwgebOnasFCxbowIEDWr16tVq3bu06/8c//lH/+Mc/tGzZMn377bcaMmSIevfurQMHDkiSdu/ere7du+v666/Xtm3b9Pnnn6tfv34qKCiQJD355JNasWKFlixZol27dqlJkybq1atXkZUGTz/9tFJSUrRjxw75+PhoxIgRrnPLly/X1KlTNWPGDO3YsUN2u73IRHDhwoV6+umnNWPGDKWnp2vmzJmaMmWKlixZUmqeAQDAtWFuWLPnhoWee+453Xvvvdq9e7datGihYcOG6cEHH9TEiRO1Y8cOSdLYsWNLjXnz5s06dOiQNm/erCVLlmjx4sVF8lSar7/+WpK0ceNGZWRkaOXKlZKY9wGWMADwfz744ANTp04dExAQYG655RYzceJEs2fPHrc+ksyqVavc2qZOnWp8fX1NZmamW3tiYqIZN26cMcaY/fv3G0nmyy+/dJ1PT083kszcuXONMcYcPnzYSDLffPONq8/p06eNJLN582ZjjDGbN282kszp06dL/DnuuOMO89hjjxUbR6ErrzNs2DDTo0cPtz5PPPGEadWqles4Li7ODB8+3HXsdDpNZGSkmT9/vjHGmIcffth069bNOJ3OEmO7XFJSkgkPDzfnzp1ztc2fP98EBwebgoKCYr8nMzPTSDJ79+41xvySs5deeqnU10pJSTHNmjUz+fn5Rc4dPHjQ2Gw28+9//9utvXv37mbixInGGGP+8Ic/mM6dOxd77bNnzxpfX1/z9ttvu9ry8/NNdHS0mTNnjjHml3xv3LjR1WfdunVGkjl//rwxxphOnTqZhx56yO3aHTt2NG3btnUdx8bGmnfeecetz3PPPWc6depU6s8PAACuHXPDmjs3NObSvZs8ebLreNu2bUaSWbRokavt3XffNQEBAa7jqVOnus3NkpKSTFxcnLl48aKrbciQIWbo0KFur3PlGAkLCzOpqaluMV9+n41h3gdYgZWEAFwGDx6sH3/8UWvWrFGvXr20ZcsWtWvXrkzvBMbFxalevXolnk9PT5ePj48SEhJcbS1atFDt2rV/U8wFBQWaMWOG2rRpo4iICAUHB2vDhg06duzYNV0nPT1dnTt3dmvr3LmzDhw44FotJ0lt2rRx/dlmsykqKsr1jndycrJ2796t5s2b65FHHtGGDRuu+rpt27ZVUFCQ67hTp046e/asjh8/Lkk6dOiQhg0bpsaNGys0NNS1HePKn+/yvBZnyJAhOn/+vBo3bqz7779fq1at0sWLFyVJu3btkjFGzZo1c60aCA4O1tatW13bSwpXEhbn0KFDcjgcbvnz9fVVhw4dlJ6e7tb38vzZ7XZJcuUvPT1dnTp1cut/+fF//vMfHT9+XCNHjnSL8/nnn3fbBgMAAMoHc8OaOzcsLv769etLkttuk/r16+vChQvKzs4u8RrXX3+9vL29Xcd2u/03rwhl3gdYgw8uAeAmICBAPXr0UI8ePfTMM8/ovvvu09SpU5WcnFzq99WqVavU88YYSZcmTyXx8vJy6yvJ7XkmxUlJSdHcuXP10ksvqXXr1qpVq5bGjx/v9uyWsjDGFInt8jgKXfnQZ5vN5tre0a5dOx0+fFgff/yxNm7cqLvuuku33367Pvjgg2uKpfC6ktSvXz/FxsZq4cKFio6OltPpVHx8fJGf72r5j42N1f79+5WWlqaNGzdq9OjReuGFF7R161Y5nU55e3tr586dbhM8Sa4HUwcGBpZ47ZLubXE5vTx/heeu3B5TksJ+CxcuVMeOHd3OXRk3AAAoH8wNi8Z8ueo6Nywu/sLXuNb5Wmk5KDy+MndXu4/M+wBrsJIQQKlatWqlc+fOuY59fX3d3j0tq5YtW+rixYuuZ5tI0v79+90eDl34bnNGRoarraRn2BT6+9//rv79+2v48OFq27atGjdu7HqOXiE/P7+rxtyqVSt9/vnnbm1ffPGFmjVrdk0TkdDQUA0dOlQLFy7Ue++9pxUrVpT6CYB79uzR+fPnXcdffvmlgoODFRMTo5MnTyo9PV2TJ09W9+7d1bJlS9cHhfwagYGBuvPOO/XKK69oy5Yt2rZtm/bu3asbb7xRBQUFyszMVJMmTdy+Cj/lr02bNtq0aVOx123SpIn8/Pzc8udwOLRjxw61bNmyzPG1bNlSX375pVvb5cf169fX7373O/3www9F4ix8Fx0AAFQs5oY1Z25YWerVq+d2Dw8cOKDc3FzXsZ+fnyS53RPmfYA1WEkIQNKlT4IbMmSIRowYoTZt2igkJEQ7duzQnDlz1L9/f1e/hg0batOmTercubP8/f1Vp06dMl2/efPm6t27t+6//369/vrr8vHx0fjx491WqAUGBurmm2/W7Nmz1bBhQ/3888+aPHlyqddt0qSJVqxYoS+++EJ16tTRiy++qBMnTrgVpxo2bKivvvpKR44cUXBwsMLDw4tc57HHHtNNN92k5557TkOHDtW2bds0b968a/oEtblz58put+uGG26Ql5eX3n//fUVFRZW6bSY/P18jR47U5MmTdfToUU2dOlVjx46Vl5eX6tSpo4iICL3++uuy2+06duyY/vSnP5U5nsstXrxYBQUF6tixo4KCgvTXv/5VgYGBiouLU0REhO6++27de++9SklJ0Y033qiff/5Zn376qVq3bq077rhDEydOVOvWrTV69Gg99NBD8vPz0+bNmzVkyBDVrVtXo0aN0hNPPKHw8HA1aNBAc+bMUW5urkaOHFnmGMeNG6ekpCQlJCSoS5cuevvtt/Xdd9+pcePGrj7Tpk3TI488otDQUPXp00d5eXnasWOHTp8+rQkTJvyq3AAAgKKYG9bsuWFl6tatm+bNm6ebb75ZTqdTTz31lNvqw8jISAUGBmr9+vWKiYlRQECAwsLCmPcBFmAlIQBJl7aVduzYUXPnztWtt96q+Ph4TZkyRffff7/mzZvn6peSkqK0tDTFxsbqxhtvvKbXSE1NVWxsrBITEzVo0CA98MADioyMdOvz5ptvyuFwKCEhQePGjdPzzz9f6jWnTJmidu3aqVevXuratauioqI0YMAAtz6PP/64vL291apVK9WrV6/YZ9K0a9dOy5cv17JlyxQfH69nnnlGzz777FW30lwuODhYf/7zn5WQkKCbbrpJR44c0UcffeTaKlOc7t27q2nTprr11lt11113qV+/fpo2bZqkS1tsli1bpp07dyo+Pl6PPvqoXnjhhTLHc7natWtr4cKF6ty5s2tV4Nq1axURESHp0r2599579dhjj6l58+a688479dVXX7k+7a9Zs2basGGD9uzZow4dOqhTp0768MMP5eNz6b2m2bNna/DgwbrnnnvUrl07HTx4UJ988kmZf1GQpKFDh+qZZ57RU089pfbt2+vo0aMaNWqUW5/77rtPb7zxhhYvXqzWrVsrMTFRixcv5h1lAADKGXPDmj03rEwpKSmKjY3VrbfeqmHDhunxxx93e+6ij4+PXnnlFS1YsEDR0dGuIjTzPqDy2UxxD1YAAFS45ORkZWVlafXq1VaHAgAAAIsxNwRgNVYSAgAAAAAAAB6OIiEAAAAAAADg4dhuDAAAAAAAAHg4VhICAAAAAAAAHo4iIQAAAAAAAODhKBICAAAAAAAAHo4iIQAAAAAAAODhKBICAAAAAAAAHo4iIQAAAAAAAODhKBICAAAAAAAAHo4iIQAAAAAAAODhKBICAAAAAAAAHu7/A2vFCKpFJLsLAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1300x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, (g1, g2) = plt.subplots(1, 2, figsize=(13, 5))\n",
    "\n",
    "g1.plot(x_points, y_points, 'o')\n",
    "g1.plot(xx, f(xx), color='crimson')\n",
    "g1.set(title=f\"Grillon rayé  (r = {r:.2f})\",\n",
    "       xlabel='Stridulations par seconde', ylabel='Température (°F)')\n",
    "g1.grid()\n",
    "\n",
    "xxc = np.linspace(xc.min(), xc.max(), 101)\n",
    "g2.plot(xc, yc, 'o')\n",
    "g2.plot(xxc, ac*xxc + bc, color='crimson')\n",
    "g2.set(title=f\"Cigale Tibicen linnei  (r = {rc:.2f})\",\n",
    "       xlabel='Stridulations par minute', ylabel='Température (°F)')\n",
    "g2.grid()\n",
    "\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-block alert-danger\">\n",
    "\n",
    "**La droite existe toujours ; la relation, non.**\n",
    "\n",
    "`polyfit` a renvoyé une droite dans les deux cas, sans le moindre avertissement. Mais les deux situations n'ont rien à voir :\n",
    "\n",
    "| | $r$ | $r^2$ | pente |\n",
    "|---|---|---|---|\n",
    "| Grillon rayé | $0{,}84$ | $0{,}70$ | $+3{,}29$ |\n",
    "| Cigale *Tibicen linnei* | $-0{,}21$ | $0{,}04$ | $-0{,}15$ |\n",
    "\n",
    "Pour la cigale, $r^2 \\approx 0{,}04$ : la fréquence des stridulations n'explique que **4 %** de la variation de température. Pire, la pente est **négative** : le modèle prétend qu'il fait d'autant plus froid que la cigale stridule vite, ce qui n'a aucun sens biologique. Le nuage de droite est d'ailleurs sans structure visible.\n",
    "\n",
    "La leçon vaut pour tout votre travail d'analyse : **on peut toujours ajuster une droite sur un nuage de points.** Regarder le nuage et le coefficient $r$ avant de conclure n'est pas une formalité, c'est ce qui distingue une analyse d'un calcul.\n",
    "\n",
    "</div>"
   ]
  }
 ],
 "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
}
