{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Statistiques\n",
    "\n",
    "Le but de ce TP est de traiter la partie **statistique descriptive** du programme de 2nd. Les définitions données font donc partie du cours et sont à connaître par coeur.\n",
    "\n",
    "## Statistiques descriptives\n",
    "\n",
    "### Vocabulaire\n",
    "\n",
    "- La **population** d’une série statistique est l’ensemble des éléments appelés **individus** sur lesquels portent l’étude statistique.\n",
    "- Le **caractère** d’une série statistique est la propriété étudiée sur chaque individu. Un caractère peut être **quantitatif** (mesurable comme la taille) ou **qualitatif** (non mesurable comme la couleur des cheveux).\n",
    "- L’**effectif** d’un caractère est le nombre d’individu qui partagent ce caractère.\n",
    "- L'**effectif** total est le nombre total d'individu.\n",
    "- La **fréquence** d’un caractère est égale à l’effectif du caractère divisé par l’effectif total.\n",
    "\n",
    "Les statistiques descriptives ont pour but de décrire et d'analyser des données (ou série statisque) pour les résumer ou les comparer entre elles.\n",
    "\n",
    "Voici quelques séries de données sur lesquels nous allons pouvoir travailler. Ces trois séries concernent des caractéristiques différentes des voitures garées sur un parking."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Nombre de passagers\n",
    "passagers = [4, 1, 4, 1, 2, 1, 5, 0, 3, 4, 0, 4, 0, 0, 4, 3, 2, 3, 5, 2, 5, 4, 1, 2, 1]\n",
    "# Kilomètre au compteur\n",
    "kilometres = [68806, 136429, 67417, 44743, 166108, 63686, 133615,\n",
    "              97402, 131932, 60947, 166706, 194451, 103493, 71308, 69805]\n",
    "# Couleur des voitures\n",
    "couleurs = ['grise', 'noire', 'grise', 'rouge',\n",
    "             'blanche', 'blanche', 'rouge', 'bleu',\n",
    "             'bleu', 'grise', 'noire', 'verte',\n",
    "             'noire', 'rouge', 'grise', 'verte',\n",
    "             'grise', 'grise', 'verte', 'grise']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. Pour chacune des ces séries statistiques, expliquer à quoi correspond la population, les individus, le caractère.\n",
    "2. Quel est l'effectif total de chacun de ces séries?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Indicateurs\n",
    "\n",
    "Les indicteurs suivant vont permettre de résumer les séries statistiques. Ils ne peuvent être calculés que quand le caractère étudié est quantitatif. \n",
    "\n",
    "- **Etendu** est égale à la différence entre le **maximum** et le **minimum**.\n",
    "- La **moyenne**, $\\bar{x}$, est égale à la somme de toutes les valeurs divisée par l'effectif total.\n",
    "- La **médiane, Me**, est une valeur qui sépare la série en 2 groupes de même effectif:\n",
    "    - un groupe dont les valeurs sont inférieurs ou égales à la médiane\n",
    "    - un groupe dont les valeurs sont supérieurs ou égales à la médiane\n",
    "-  Le **premier quartile**, $Q_1$, d’une série statistique est la plus petite valeur des termes de la série pour laquelle au moins un quart des données sont inférieures ou égales à $Q_1$.\n",
    "-  Le **troisième quartile**, $Q_3$, d’une série statistique est la plus petite valeur des termes de la série pour laquelle au moins trois quarts des données sont inférieures ou égales à $Q_3$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3. Pour chaque série, quand c'est possible, calculer les 5 indicateurs.\n",
    "4. Ecrire un algorithme expliquant comment calculer chaqu'un de ces indicateurs.\n",
    "5. En vous aidant du mémo sur les listes, traduire vos algorithmes en Python"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Mémo sur les listes\n",
    "\n",
    "Quelques précisions autour de la manipulation des listes avec Python"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "L = [5, 2, 1, 2, 4, 5, 5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- `len`: calculer le nombre d'éléments dans la liste"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "7\n"
     ]
    }
   ],
   "source": [
    "print(len(L))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- `sum`: calculer la somme des éléments de la liste"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "24\n"
     ]
    }
   ],
   "source": [
    "print(sum(L))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- `sorted`: trier les éléments de la liste"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1, 2, 2, 4, 5, 5, 5]\n"
     ]
    }
   ],
   "source": [
    "print(sorted(L))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Récupérer le i-ième élément de la liste (**/!\\ on commence à compter à partir de 0**)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n",
      "1\n"
     ]
    }
   ],
   "source": [
    "# Le premier élément de la liste\n",
    "print(L[0])\n",
    "# le 3e élément de la liste\n",
    "print(L[2])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Faire une boucle sur tous les éléments de la liste"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n",
      "2\n",
      "1\n",
      "2\n",
      "4\n",
      "5\n",
      "5\n"
     ]
    }
   ],
   "source": [
    "for x in L:\n",
    "    print(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "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.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
