"On regarde le début et la fin du dataframe pour avoir un premier sentiment sur les données"
]
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 5,
"execution_count": 20,
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
{
{
...
@@ -43,7 +57,6 @@
...
@@ -43,7 +57,6 @@
" <thead>\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>Unnamed: 0</th>\n",
" <th>Year</th>\n",
" <th>Year</th>\n",
" <th>Wheat</th>\n",
" <th>Wheat</th>\n",
" <th>Wages</th>\n",
" <th>Wages</th>\n",
...
@@ -51,54 +64,49 @@
...
@@ -51,54 +64,49 @@
" </thead>\n",
" </thead>\n",
" <tbody>\n",
" <tbody>\n",
" <tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <th>0</th>\n",
" <td>49</td>\n",
" <td>1565</td>\n",
" <td>1805</td>\n",
" <td>41.0</td>\n",
" <td>81.0</td>\n",
" <td>5.00</td>\n",
" <td>29.5</td>\n",
" </tr>\n",
" </tr>\n",
" <tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <th>1</th>\n",
" <td>50</td>\n",
" <td>1570</td>\n",
" <td>1810</td>\n",
" <td>45.0</td>\n",
" <td>99.0</td>\n",
" <td>5.05</td>\n",
" <td>30.0</td>\n",
" </tr>\n",
" </tr>\n",
" <tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <th>2</th>\n",
" <td>51</td>\n",
" <td>1575</td>\n",
" <td>1815</td>\n",
" <td>42.0</td>\n",
" <td>78.0</td>\n",
" <td>5.08</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tr>\n",
" <tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <th>3</th>\n",
" <td>52</td>\n",
" <td>1580</td>\n",
" <td>1820</td>\n",
" <td>49.0</td>\n",
" <td>54.0</td>\n",
" <td>5.12</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tr>\n",
" <tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <th>4</th>\n",
" <td>53</td>\n",
" <td>1585</td>\n",
" <td>1821</td>\n",
" <td>41.5</td>\n",
" <td>54.0</td>\n",
" <td>5.15</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tr>\n",
" </tbody>\n",
" </tbody>\n",
"</table>\n",
"</table>\n",
"</div>"
"</div>"
],
],
"text/plain": [
"text/plain": [
" Unnamed: 0 Year Wheat Wages\n",
" Year Wheat Wages\n",
"48 49 1805 81.0 29.5\n",
"0 1565 41.0 5.00\n",
"49 50 1810 99.0 30.0\n",
"1 1570 45.0 5.05\n",
"50 51 1815 78.0 NaN\n",
"2 1575 42.0 5.08\n",
"51 52 1820 54.0 NaN\n",
"3 1580 49.0 5.12\n",
"52 53 1821 54.0 NaN"
"4 1585 41.5 5.15"
]
]
},
},
"execution_count": 5,
"execution_count": 20,
"metadata": {},
"metadata": {},
"output_type": "execute_result"
"output_type": "execute_result"
}
}
...
@@ -197,6 +205,15 @@
...
@@ -197,6 +205,15 @@
"playfair.tail()"
"playfair.tail()"
]
]
},
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Comme il n'y a pas beaucoup de données on peut vérifier la qualité par de simples graphiques.\n",
"\n",
"On importe matplotlib et on visualise les deux variables principales; on ne constate pas de valeurs anormales. La variabilité du prix du blé est plus grande que celle des salaires. Cela parait normal. "
]
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 7,
"execution_count": 7,
...
@@ -270,6 +287,557 @@
...
@@ -270,6 +287,557 @@
"plt.plot(playfair['Wages'])"
"plt.plot(playfair['Wages'])"
]
]
},
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On prend l'année comme index. Cela permettra que l'année figure comme abscice dans les graphiques"
]
},
{
"cell_type": "code",
"execution_count": 11,
"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>Unnamed: 0</th>\n",
" <th>Wheat</th>\n",
" <th>Wages</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Year</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1565</th>\n",
" <td>1</td>\n",
" <td>41.0</td>\n",
" <td>5.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1570</th>\n",
" <td>2</td>\n",
" <td>45.0</td>\n",
" <td>5.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1575</th>\n",
" <td>3</td>\n",
" <td>42.0</td>\n",
" <td>5.08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1580</th>\n",
" <td>4</td>\n",
" <td>49.0</td>\n",
" <td>5.12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1585</th>\n",
" <td>5</td>\n",
" <td>41.5</td>\n",
" <td>5.15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1590</th>\n",
" <td>6</td>\n",
" <td>47.0</td>\n",
" <td>5.25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1595</th>\n",
" <td>7</td>\n",
" <td>64.0</td>\n",
" <td>5.54</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1600</th>\n",
" <td>8</td>\n",
" <td>27.0</td>\n",
" <td>5.61</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1605</th>\n",
" <td>9</td>\n",
" <td>33.0</td>\n",
" <td>5.69</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1610</th>\n",
" <td>10</td>\n",
" <td>32.0</td>\n",
" <td>5.78</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1615</th>\n",
" <td>11</td>\n",
" <td>33.0</td>\n",
" <td>5.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1620</th>\n",
" <td>12</td>\n",
" <td>35.0</td>\n",
" <td>6.01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1625</th>\n",
" <td>13</td>\n",
" <td>33.0</td>\n",
" <td>6.12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1630</th>\n",
" <td>14</td>\n",
" <td>45.0</td>\n",
" <td>6.22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1635</th>\n",
" <td>15</td>\n",
" <td>33.0</td>\n",
" <td>6.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1640</th>\n",
" <td>16</td>\n",
" <td>39.0</td>\n",
" <td>6.37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1645</th>\n",
" <td>17</td>\n",
" <td>53.0</td>\n",
" <td>6.45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1650</th>\n",
" <td>18</td>\n",
" <td>42.0</td>\n",
" <td>6.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1655</th>\n",
" <td>19</td>\n",
" <td>40.5</td>\n",
" <td>6.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1660</th>\n",
" <td>20</td>\n",
" <td>46.5</td>\n",
" <td>6.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1665</th>\n",
" <td>21</td>\n",
" <td>32.0</td>\n",
" <td>6.80</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1670</th>\n",
" <td>22</td>\n",
" <td>37.0</td>\n",
" <td>6.90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1675</th>\n",
" <td>23</td>\n",
" <td>43.0</td>\n",
" <td>7.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1680</th>\n",
" <td>24</td>\n",
" <td>35.0</td>\n",
" <td>7.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1685</th>\n",
" <td>25</td>\n",
" <td>27.0</td>\n",
" <td>7.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1690</th>\n",
" <td>26</td>\n",
" <td>40.0</td>\n",
" <td>8.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1695</th>\n",
" <td>27</td>\n",
" <td>50.0</td>\n",
" <td>8.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1700</th>\n",
" <td>28</td>\n",
" <td>30.0</td>\n",
" <td>9.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1705</th>\n",
" <td>29</td>\n",
" <td>32.0</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1710</th>\n",
" <td>30</td>\n",
" <td>44.0</td>\n",
" <td>11.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1715</th>\n",
" <td>31</td>\n",
" <td>33.0</td>\n",
" <td>11.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1720</th>\n",
" <td>32</td>\n",
" <td>29.0</td>\n",
" <td>12.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1725</th>\n",
" <td>33</td>\n",
" <td>39.0</td>\n",
" <td>13.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1730</th>\n",
" <td>34</td>\n",
" <td>26.0</td>\n",
" <td>13.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1735</th>\n",
" <td>35</td>\n",
" <td>32.0</td>\n",
" <td>13.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1740</th>\n",
" <td>36</td>\n",
" <td>27.0</td>\n",
" <td>14.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1745</th>\n",
" <td>37</td>\n",
" <td>27.5</td>\n",
" <td>14.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1750</th>\n",
" <td>38</td>\n",
" <td>31.0</td>\n",
" <td>15.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1755</th>\n",
" <td>39</td>\n",
" <td>35.5</td>\n",
" <td>15.70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1760</th>\n",
" <td>40</td>\n",
" <td>31.0</td>\n",
" <td>16.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1765</th>\n",
" <td>41</td>\n",
" <td>43.0</td>\n",
" <td>17.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1770</th>\n",
" <td>42</td>\n",
" <td>47.0</td>\n",
" <td>18.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1775</th>\n",
" <td>43</td>\n",
" <td>44.0</td>\n",
" <td>19.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1780</th>\n",
" <td>44</td>\n",
" <td>46.0</td>\n",
" <td>21.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1785</th>\n",
" <td>45</td>\n",
" <td>42.0</td>\n",
" <td>23.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1790</th>\n",
" <td>46</td>\n",
" <td>47.5</td>\n",
" <td>25.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1795</th>\n",
" <td>47</td>\n",
" <td>76.0</td>\n",
" <td>27.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1800</th>\n",
" <td>48</td>\n",
" <td>79.0</td>\n",
" <td>28.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1805</th>\n",
" <td>49</td>\n",
" <td>81.0</td>\n",
" <td>29.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1810</th>\n",
" <td>50</td>\n",
" <td>99.0</td>\n",
" <td>30.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1815</th>\n",
" <td>51</td>\n",
" <td>78.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1820</th>\n",
" <td>52</td>\n",
" <td>54.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1821</th>\n",
" <td>53</td>\n",
" <td>54.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 Wheat Wages\n",
"Year \n",
"1565 1 41.0 5.00\n",
"1570 2 45.0 5.05\n",
"1575 3 42.0 5.08\n",
"1580 4 49.0 5.12\n",
"1585 5 41.5 5.15\n",
"1590 6 47.0 5.25\n",
"1595 7 64.0 5.54\n",
"1600 8 27.0 5.61\n",
"1605 9 33.0 5.69\n",
"1610 10 32.0 5.78\n",
"1615 11 33.0 5.94\n",
"1620 12 35.0 6.01\n",
"1625 13 33.0 6.12\n",
"1630 14 45.0 6.22\n",
"1635 15 33.0 6.30\n",
"1640 16 39.0 6.37\n",
"1645 17 53.0 6.45\n",
"1650 18 42.0 6.50\n",
"1655 19 40.5 6.60\n",
"1660 20 46.5 6.75\n",
"1665 21 32.0 6.80\n",
"1670 22 37.0 6.90\n",
"1675 23 43.0 7.00\n",
"1680 24 35.0 7.30\n",
"1685 25 27.0 7.60\n",
"1690 26 40.0 8.00\n",
"1695 27 50.0 8.50\n",
"1700 28 30.0 9.00\n",
"1705 29 32.0 10.00\n",
"1710 30 44.0 11.00\n",
"1715 31 33.0 11.75\n",
"1720 32 29.0 12.50\n",
"1725 33 39.0 13.00\n",
"1730 34 26.0 13.30\n",
"1735 35 32.0 13.60\n",
"1740 36 27.0 14.00\n",
"1745 37 27.5 14.50\n",
"1750 38 31.0 15.00\n",
"1755 39 35.5 15.70\n",
"1760 40 31.0 16.50\n",
"1765 41 43.0 17.60\n",
"1770 42 47.0 18.50\n",
"1775 43 44.0 19.50\n",
"1780 44 46.0 21.00\n",
"1785 45 42.0 23.00\n",
"1790 46 47.5 25.50\n",
"1795 47 76.0 27.50\n",
"1800 48 79.0 28.50\n",
"1805 49 81.0 29.50\n",
"1810 50 99.0 30.00\n",
"1815 51 78.0 NaN\n",
"1820 52 54.0 NaN\n",
"1821 53 54.0 NaN"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"playfair.set_index('Year')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On n'a plus besoin de la colonne qui numérote les observations"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"playfair=playfair.drop(columns='Unnamed: 0')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On vérifie le type des variables et le nombre de variables non nulles. Les 3 NaN du salaire correspondent aux trois dernières observations."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 53 entries, 0 to 52\n",
"Data columns (total 3 columns):\n",
"Year 53 non-null int64\n",
"Wheat 53 non-null float64\n",
"Wages 50 non-null float64\n",
"dtypes: float64(2), int64(1)\n",
"memory usage: 1.3 KB\n"
]
}
],
"source": [
"playfair.info()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Les années vont de 5 en 5 sauf la dernière qui a les mêmes valeurs que l'avant dernière. On élimine donc la dernière observation qui n'apporte rien. "
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 52 entries, 0 to 51\n",
"Data columns (total 3 columns):\n",
"Year 52 non-null int64\n",
"Wheat 52 non-null float64\n",
"Wages 50 non-null float64\n",
"dtypes: float64(2), int64(1)\n",
"memory usage: 1.3 KB\n"
]
}
],
"source": [
"playfair=playfair[:-1]\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## TODO vérifier que les années vont de 5 en 5"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f55414ac048>"