{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "SNT Traitement de données structurées ELEVE.ipynb", "provenance": [], "collapsed_sections": [], "toc_visible": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "lKjvHS-vIR0t", "colab_type": "text" }, "source": [ "# Traitement de données sous PYTHON Partie I" ] }, { "cell_type": "markdown", "metadata": { "id": "XfxR8aSQTGaB", "colab_type": "text" }, "source": [ "Document ELEVE" ] }, { "cell_type": "markdown", "metadata": { "id": "52w1714vDGMH", "colab_type": "text" }, "source": [ " Pour traiter des données, nous allons utiliser la bibliothèque **Python Pandas** contenant de nouveaux outils par rapport au langage de base. La bibliothèque Pandas est donc très utilisée pour tout ce qui touche au traitement des données en Sciences, économie, ....\n", "\n", "Nous allons utiliser des données très simples au format CSV déja vues auparavant: ces données sont contenues dans le fichier ident_virgule.csv. " ] }, { "cell_type": "markdown", "metadata": { "id": "dyes8KHjDZEz", "colab_type": "text" }, "source": [ "Après avoir **importé** le fichier *ident_virgule.csv* dans les **Fichiers** de **JupiterNotebook**" ] }, { "cell_type": "markdown", "metadata": { "id": "nvWuFiudRzHA", "colab_type": "text" }, "source": [ "Vous pouvez directement **visualiser** dans la fenètre de droite le contenu en cliquant sur le fichier" ] }, { "cell_type": "markdown", "metadata": { "id": "5-Niurx4GcUV", "colab_type": "text" }, "source": [ "# Exécutez et Analysez le programme ci-dessous" ] }, { "cell_type": "code", "metadata": { "id": "SReFOfQoDoCt", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "iden=pandas.read_csv(\"ident_virgule.csv\")\n", "print(iden)" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "3zI31ioNDbhM", "colab_type": "text" }, "source": [ " Le code ci-dessus est très simple :\n", " * Avec la première ligne, nous importons la bibliothèque pandas afin de pouvoir l'utiliser\n", "* À la deuxième ligne, nous créons une variable \"iden\" qui va contenir les données présentes dans le fichier \"ident_virgule.csv\"" ] }, { "cell_type": "markdown", "metadata": { "id": "cPY-J1zuFnSD", "colab_type": "text" }, "source": [ "Les nombres présents dans la 1ère colonne sont appelés des **index**. Chaque ligne du tableau a un index (première ligne : index 0, deuxième ligne index 1...) . Les index commencent par O et non 1." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "rVggpz0oGkQb" }, "source": [ "#Analyse du programme" ] }, { "cell_type": "markdown", "metadata": { "id": "K4rbb6HEGt_5", "colab_type": "text" }, "source": [ "Complète le programme et Vérifie que la variable \"info\" contient bien le prénom \"christophe\" " ] }, { "cell_type": "code", "metadata": { "id": "-Hf_CxtJGKYJ", "colab_type": "code", "outputId": "fe20c288-26cc-42b9-fc9c-3e210b397fc7", "colab": { "base_uri": "https://localhost:8080/", "height": 425 } }, "source": [ "import pandas\n", "iden=pandas.read_csv(\"ident_virgule.csv\")\n", "info=iden.loc[1,'prenom']\n" ], "execution_count": 1, "outputs": [ { "output_type": "error", "ename": "FileNotFoundError", "evalue": "ignored", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpandas\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0miden\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpandas\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"ident_virgule.csv\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0minfo\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0miden\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'prenom'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36mparser_f\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)\u001b[0m\n\u001b[1;32m 683\u001b[0m )\n\u001b[1;32m 684\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 685\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_read\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 686\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 687\u001b[0m \u001b[0mparser_f\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m 455\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 456\u001b[0m \u001b[0;31m# Create the parser.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 457\u001b[0;31m \u001b[0mparser\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mTextFileReader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfp_or_buf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 458\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 459\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mchunksize\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0miterator\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, f, engine, **kwds)\u001b[0m\n\u001b[1;32m 893\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"has_index_names\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"has_index_names\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 894\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 895\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_make_engine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 896\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 897\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m_make_engine\u001b[0;34m(self, engine)\u001b[0m\n\u001b[1;32m 1133\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_make_engine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"c\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1134\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"c\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1135\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCParserWrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1136\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1137\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"python\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, src, **kwds)\u001b[0m\n\u001b[1;32m 1915\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"usecols\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0musecols\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1916\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1917\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mparsers\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTextReader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msrc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1918\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munnamed_cols\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munnamed_cols\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1919\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32mpandas/_libs/parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader.__cinit__\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader._setup_parser_source\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] File b'ident_virgule.csv' does not exist: b'ident_virgule.csv'" ] } ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "fIdeR9g4GlaM" }, "source": [ "#Modification du programme" ] }, { "cell_type": "markdown", "metadata": { "id": "KjJ5aFxOGRyI", "colab_type": "text" }, "source": [ "EX 1 Modifiez le programme pour que la variable info contienne \"12/06/1978\" " ] }, { "cell_type": "code", "metadata": { "id": "AR_ejWmPGTmo", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "iden=pandas.read_csv(\"ident_virgule.csv\")\n", "info=iden.loc[.................]\n", "................................" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "xC6gbfFLHMyJ" }, "source": [ "#Analyse du programme" ] }, { "cell_type": "markdown", "metadata": { "id": "kDgSXxOvHVay", "colab_type": "text" }, "source": [ "Testez le programme suivant : " ] }, { "cell_type": "code", "metadata": { "id": "jnHiVKRQHNzy", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "iden=pandas.read_csv(\"ident_virgule.csv\")\n", "info=iden.loc[:,'nom']\n", "print(info)" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "Q0N-kbDVHYx_", "colab_type": "text" }, "source": [ " Vérifiez que la variable \"info\" contient bien toutes les données de la dernière ligne (index 2)\n", "\n", "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "0S_LazkDIDm2", "colab_type": "text" }, "source": [ "Il est aussi possible de récupérer seulement certaines lignes et certaines colonnes en utilisant la notation suivante : loc[[index_ligne_1,index_ligne_2,...],[index_colonne_1,index_colonne_2,...]] " ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "z1oTBcTlHiFi" }, "source": [ "#Analyse du programme" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "7bK9BL5OHp3Q" }, "source": [ "Testez le programme suivant : " ] }, { "cell_type": "code", "metadata": { "id": "QMCHRxc5HlDY", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "iden=pandas.read_csv(\"ident_virgule.csv\")\n", "info=iden.loc[[0,1],['nom','date_naissance']]\n", "print(info)" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "xg7iWLQOHtJe", "colab_type": "text" }, "source": [ "Vérifiez que la variable \"info\" contient bien un tableau avec uniquement les colonnes \"nom\" et \"date_naissance\" de la première ligne (index 0) et de la deuxième ligne (index 1). " ] }, { "cell_type": "markdown", "metadata": { "id": "eY3_6iBAJ7YL", "colab_type": "text" }, "source": [ "A vous de jouer en affichant uniquement le prénom du 2ème nom" ] }, { "cell_type": "code", "metadata": { "id": "LOXwXu2KKArB", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "\n", "\n", "\n" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "hyFsV7fpIoqP", "colab_type": "text" }, "source": [ "# Traitement de données sous PYTHON Partie II" ] }, { "cell_type": "markdown", "metadata": { "id": "9G1PDaMfIyvB", "colab_type": "text" }, "source": [ "Par la suite, nous allons travailler sur les données contenues dans le fichier *ville_virgule.csv.* " ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "7wgktp2bNZAw" }, "source": [ "#Analyse du programme" ] }, { "cell_type": "code", "metadata": { "id": "doWYn4aeI9jL", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "info_villes=pandas.read_csv(\"villes_virgule.csv\")\n", "print(info_villes)" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "KeK3ytMUNj-x" }, "source": [ "#Analyse du programme" ] }, { "cell_type": "code", "metadata": { "id": "UeSp7xJ0KRiy", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "info_villes=pandas.read_csv(\"villes_virgule.csv\")\n", "nom_alt=info_villes.loc[info_villes[\"alt_min\"]>1500,[\"nom\",\"alt_min\"]]\n", "print(nom_alt)" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "9N08YSc-Nsxg", "colab_type": "text" }, "source": [ "Dans le \"loc\", l'expression \"info_villes[\"alt_min\"]>1500\" est bien avant la virgule, elle concerne donc les index des lignes du tableau. On sélectionnera uniquement les lignes qui auront la valeur du descripteur \"alt_min\" supérieure à 1500. Nous allons donc bien sélectionner les villes qui ont une altitude minimum supérieure à 1500 m " ] }, { "cell_type": "markdown", "metadata": { "id": "XyIC40RBNB2w", "colab_type": "text" }, "source": [ "##Modifier le programme pour qu'il affiche les villes d'altitude max inférieure à 1000 m d'altitude " ] }, { "cell_type": "code", "metadata": { "id": "2WzDm6W3NBBR", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "info_villes=pandas.read_csv(\"villes_virgule.csv\")\n", "nom_alt=..................................................\n", "print(nom_alt)" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "x1wMLLexN1M7", "colab_type": "text" }, "source": [ "###En vous inspirant de ce qui a été fait auparavant, écrivez un programme qui permettra d'avoir les villes qui ont une densité d'habitant inférieure à 50 (dans le tableau ainsi créé, on aura 3 colonnes : le nom de la ville, la densité de la population et l'altitude minimum) " ] }, { "cell_type": "code", "metadata": { "id": "m2dDU3DaN9BU", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "info_villes=pandas.read_csv(\"villes_virgule.csv\")\n", "nom_alt=..................................................\n", "print(nom_alt)\n" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "mVz8fkWjN_BO", "colab_type": "text" }, "source": [ "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "U0devjJOOAI4", "colab_type": "text" }, "source": [ "**Il est possible de combiner plusieurs facteurs de sélection en utilisant un \"et\"(\"&\") ou un \"ou\"(\"|\"** " ] }, { "cell_type": "markdown", "metadata": { "id": "st-_VMyHP1z0", "colab_type": "text" }, "source": [ "##Combien de villes ont une densité de population supérieure à 50 et une altitude minimum supérieure à 1200 m ? Facile .. A vous de jouer !" ] }, { "cell_type": "code", "metadata": { "id": "hZXAgz7TONyg", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "info_villes=pandas.read_csv(\"villes_virgule.csv\")\n", "nom_alt=info_villes.loc[(info_villes[................) & (...........................),[\"nom\",\"dens\",\"alt_min\"]]\n", "print(nom_alt)" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "W_TsQpFMQfj5", "colab_type": "text" }, "source": [ "Nous pouvons calculer des moyennes..." ] }, { "cell_type": "code", "metadata": { "id": "KcV-uL0RQThe", "colab_type": "code", "outputId": "86f9930f-c188-4961-8337-ebee36a69af3", "colab": { "base_uri": "https://localhost:8080/", "height": 35 } }, "source": [ "# Ce programme ..................\n", "import pandas\n", "info_villes=pandas.read_csv(\"villes_virgule.csv\")\n", "moyenne_alt_min=info_villes.loc[:,\"alt_min\"].mean()\n", "print(moyenne_alt_min,\"m\")" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "287.1613545816733 m\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "dx2ee0X1QmW-", "colab_type": "text" }, "source": [ "##Écrivez un programme permettant de calculer le nombre moyen d'habitants en 2012" ] }, { "cell_type": "code", "metadata": { "id": "FBSfZqxiQoUw", "colab_type": "code", "colab": {} }, "source": [ "\n", "\n", "\n", "\n" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "BdPiZQizQvZ2", "colab_type": "text" }, "source": [ "##Il est aussi possible de trier le tableau en fonction des valeurs d'un descripteur. Il suffit d'utiliser l'instruction \"sort_values\" " ] }, { "cell_type": "markdown", "metadata": { "id": "nHEUtChcQ7WJ", "colab_type": "text" }, "source": [ "Exécute et analyse le programme" ] }, { "cell_type": "code", "metadata": { "id": "kZ8Hb6KSQxfR", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "info_villes=pandas.read_csv(\"villes_virgule.csv\")\n", "tri_alt_min=info_villes.sort_values(by=[\"alt_min\"])\n", "print(tri_alt_min)" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "Uy2tM_fuQ5kd", "colab_type": "text" }, "source": [ "Vous devriez obtenir un nouveau tableau de données \"tri_alt_min\" trié dans l'ordre croissant des altitudes minimums. Quelle est la ville ayant l'altitude minimum la plus faible de France ? Il est aussi possible de trier par ordre décroissant en ajoutant \"ascending=False\" : " ] }, { "cell_type": "code", "metadata": { "id": "2pwcIvgsRJvJ", "colab_type": "code", "colab": {} }, "source": [ "import pandas\n", "info_villes=pandas.read_csv(\"villes_virgule.csv\")\n", "tri_alt_min=info_villes.sort_values(by=[\"alt_min\"], ascending=False)\n", "print(tri_alt_min)" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "UBMaWxJbRR4t", "colab_type": "text" }, "source": [ "##Quelle est la ville ayant l'altitude minimum la plus importante de France ? " ] }, { "cell_type": "code", "metadata": { "id": "Mxi6JSWMRWOh", "colab_type": "code", "colab": {} }, "source": [ "\n", "\n", "\n", "\n" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "iUmCdkgtRXAS", "colab_type": "text" }, "source": [ "##Écrivez un programme permettant de répondre à la question suivante : quelle est la ville ayant la densité de population la plus forte ? " ] }, { "cell_type": "code", "metadata": { "id": "96k8JzO2SV9V", "colab_type": "code", "colab": {} }, "source": [ "" ], "execution_count": 0, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "o8BkUn_9RYm5", "colab_type": "code", "colab": {} }, "source": [ "\n", "\n", "\n", "\n", "\n" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "d7pNFC-aSZgT", "colab_type": "text" }, "source": [ "Voous pouvez écrire toutes les fonctions utisées pour traiter, filtrer les données sous Python" ] }, { "cell_type": "markdown", "metadata": { "id": "iXChxfYCSPOW", "colab_type": "text" }, "source": [ "\n", "\n", "\n", "\n", "\n", "*Idée originale de David Roche.*" ] } ] }