...
 
Commits (10)
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# **A propos du calcul de $\\pi$**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## **En demandant à la lib maths**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Mon ordinateur m'indique que $\\pi$ vaut *approximativement*"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3.141592653589793\n"
]
}
],
"source": [
"from math import pi\n",
"print (pi)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## **En utilisant la méthode des aiguilles de Buffon**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Mais calculé avec la **méthode** des [aiguilles de Buffon](https://fr.wikipedia.org/wiki/Aiguille_de_Buffon), on obtiendrait comme **approximation**"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3.128911138923655"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np \n",
"np.random.seed(seed=42) \n",
"N = 10000 \n",
"x = np.random.uniform(size=N,low=0,high=1)\n",
"theta = np.random.uniform(size=N,low=0,high=pi/2)\n",
"2/(sum((x+np.sin(theta))>1)/N)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## **Avec un argument \"fréquentiel\" de surface**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Sinon,une méthode plus simple à comprendre et ne faisant pas intervenir d’appel à la fonction sinus se base sur le fait que si *X $\\sim$ U(0,1)* et *Y $\\sim$ U(0,1)* alors *P[$X^2$ + $Y^2$ $\\leq$ 1] = $\\frac{\\pi}{4}$* (voir méthode de [Monte Carlo sur Wikipédia](https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Monte-Carlo#D%C3%A9termination_de_la_valeur_de_%CF%80?)). Le code suivant illustre ce fait:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline \n",
"import matplotlib.pyplot as plt\n",
"np.random.seed(seed=42)\n",
"N = 1000\n",
"x = np.random.uniform(size=N,low=0,high=1)\n",
"y = np.random.uniform(size=N,low=0,high=1)\n",
"accept = (x*x+y*y) <= 1\n",
"reject = np.logical_not(accept)\n",
"fig, ax = plt.subplots(1)\n",
"ax.scatter(x[accept],y[accept], c='b',alpha=0.2,edgecolor=None)\n",
"ax.scatter(x[reject],y[reject], c='r',alpha=0.2,edgecolor=None)\n",
"ax.set_aspect('equal')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Il est alors aisé d'obtenir une approximation (pas terrible) de $\\pi$ en comptant combien de fois, en moyenne, $X^2$ + $Y^2$ est inférieur à 1."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3.112"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"4*np.mean(accept)"
]
},
{
"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.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
...@@ -26,6 +26,15 @@ ...@@ -26,6 +26,15 @@
"Les données de l'incidence du syndrome grippal sont disponibles du site Web du [Réseau Sentinelles](http://www.sentiweb.fr/). Nous les récupérons sous forme d'un fichier en format CSV dont chaque ligne correspond à une semaine de la période demandée. Nous téléchargeons toujours le jeu de données complet, qui commence en 1984 et se termine avec une semaine récente." "Les données de l'incidence du syndrome grippal sont disponibles du site Web du [Réseau Sentinelles](http://www.sentiweb.fr/). Nous les récupérons sous forme d'un fichier en format CSV dont chaque ligne correspond à une semaine de la période demandée. Nous téléchargeons toujours le jeu de données complet, qui commence en 1984 et se termine avec une semaine récente."
] ]
}, },
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Les données d'origine sont accessibles en ligne via cette [URL](http://www.sentiweb.fr/france/fr/?page=table)"
]
},
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": null,
...@@ -37,6 +46,24 @@ ...@@ -37,6 +46,24 @@
"data_url = \"http://www.sentiweb.fr/datasets/incidence-PAY-3.csv\"" "data_url = \"http://www.sentiweb.fr/datasets/incidence-PAY-3.csv\""
] ]
}, },
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Mais nous préférons utiliser une copie des données stockées dans le fichier local.Nous spécifions le chemin local du fichier csv."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"chemin_local = C:\\Users\\karin\\OneDrive\\Documents\\Thèse Karine\\Travaux 6ème année\\Cours\\Recherche reproductible\\Module 3 - La main à la pâte une analyse replicable\\incidence-PAY-25.csv"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
...@@ -65,7 +92,7 @@ ...@@ -65,7 +92,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"raw_data = pd.read_csv(data_url, skiprows=1)\n", "raw_data = pd.read_csv(chemin_local, skiprows=1)\n",
"raw_data" "raw_data"
] ]
}, },
...@@ -364,7 +391,7 @@ ...@@ -364,7 +391,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.6.1" "version": "3.6.4"
} }
}, },
"nbformat": 4, "nbformat": 4,
......
This source diff could not be displayed because it is too large. You can view the blob instead.
{ {
"cells": [], "cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Le pouvoir d'achat des ouvriers anglais du XVIe au XIX siècle"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[William Playfair](https://fr.wikipedia.org/wiki/William_Playfair) était un des pionniers de la présentation graphique des données. Il est notamment considéré comme l'inventeur de l'histogramme. \n",
"Un de ses graphes célèbres, tiré de son livre [\"A Letter on Our Agricultural Distresses, Their Causes and Remedies\"](https://books.google.fr/books/about/A_Letter_on_Our_Agricultural_Distresses.html?id=aQZGAQAAMAAJ), montre [l'évolution du prix du blé et du salaire moyen entre 1565 et 1821](https://fr.wikipedia.org/wiki/William_Playfair#/media/File:Chart_Showing_at_One_View_the_Price_of_the_Quarter_of_Wheat,_and_Wages_of_Labour_by_the_Week,_from_1565_to_1821.png). Playfair n'a pas publié les données numériques brutes qu'il a utilisées, car à son époque la réplicabilité n'était pas encore considérée comme essentielle. Des [valeurs obtenues par numérisation du graphe](https://vincentarelbundock.github.io/Rdatasets/doc/HistData/Wheat.html) sont aujourd'hui téléchargeables, la [version en format CSV](https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/HistData/Wheat.csv) étant la plus pratique.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Quelques remarques pour la compréhension des données :\n",
"* Jusqu'en 1971, la livre sterling était divisée en 20 shillings, et un shilling en 12 pences.\n",
"* Le prix du blé est donné en shillings pour un quart de boisseau de blé. Un quart de boisseau équivaut 15 livres britanniques ou 6,8 kg.\n",
"* Les salaires sont donnés en shillings par semaine."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Reproduction du graphe de Playfair à partir des données numériques"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Il s'agit de:\n",
"* Représenter, comme Playfair, le prix du blé par des barres et les salaires par une surface bleue délimitée par une courbe rouge. \n",
"* Superposer les deux de la même façon dans un seul graphique. \n",
"Le style du graphique pourra rester différent par rapport à l'original, mais l'impression globale devrait être la même."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pour créer un graphique représentant le prix du blé par des barres et les salaires par une surface bleue délimitée par une courbe rouge, vous pouvez utiliser la bibliothèque `pandas` pour manipuler les données et `matplotlib` pour créer le graphique."
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Chargement des données depuis l'URL"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"data_url = \"https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/HistData/Wheat.csv\""
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>rownames</th>\n",
" <th>Year</th>\n",
" <th>Wheat</th>\n",
" <th>Wages</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>1565</td>\n",
" <td>41.0</td>\n",
" <td>5.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>1570</td>\n",
" <td>45.0</td>\n",
" <td>5.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1575</td>\n",
" <td>42.0</td>\n",
" <td>5.08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>1580</td>\n",
" <td>49.0</td>\n",
" <td>5.12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>1585</td>\n",
" <td>41.5</td>\n",
" <td>5.15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>6</td>\n",
" <td>1590</td>\n",
" <td>47.0</td>\n",
" <td>5.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>7</td>\n",
" <td>1595</td>\n",
" <td>64.0</td>\n",
" <td>5.54</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>8</td>\n",
" <td>1600</td>\n",
" <td>27.0</td>\n",
" <td>5.61</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>9</td>\n",
" <td>1605</td>\n",
" <td>33.0</td>\n",
" <td>5.69</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>10</td>\n",
" <td>1610</td>\n",
" <td>32.0</td>\n",
" <td>5.78</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>11</td>\n",
" <td>1615</td>\n",
" <td>33.0</td>\n",
" <td>5.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>12</td>\n",
" <td>1620</td>\n",
" <td>35.0</td>\n",
" <td>6.01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>13</td>\n",
" <td>1625</td>\n",
" <td>33.0</td>\n",
" <td>6.12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>14</td>\n",
" <td>1630</td>\n",
" <td>45.0</td>\n",
" <td>6.22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>15</td>\n",
" <td>1635</td>\n",
" <td>33.0</td>\n",
" <td>6.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>16</td>\n",
" <td>1640</td>\n",
" <td>39.0</td>\n",
" <td>6.37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>17</td>\n",
" <td>1645</td>\n",
" <td>53.0</td>\n",
" <td>6.45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>18</td>\n",
" <td>1650</td>\n",
" <td>42.0</td>\n",
" <td>6.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>19</td>\n",
" <td>1655</td>\n",
" <td>40.5</td>\n",
" <td>6.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>20</td>\n",
" <td>1660</td>\n",
" <td>46.5</td>\n",
" <td>6.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>21</td>\n",
" <td>1665</td>\n",
" <td>32.0</td>\n",
" <td>6.80</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>22</td>\n",
" <td>1670</td>\n",
" <td>37.0</td>\n",
" <td>6.90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>23</td>\n",
" <td>1675</td>\n",
" <td>43.0</td>\n",
" <td>7.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>24</td>\n",
" <td>1680</td>\n",
" <td>35.0</td>\n",
" <td>7.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>25</td>\n",
" <td>1685</td>\n",
" <td>27.0</td>\n",
" <td>7.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>26</td>\n",
" <td>1690</td>\n",
" <td>40.0</td>\n",
" <td>8.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>27</td>\n",
" <td>1695</td>\n",
" <td>50.0</td>\n",
" <td>8.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>28</td>\n",
" <td>1700</td>\n",
" <td>30.0</td>\n",
" <td>9.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>29</td>\n",
" <td>1705</td>\n",
" <td>32.0</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>30</td>\n",
" <td>1710</td>\n",
" <td>44.0</td>\n",
" <td>11.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>31</td>\n",
" <td>1715</td>\n",
" <td>33.0</td>\n",
" <td>11.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>32</td>\n",
" <td>1720</td>\n",
" <td>29.0</td>\n",
" <td>12.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>33</td>\n",
" <td>1725</td>\n",
" <td>39.0</td>\n",
" <td>13.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>34</td>\n",
" <td>1730</td>\n",
" <td>26.0</td>\n",
" <td>13.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>35</td>\n",
" <td>1735</td>\n",
" <td>32.0</td>\n",
" <td>13.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>36</td>\n",
" <td>1740</td>\n",
" <td>27.0</td>\n",
" <td>14.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>37</td>\n",
" <td>1745</td>\n",
" <td>27.5</td>\n",
" <td>14.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>38</td>\n",
" <td>1750</td>\n",
" <td>31.0</td>\n",
" <td>15.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>39</td>\n",
" <td>1755</td>\n",
" <td>35.5</td>\n",
" <td>15.70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>40</td>\n",
" <td>1760</td>\n",
" <td>31.0</td>\n",
" <td>16.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>41</td>\n",
" <td>1765</td>\n",
" <td>43.0</td>\n",
" <td>17.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>42</td>\n",
" <td>1770</td>\n",
" <td>47.0</td>\n",
" <td>18.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>43</td>\n",
" <td>1775</td>\n",
" <td>44.0</td>\n",
" <td>19.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>44</td>\n",
" <td>1780</td>\n",
" <td>46.0</td>\n",
" <td>21.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>45</td>\n",
" <td>1785</td>\n",
" <td>42.0</td>\n",
" <td>23.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>46</td>\n",
" <td>1790</td>\n",
" <td>47.5</td>\n",
" <td>25.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>47</td>\n",
" <td>1795</td>\n",
" <td>76.0</td>\n",
" <td>27.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>48</td>\n",
" <td>1800</td>\n",
" <td>79.0</td>\n",
" <td>28.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>49</td>\n",
" <td>1805</td>\n",
" <td>81.0</td>\n",
" <td>29.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>50</td>\n",
" <td>1810</td>\n",
" <td>99.0</td>\n",
" <td>30.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>51</td>\n",
" <td>1815</td>\n",
" <td>78.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>52</td>\n",
" <td>1820</td>\n",
" <td>54.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>53</td>\n",
" <td>1821</td>\n",
" <td>54.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" rownames Year Wheat Wages\n",
"0 1 1565 41.0 5.00\n",
"1 2 1570 45.0 5.05\n",
"2 3 1575 42.0 5.08\n",
"3 4 1580 49.0 5.12\n",
"4 5 1585 41.5 5.15\n",
"5 6 1590 47.0 5.25\n",
"6 7 1595 64.0 5.54\n",
"7 8 1600 27.0 5.61\n",
"8 9 1605 33.0 5.69\n",
"9 10 1610 32.0 5.78\n",
"10 11 1615 33.0 5.94\n",
"11 12 1620 35.0 6.01\n",
"12 13 1625 33.0 6.12\n",
"13 14 1630 45.0 6.22\n",
"14 15 1635 33.0 6.30\n",
"15 16 1640 39.0 6.37\n",
"16 17 1645 53.0 6.45\n",
"17 18 1650 42.0 6.50\n",
"18 19 1655 40.5 6.60\n",
"19 20 1660 46.5 6.75\n",
"20 21 1665 32.0 6.80\n",
"21 22 1670 37.0 6.90\n",
"22 23 1675 43.0 7.00\n",
"23 24 1680 35.0 7.30\n",
"24 25 1685 27.0 7.60\n",
"25 26 1690 40.0 8.00\n",
"26 27 1695 50.0 8.50\n",
"27 28 1700 30.0 9.00\n",
"28 29 1705 32.0 10.00\n",
"29 30 1710 44.0 11.00\n",
"30 31 1715 33.0 11.75\n",
"31 32 1720 29.0 12.50\n",
"32 33 1725 39.0 13.00\n",
"33 34 1730 26.0 13.30\n",
"34 35 1735 32.0 13.60\n",
"35 36 1740 27.0 14.00\n",
"36 37 1745 27.5 14.50\n",
"37 38 1750 31.0 15.00\n",
"38 39 1755 35.5 15.70\n",
"39 40 1760 31.0 16.50\n",
"40 41 1765 43.0 17.60\n",
"41 42 1770 47.0 18.50\n",
"42 43 1775 44.0 19.50\n",
"43 44 1780 46.0 21.00\n",
"44 45 1785 42.0 23.00\n",
"45 46 1790 47.5 25.50\n",
"46 47 1795 76.0 27.50\n",
"47 48 1800 79.0 28.50\n",
"48 49 1805 81.0 29.50\n",
"49 50 1810 99.0 30.00\n",
"50 51 1815 78.0 NaN\n",
"51 52 1820 54.0 NaN\n",
"52 53 1821 54.0 NaN"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_data = pd.read_csv(data_url)\n",
"raw_data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Y a-t-il des points manquants dans ce jeux de données ? Oui, les années 1815, 1820 et 1821 n'ont pas de valeurs associées pour les salaires."
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>rownames</th>\n",
" <th>Year</th>\n",
" <th>Wheat</th>\n",
" <th>Wages</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>51</td>\n",
" <td>1815</td>\n",
" <td>78.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>52</td>\n",
" <td>1820</td>\n",
" <td>54.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>53</td>\n",
" <td>1821</td>\n",
" <td>54.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" rownames Year Wheat Wages\n",
"50 51 1815 78.0 NaN\n",
"51 52 1820 54.0 NaN\n",
"52 53 1821 54.0 NaN"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_data[raw_data.isnull().any(axis=1)]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nous éliminons ces points, ce qui n'a pas d'impact fort sur notre analyse."
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>rownames</th>\n",
" <th>Year</th>\n",
" <th>Wheat</th>\n",
" <th>Wages</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>1565</td>\n",
" <td>41.0</td>\n",
" <td>5.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>1570</td>\n",
" <td>45.0</td>\n",
" <td>5.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1575</td>\n",
" <td>42.0</td>\n",
" <td>5.08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>1580</td>\n",
" <td>49.0</td>\n",
" <td>5.12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>1585</td>\n",
" <td>41.5</td>\n",
" <td>5.15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>6</td>\n",
" <td>1590</td>\n",
" <td>47.0</td>\n",
" <td>5.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>7</td>\n",
" <td>1595</td>\n",
" <td>64.0</td>\n",
" <td>5.54</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>8</td>\n",
" <td>1600</td>\n",
" <td>27.0</td>\n",
" <td>5.61</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>9</td>\n",
" <td>1605</td>\n",
" <td>33.0</td>\n",
" <td>5.69</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>10</td>\n",
" <td>1610</td>\n",
" <td>32.0</td>\n",
" <td>5.78</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>11</td>\n",
" <td>1615</td>\n",
" <td>33.0</td>\n",
" <td>5.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>12</td>\n",
" <td>1620</td>\n",
" <td>35.0</td>\n",
" <td>6.01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>13</td>\n",
" <td>1625</td>\n",
" <td>33.0</td>\n",
" <td>6.12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>14</td>\n",
" <td>1630</td>\n",
" <td>45.0</td>\n",
" <td>6.22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>15</td>\n",
" <td>1635</td>\n",
" <td>33.0</td>\n",
" <td>6.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>16</td>\n",
" <td>1640</td>\n",
" <td>39.0</td>\n",
" <td>6.37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>17</td>\n",
" <td>1645</td>\n",
" <td>53.0</td>\n",
" <td>6.45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>18</td>\n",
" <td>1650</td>\n",
" <td>42.0</td>\n",
" <td>6.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>19</td>\n",
" <td>1655</td>\n",
" <td>40.5</td>\n",
" <td>6.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>20</td>\n",
" <td>1660</td>\n",
" <td>46.5</td>\n",
" <td>6.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>21</td>\n",
" <td>1665</td>\n",
" <td>32.0</td>\n",
" <td>6.80</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>22</td>\n",
" <td>1670</td>\n",
" <td>37.0</td>\n",
" <td>6.90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>23</td>\n",
" <td>1675</td>\n",
" <td>43.0</td>\n",
" <td>7.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>24</td>\n",
" <td>1680</td>\n",
" <td>35.0</td>\n",
" <td>7.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>25</td>\n",
" <td>1685</td>\n",
" <td>27.0</td>\n",
" <td>7.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>26</td>\n",
" <td>1690</td>\n",
" <td>40.0</td>\n",
" <td>8.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>27</td>\n",
" <td>1695</td>\n",
" <td>50.0</td>\n",
" <td>8.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>28</td>\n",
" <td>1700</td>\n",
" <td>30.0</td>\n",
" <td>9.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>29</td>\n",
" <td>1705</td>\n",
" <td>32.0</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>30</td>\n",
" <td>1710</td>\n",
" <td>44.0</td>\n",
" <td>11.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>31</td>\n",
" <td>1715</td>\n",
" <td>33.0</td>\n",
" <td>11.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>32</td>\n",
" <td>1720</td>\n",
" <td>29.0</td>\n",
" <td>12.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>33</td>\n",
" <td>1725</td>\n",
" <td>39.0</td>\n",
" <td>13.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>34</td>\n",
" <td>1730</td>\n",
" <td>26.0</td>\n",
" <td>13.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>35</td>\n",
" <td>1735</td>\n",
" <td>32.0</td>\n",
" <td>13.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>36</td>\n",
" <td>1740</td>\n",
" <td>27.0</td>\n",
" <td>14.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>37</td>\n",
" <td>1745</td>\n",
" <td>27.5</td>\n",
" <td>14.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>38</td>\n",
" <td>1750</td>\n",
" <td>31.0</td>\n",
" <td>15.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>39</td>\n",
" <td>1755</td>\n",
" <td>35.5</td>\n",
" <td>15.70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>40</td>\n",
" <td>1760</td>\n",
" <td>31.0</td>\n",
" <td>16.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>41</td>\n",
" <td>1765</td>\n",
" <td>43.0</td>\n",
" <td>17.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>42</td>\n",
" <td>1770</td>\n",
" <td>47.0</td>\n",
" <td>18.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>43</td>\n",
" <td>1775</td>\n",
" <td>44.0</td>\n",
" <td>19.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>44</td>\n",
" <td>1780</td>\n",
" <td>46.0</td>\n",
" <td>21.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>45</td>\n",
" <td>1785</td>\n",
" <td>42.0</td>\n",
" <td>23.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>46</td>\n",
" <td>1790</td>\n",
" <td>47.5</td>\n",
" <td>25.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>47</td>\n",
" <td>1795</td>\n",
" <td>76.0</td>\n",
" <td>27.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>48</td>\n",
" <td>1800</td>\n",
" <td>79.0</td>\n",
" <td>28.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>49</td>\n",
" <td>1805</td>\n",
" <td>81.0</td>\n",
" <td>29.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>50</td>\n",
" <td>1810</td>\n",
" <td>99.0</td>\n",
" <td>30.00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" rownames Year Wheat Wages\n",
"0 1 1565 41.0 5.00\n",
"1 2 1570 45.0 5.05\n",
"2 3 1575 42.0 5.08\n",
"3 4 1580 49.0 5.12\n",
"4 5 1585 41.5 5.15\n",
"5 6 1590 47.0 5.25\n",
"6 7 1595 64.0 5.54\n",
"7 8 1600 27.0 5.61\n",
"8 9 1605 33.0 5.69\n",
"9 10 1610 32.0 5.78\n",
"10 11 1615 33.0 5.94\n",
"11 12 1620 35.0 6.01\n",
"12 13 1625 33.0 6.12\n",
"13 14 1630 45.0 6.22\n",
"14 15 1635 33.0 6.30\n",
"15 16 1640 39.0 6.37\n",
"16 17 1645 53.0 6.45\n",
"17 18 1650 42.0 6.50\n",
"18 19 1655 40.5 6.60\n",
"19 20 1660 46.5 6.75\n",
"20 21 1665 32.0 6.80\n",
"21 22 1670 37.0 6.90\n",
"22 23 1675 43.0 7.00\n",
"23 24 1680 35.0 7.30\n",
"24 25 1685 27.0 7.60\n",
"25 26 1690 40.0 8.00\n",
"26 27 1695 50.0 8.50\n",
"27 28 1700 30.0 9.00\n",
"28 29 1705 32.0 10.00\n",
"29 30 1710 44.0 11.00\n",
"30 31 1715 33.0 11.75\n",
"31 32 1720 29.0 12.50\n",
"32 33 1725 39.0 13.00\n",
"33 34 1730 26.0 13.30\n",
"34 35 1735 32.0 13.60\n",
"35 36 1740 27.0 14.00\n",
"36 37 1745 27.5 14.50\n",
"37 38 1750 31.0 15.00\n",
"38 39 1755 35.5 15.70\n",
"39 40 1760 31.0 16.50\n",
"40 41 1765 43.0 17.60\n",
"41 42 1770 47.0 18.50\n",
"42 43 1775 44.0 19.50\n",
"43 44 1780 46.0 21.00\n",
"44 45 1785 42.0 23.00\n",
"45 46 1790 47.5 25.50\n",
"46 47 1795 76.0 27.50\n",
"47 48 1800 79.0 28.50\n",
"48 49 1805 81.0 29.50\n",
"49 50 1810 99.0 30.00"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = raw_data.dropna().copy()\n",
"data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nous définissons les années d'observation comme nouvel index de notre jeux de données. Ceci en fait une suite chronologique, ce qui sera pratique par la suite. Ensuite, nous trions les points par période, dans le sens chronologique."
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [],
"source": [
"sorted_data = data.set_index('Year').sort_index()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nous vérifions la cohérence des données. Entre la fin d'une période et le début de la période qui suit, la différence temporelle doit être 5."
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [],
"source": [
"Year = sorted_data.index\n",
"for Y1, Y2 in zip(Year[:-1], Year[1:]):\n",
" delta = Y2 - Y1\n",
" if delta != 5:\n",
" print(Y1, Y2)"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f66fdb45b70>"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sorted_data['Wheat'].plot.hist()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Création d'un graphique avec deux axes y"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax1 = plt.subplots(figsize=(10, 6))"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "'5' is not a valid estimator for `bins`",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-68-bd261631604f>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Wheat'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'5'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'tan'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0medgecolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'black'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m/opt/conda/lib/python3.6/site-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36mhist\u001b[0;34m(x, bins, range, density, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, normed, hold, data, **kwargs)\u001b[0m\n\u001b[1;32m 3135\u001b[0m \u001b[0mhisttype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mhisttype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0malign\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0malign\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morientation\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0morientation\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3136\u001b[0m \u001b[0mrwidth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mrwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlog\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlog\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcolor\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3137\u001b[0;31m stacked=stacked, normed=normed, data=data, **kwargs)\n\u001b[0m\u001b[1;32m 3138\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3139\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_hold\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mwashold\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/opt/conda/lib/python3.6/site-packages/matplotlib/__init__.py\u001b[0m in \u001b[0;36minner\u001b[0;34m(ax, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1865\u001b[0m \u001b[0;34m\"the Matplotlib list!)\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mlabel_namer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1866\u001b[0m RuntimeWarning, stacklevel=2)\n\u001b[0;32m-> 1867\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1868\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1869\u001b[0m inner.__doc__ = _add_data_doc(inner.__doc__,\n",
"\u001b[0;32m/opt/conda/lib/python3.6/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mhist\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 6637\u001b[0m \u001b[0;31m# this will automatically overwrite bins,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6638\u001b[0m \u001b[0;31m# so that each histogram uses the same bins\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6639\u001b[0;31m \u001b[0mm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhistogram\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweights\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mhist_kwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6640\u001b[0m \u001b[0mm\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfloat\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# causes problems later if it's an int\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6641\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mmlast\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/opt/conda/lib/python3.6/site-packages/numpy/lib/histograms.py\u001b[0m in \u001b[0;36mhistogram\u001b[0;34m(a, bins, range, normed, weights, density)\u001b[0m\n\u001b[1;32m 700\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweights\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_ravel_and_check_weights\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweights\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 701\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 702\u001b[0;31m \u001b[0mbin_edges\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0muniform_bins\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_get_bin_edges\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweights\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 703\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 704\u001b[0m \u001b[0;31m# Histogram is an integer or a float array depending on the weights.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/opt/conda/lib/python3.6/site-packages/numpy/lib/histograms.py\u001b[0m in \u001b[0;36m_get_bin_edges\u001b[0;34m(a, bins, range, weights)\u001b[0m\n\u001b[1;32m 318\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mbin_name\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0m_hist_bin_selectors\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 319\u001b[0m raise ValueError(\n\u001b[0;32m--> 320\u001b[0;31m \"{!r} is not a valid estimator for `bins`\".format(bin_name))\n\u001b[0m\u001b[1;32m 321\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mweights\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 322\u001b[0m raise TypeError(\"Automated estimation of the number of \"\n",
"\u001b[0;31mValueError\u001b[0m: '5' is not a valid estimator for `bins`"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(df['Wheat'], bins='5', color='tan', edgecolor='black')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Barres pour le prix du blé"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [],
"source": [
"ax1.bar(df['Year'], df['Wheat'], color='tan', edgecolor='black', width=1, label='Wheat')\n",
"ax1.set_xlabel('Année')\n",
"ax1.set_ylabel('Wheat', color='brown')\n",
"ax1.tick_params('y', colors='brown')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Création d'un deuxième axe y pour les salaires"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [],
"source": [
"ax2 = ax1.twinx()\n",
"ax2.plot(df['Year'], df['Wages'], color='red', marker='o', label='Wages')\n",
"ax2.fill_between(df['Year'], 0, df['Wages'], color='lightblue')\n",
"ax2.set_ylabel('Wages', color='red')\n",
"ax2.tick_params('y', colors='red')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Titre du graphique"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5,1,'Prix du blé et Salaires au fil du temps (1565-1821)')"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.title('Prix du blé et Salaires au fil du temps (1565-1821)')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Légende"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f66fdf0d860>"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fig.tight_layout()\n",
"fig.legend(loc='upper left')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Afficher le graphique"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [],
"source": [
"for i, row in df.iterrows():\n",
" ax1.text(row['Year'], row['Wheat'], f\"{row['Wheat']:.1f}\", ha='center', va='bottom', color='black')\n",
" ax2.text(row['Year'], row['Wages'], f\"{row['Wages']:.1f}\", ha='center', va='top', color='black')"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [],
"source": [
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": { "metadata": {
"kernelspec": { "kernelspec": {
"display_name": "Python 3", "display_name": "Python 3",
...@@ -16,10 +1381,9 @@ ...@@ -16,10 +1381,9 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.6.3" "version": "3.6.4"
} }
}, },
"nbformat": 4, "nbformat": 4,
"nbformat_minor": 2 "nbformat_minor": 2
} }