From d32959e3a1b4e1ce79420e54a9fbe26f773d11bf Mon Sep 17 00:00:00 2001 From: 014609f743e6fe7531f76a7b2d7224b8 <014609f743e6fe7531f76a7b2d7224b8@app-learninglab.inria.fr> Date: Thu, 24 Nov 2022 18:56:52 +0000 Subject: [PATCH] hmmmmm --- module3/exo2/Untitled.ipynb | 6 ++ module3/exo3/exercice-Copy1.ipynb | 32 +++++++ module3/exo3/exercice.ipynb | 154 +++++++++++++++++++++++++++++- 3 files changed, 189 insertions(+), 3 deletions(-) create mode 100644 module3/exo2/Untitled.ipynb create mode 100644 module3/exo3/exercice-Copy1.ipynb diff --git a/module3/exo2/Untitled.ipynb b/module3/exo2/Untitled.ipynb new file mode 100644 index 0000000..7fec515 --- /dev/null +++ b/module3/exo2/Untitled.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/module3/exo3/exercice-Copy1.ipynb b/module3/exo3/exercice-Copy1.ipynb new file mode 100644 index 0000000..c6f02f6 --- /dev/null +++ b/module3/exo3/exercice-Copy1.ipynb @@ -0,0 +1,32 @@ +{ + "cells": [ + { + "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 +} diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb index 0bbbe37..2f5760b 100644 --- a/module3/exo3/exercice.ipynb +++ b/module3/exo3/exercice.ipynb @@ -1,5 +1,154 @@ { - "cells": [], + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Import des données puis affichage pour en vérifier la bonne présence" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "data_url = \"https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/HistData/Wheat.csv\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "raw_data = pd.read_csv(data_url)\n", + "raw_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "On se débarasse des années qui manquent des données, afin de ne pas les traiter" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "raw_data[raw_data.isnull().any(axis=1)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "On enlève ces données, puis on se débarasse de la colonne 'Unnamed 0' qui ne sert qu'à donner l'indice de la donnée, mais qui nous est sans utilitée" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "data = raw_data.dropna().copy()\n", + "data = data.drop(columns=\"Unnamed: 0\")\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A priori les données sont déjà triés, mais par précaution on s'assure que les années sont bien dans l'ordre croissant" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sorted_data = data.set_index('Year').sort_index()\n", + "sorted_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Affichage des données dans une format similaire à PlayFair" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.plot(sorted_data.Wheat)\n", + "plt.plot(sorted_data[\"Wages\"], color=\"red\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Affichage des données d'une manière plus correcte, en séparant les axes des ordonnées des deux données" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.plot(data[\"Year\"], data[\"Wheat\"])\n", + "plt.ylabel(\"Shillings par semaine\")\n", + "plt.twinx()\n", + "plt.plot(data[\"Year\"], data[\"Wages\"], color=\"red\")\n", + "plt.ylabel(\"Shillings par quart de boisseau de blé\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Graphe montrant pour chaque année la quantité de blé pouvant être acheté, exprimé sous forme de fraction représentant la portion que pouvait se permettre un ouvrier, une augmentation graduelle est constasté (Suivi d'une chute mais le manque d'une suite de données ne permet pas de conclure)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pouvoir_achat = []\n", + "\n", + "for value in sorted_data.values:\n", + " pouvoir_achat.append(value[1] / value[0])\n", + "\n", + "plt.plot(pouvoir_achat)" + ] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +165,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 } - -- 2.18.1