"W. Playfair n'a pas publié les données numériques brutes de son étude. Néanmoins une version numérisée est diponible [ici][data_url], réalisé par [Vincent Arel-Bundock] et publié sur son site [R datasets][vab r datasets].\n",
"W. Playfair n'a pas publié les données numériques brutes de son étude. Néanmoins une version numérisée est diponible [ici][data_url], réalisé par [Vincent Arel-Bundock] et publié sur son site [R datasets][vab r datasets].\n",
"Les données sont vérifiées sur les critères suivants :\n",
"\n",
"* présence de lignes vides\n",
"* rupture de date, ou division non régulière\n",
"\n",
"Il est à noter les données sont enregistrées tous les 5 ans."
]
},
{
"cell_type": "code",
"execution_count": 10,
"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>Year</th>\n",
" <th>Wheat</th>\n",
" <th>Wages</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>1815</td>\n",
" <td>78.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>1820</td>\n",
" <td>54.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>53</th>\n",
" <td>1821</td>\n",
" <td>54.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Year Wheat Wages\n",
"51 1815 78.0 NaN\n",
"52 1820 54.0 NaN\n",
"53 1821 54.0 NaN"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# présence de lignes vides\n",
"rawdata[rawdata.isnull().any(axis=1)]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Les 3 dernières lignes sont vides pour la colonne *Wages*, ce qui explique l'arrêt de la ligne rouge et de la surface bleue dans le document originale."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Années de rupture :\n",
"1820\n"
]
}
],
"source": [
"# rupture de date, ou division non régulière\n",
"print(\"Années de rupture :\")\n",
"expect_delta = 5\n",
"for y1, y2 in zip(rawdata['Year'][:-1], rawdata['Year'][1:]):\n",
" delta_y = y2 - y1\n",
" if delta_y != expect_delta :\n",
" print(y1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Seule l'année 1820 présente une rupture. En effet l'enregistrement suivant est 1821. Ce qui explique la barre moins large sur le graphique original, pour les années 1820 à 1821.\n",
"\n",
"### Création des unités\n",
"\n",
"Pour rappel les untités originales des données sont les suivantes :"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"wheat_unit = 'Shillings pour un quart de boisseau'\n",
"wages_unit = 'Shillings par semaine'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Reproduction du graphique original\n",
"\n",
"Ci-dessous le graphique original est reproduit à l'aide de `Matplotlib`.\n",
"Pour représenter des dégradés voir ce lien : https://matplotlib.org/3.2.1/gallery/lines_bars_and_markers/gradient_bar.html?highlight=gradient"
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0,0.5,'Price of the Quarter of Wheat in Shillings')"