{"id":558,"date":"2022-02-18T13:13:00","date_gmt":"2022-02-18T12:13:00","guid":{"rendered":"http:\/\/yb-isn.fr\/2021\/nsi\/?p=558"},"modified":"2022-03-11T14:48:56","modified_gmt":"2022-03-11T13:48:56","slug":"traitement-de-donnees-en-table-2","status":"publish","type":"post","link":"http:\/\/yb-isn.fr\/2021\/nsi\/?p=558","title":{"rendered":"Traitement de donn\u00e9es en table"},"content":{"rendered":"<p><!--more--><\/p>\n\n\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/y_mgaxO0fJY\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\"><\/iframe>\n\n\n<hr>\n\n\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/IJJgcZ2DEs0\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-binaire wp-block-embed-binaire\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"XXo9INhLUq\"><a href=\"https:\/\/www.lemonde.fr\/blog\/binaire\/2021\/09\/17\/securite-et-confidentialite-des-donnees-du-dossier-eleves\/\">S\u00e9curit\u00e9 et confidentialit\u00e9 des donn\u00e9es du dossier \u00e9l\u00e8ve<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"\u00ab\u00a0S\u00e9curit\u00e9 et confidentialit\u00e9 des donn\u00e9es du dossier \u00e9l\u00e8ve\u00a0\u00bb &#8212; binaire\" src=\"https:\/\/www.lemonde.fr\/blog\/binaire\/2021\/09\/17\/securite-et-confidentialite-des-donnees-du-dossier-eleves\/embed\/#?secret=XXo9INhLUq\" data-secret=\"XXo9INhLUq\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n<div class=\"container theme1\" style=\"width:100%; height:auto\"><ul class=\"responsive-accordion responsive-accordion-default bm-larger\"><li><div class=\"responsive-accordion-head\" style=\"background-color:\"><span style=\"color:;font-size:15px\">bo: programme officiel<\/span><i class=\"fa fa-chevron-down responsive-accordion-plus fa-fw\"><\/i><i class=\"fa fa-chevron-up responsive-accordion-minus fa-fw\"><\/i><\/div><div class=\"responsive-accordion-panel\"style=\"background-color:;padding:12px;color:;font-size:14px\"><p><img class=\"alignnone wp-image-525 size-full\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/botables.png\" alt=\"\" width=\"624\" height=\"451\" \/><\/p>\n<\/div><\/li><\/ul><\/div>\n\n\n\n<p>Contexte : Les \u00e9l\u00e8ve de premi\u00e8re NSI 1 du lyc\u00e9e Mauriac ont suivi une ann\u00e9e de cours avec quelques \u00e9l\u00e8ves de Poudlard. Les mati\u00e8res suivies sont : &lsquo;Potions&rsquo;, &lsquo;Botanique&rsquo;, &lsquo;\u00e9tude des Moldus&rsquo;, &lsquo;Sortil\u00e8ges&rsquo;, &lsquo;Vol sur Balai&rsquo;.<\/p>\n\n\n\n<p>Par soucis d&rsquo;\u00e9quit\u00e9 les notes entre 0 et 20 sont tir\u00e9es de fa\u00e7on al\u00e9atoire.<\/p>\n\n\n\n<p>L&rsquo;ann\u00e9es est constitu\u00e9e de trois trimestres.<\/p>\n\n\n\n<p class=\"has-cyan-bluish-gray-background-color has-background has-medium-font-size\">1) <strong>Fichier csv et tableur<\/strong><\/p>\n\n\n\n<p>Ouvrir le fichier poudlard.csv avec notepad++ ou un autre \u00e9diteur de texte et justifier l&rsquo;appellation de l&rsquo;extension .csv du fichier<\/p>\n\n\n\n<p><a href=\"http:\/\/yb-isn.fr\/poudlard1.csv\">fichier \u00e0 t\u00e9l\u00e9charger<\/a><\/p>\n\n\n\n<p>La virgule est le s\u00e9parateur par d\u00e9faut mais on peut rencontrer aussi d&rsquo;autres s\u00e9parateurs.<\/p>\n\n\n\n<p>Le sigle CSV signifie&nbsp;<em>Comma-Separated Values<\/em>&nbsp;et d\u00e9signe un fichier texte  dont les valeurs sont s\u00e9par\u00e9es par des virgules.<\/p>\n\n\n\n<p>La virgule est le s\u00e9parateur par d\u00e9faut mais il existe d&rsquo;autres s\u00e9parateurs<\/p>\n\n\n\n<p>Vous pouvez ouvrir le fichier avec n&rsquo;importe quel \u00e9diteur de texte et avec le bloc note ou notepad++ par exemple<\/p>\n\n\n\n<ol><li>Quel est le s\u00e9parateur utilis\u00e9 ?<\/li><li>Que contient la premi\u00e8re ligne?<\/li><li>Pourquoi trouve on parfois des virgules qui se suivent ?<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"772\" height=\"163\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-16.png\" alt=\"\" class=\"wp-image-595\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-16.png 772w, http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-16-300x63.png 300w, http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-16-768x162.png 768w\" sizes=\"(max-width: 772px) 100vw, 772px\" \/><\/figure>\n\n\n\n<p>Vous pouvez aussi ouvrir le fichier avec un tableur<\/p>\n\n\n\n<p>LibreOffice vous proposera des options pour l&rsquo;ouvrir correctement. Vous pouvez en particulier choisir le s\u00e9parateur<\/p>\n\n\n\n<p>Sur Excel il faut d&rsquo;abord ouvrir le tableur puis aller dans l&rsquo;onglet donn\u00e9es<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"449\" height=\"158\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-11.png\" alt=\"\" class=\"wp-image-572\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-11.png 449w, http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-11-300x106.png 300w\" sizes=\"(max-width: 449px) 100vw, 449px\" \/><figcaption>Vous verrez apparaitre l&rsquo;option \u00e0 partir d&rsquo;un fichier csv. Apr\u00e8s avoir choisi votre fichier dans vos r\u00e9pertoires vous pourrez choisir votre d\u00e9limiteur(s\u00e9parateur) ainsi que d&rsquo;autres options<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-15.png\" alt=\"\" class=\"wp-image-594\" width=\"590\" height=\"332\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-15.png 787w, http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-15-300x168.png 300w, http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-15-768x431.png 768w, http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-15-350x197.png 350w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-cyan-bluish-gray-background-color has-background has-medium-font-size\">2) Fi<strong>chier csv et python <\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1NeoJMwddCzAfp0tOvPDGsYXe65am6_GL?usp=sharing\">Corrig\u00e9 et compl\u00e9ments \u00e0 tester \u00e0 comprendre et commenter<\/a><\/p>\n\n\n\n<p>Comparez en testant les deux m\u00e9thodes ci-dessous pour lire un fichier csv<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"godzilla\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Fichier = open('poudlard.csv','r') \neleves=Fichier.readlines()\nFichier.close() <\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"godzilla\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import csv\neleves=[]\nwith open('216.csv',newline='')as csvfile:\n          s=csv.DictReader(csvfile,delimiter=';')\n          for line in s:\n              eleves.append(dict(line))<\/pre>\n\n\n\n<p>En utilisant vos connaissances sur les listes et les dictionnaires compl\u00e9tez la variable eleves en attribuant toutes les notes de fa\u00e7on al\u00e9atoire.<\/p>\n\n\n\n<p class=\"has-cyan-bluish-gray-background-color has-background has-medium-font-size\">3)Projet 1<\/p>\n\n\n<hr>\n\n\n<p>pandas &nbsp;est la librairie python de r\u00e9f\u00e9rence pour manipuler les donn\u00e9es. Elle permet de manipuler  les donn\u00e9es sous forme de tables (DataFrame) et de les exporter avec  diff\u00e9rents formats. Elle permet aussi de cr\u00e9er facilement des graphes avec matplotlib par exemple<\/p>\n\n\n\n<p><a href=\"https:\/\/pandas.pydata.org\/docs\/user_guide\/10min.html\">https:\/\/pandas.pydata.org\/docs\/user_guide\/10min.html<\/a><\/p>\n\n\n\n<p>Les activit\u00e9s qui suivent doivent \u00eatre r\u00e9alis\u00e9es dans un m\u00eame notebook sur colaboratory. Les codes sont fournis<\/p>\n\n\n\n<p>Il suffit de les tester les comprendre puis commenter votre code pour pouvoir le r\u00e9exploiter dans le projet Vortex.<\/p>\n\n\n\n<p class=\"has-cyan-bluish-gray-background-color has-background\">3-1) Lecture des fichiers csv<\/p>\n\n\n<div class=\"cell text_cell rendered unselected\" tabindex=\"2\">\n<div class=\"inner_cell\">\n<div class=\"text_cell_render rendered_html\" tabindex=\"-1\">\n<p>Vous aurez besoin des deux fichiers ci-dessous pour r\u00e9aliser l&rsquo;activit\u00e9 :<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell text_cell rendered unselected\" tabindex=\"2\">\n<div class=\"inner_cell\">\n<div class=\"text_cell_render rendered_html\" dir=\"ltr\" tabindex=\"-1\">\n<p><a href=\"http:\/\/yb-isn.fr\/poudlard1.csv\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/yb-isn.fr\/poudlard1.csv<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell text_cell rendered selected\" tabindex=\"2\">\n<div class=\"inner_cell\">\n<div class=\"text_cell_render rendered_html\" dir=\"ltr\" tabindex=\"-1\">\n<p><a href=\"http:\/\/yb-isn.fr\/nsi_hack.csv\" target=\"_blank\" rel=\"nofollow noopener\">http:\/\/yb-isn.fr\/nsi_hack.csv<\/a><\/p>\n<p>Ex\u00e9cuter les deux lignes de code ci-dessous puis importer les<\/p>\n<p>deux fichiers csv que vous avez r\u00e9cup\u00e9r\u00e9 gr\u00e2ce aux liens ci-dessus.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">from google.colab import files\ndata_to_load = files.upload()<\/pre>\n<p>On peut lire le fichier csv en pr\u00e9cisant l&rsquo;encodage et le type de s\u00e9parateur. On cr\u00e9e un objet&nbsp; de type dataframe (pandas.core.frame.DataFrame)<\/p>\n<p>Vous pouvez le v\u00e9rifier en demandant le type de l&rsquo;objet poudlard que vous allez cr\u00e9er:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">import pandas as pd\npoudlard= pd.read_csv('poudlard1.csv',encoding = \"ISO-8859-1\",sep=\";\")<\/pre>\n<p>Vous pouvez afficher l&rsquo;objet poudlard ou quelques lignes seulement.5 lignes sont affich\u00e9es par d\u00e9faut avec la fonction head().Vous pouvez pr\u00e9ciser le nombre n de lignes souhait\u00e9es avec head(n)<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">poudlard.head()<\/pre>\n<p><span style=\"color: #ff0000;\">NaN<\/span>&nbsp; correspond aux donn\u00e9es manquantes <span style=\"color: #ff0000;\">N<\/span>ot <span style=\"color: #ff0000;\">a<\/span> <span style=\"color: #ff0000;\">N<\/span>umber<\/p>\n<p>Vous pouvez acc\u00e9der aux champs de la table (premi\u00e8re ligne du fichier csv:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">Vous pouvez acc\u00e9der aux champs de la table (premi\u00e8re ligne du fichier csv:<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">poudlard.columns<\/pre>\n<p>On peut acc\u00e9der au contenu de la ligne 16 (17 du fichier csv) avec&nbsp; la m\u00e9thode \u00ab\u00a0loc\u00a0\u00bb<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">poudlard.loc[16]<\/pre>\n<p>On peut s\u00e9lectionner la colonne avec son indice<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">poudlard.loc[16][0]<\/pre>\n<p>ou avec l&rsquo;\u00e9tiquette de la colonne<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">poudlard.loc[16]['\u00c9l\u00e8ve']<\/pre>\n<p><\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n<p class=\"has-cyan-bluish-gray-background-color has-background\">3-2) Recherche et ajout de donn\u00e9es manquantes<\/p>\n\n\n<p>La m\u00e9thode isnull() permet de rechercher les donn\u00e9es manquantes. On peut ajouter head() pour limiter l&rsquo;affichage<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">poudlard.isnull().head()<\/pre>\n<p>Nous savions d\u00e9j\u00e0 qu&rsquo;il manquait toutes les notes. La m\u00e9thode isnull() a traduit les donn\u00e9es par True ou False.<\/p>\n<p>Nous allons remplacer les donn\u00e9es manquantes en g\u00e9n\u00e9rant des notes al\u00e9atoires. Vous compl\u00e9terez le code en rempla\u00e7ant les&#8230;&#8230;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import random\nmatieres=['Potions', 'Botanique','\u00e9tude des Moldus', 'Sortil\u00e8ges', 'Vol sur Balai']\nfor val in .....:\n    poudlard[val]=[random.randint(10,20) for i in range(....)]\npoudlard.head()<br><br>V\u00e9rifiez que les notes ont bien \u00e9t\u00e9 attribu\u00e9es<br>Nous allons modifier la table en ajoutant une colonne de moyennes<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">matieres=['Potions', 'Botanique','\u00e9tude des Moldus', 'Sortil\u00e8ges', 'Vol sur Balai']\npoudlard['moyenne']=poudlard[matieres].mean(axis='columns')\n\npoudlard.head()<\/pre>\n<p><\/p>\n\n\n<p class=\"has-cyan-bluish-gray-background-color has-background\">3-3) Regroupement de cat\u00e9gories et agr\u00e9gation de donn\u00e9es<\/p>\n\n\n<p>L&rsquo;objectif est de cr\u00e9er deux tables en s\u00e9parant les \u00e9l\u00e8ves de Mauriac et de Poudlard.<\/p>\n<p>Il nous faudra la moyenne g\u00e9n\u00e9rale pour Mauriac et pour Poudlard.<\/p>\n<p>exemple de r\u00e9sultat attendu<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-656\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/moy-mp.png\" alt=\"\" width=\"186\" height=\"74\"><\/p>\n<p>La m\u00e9thode groupby() permet de s\u00e9parer les donn\u00e9es.<\/p>\n<p>On peut pour cela commencer \u00e0 rechercher les crit\u00e8res uniques d&rsquo;une colonne<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">poudlard['Lyc\u00e9e'].unique().tolist()<br>On peut ensuite cr\u00e9er les groupes<br><br><\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">classes= poudlard.groupby(\"Lyc\u00e9e\")\ngroup_mauriac= classes.get_group('Mauriac')\ngroup_poudlard= classes.get_group('Poudlard')<\/pre>\n<p>Vous pouvez par exemple v\u00e9rifier que group_poudlard contient les \u00e9l\u00e8ves de Poudlard<\/p>\n<p><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-665 size-full\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/gp-p-2.png\" alt=\"\" width=\"1011\" height=\"287\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/gp-p-2.png 1011w, http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/gp-p-2-300x85.png 300w, http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/gp-p-2-768x218.png 768w\" sizes=\"(max-width: 1011px) 100vw, 1011px\" \/><\/p>\n<p>En r\u00e9alit\u00e9 on peut sans passer par l&rsquo;\u00e9tape pr\u00e9c\u00e9dente Agr\u00e9ger les donn\u00e9es en choisissant le crit\u00e8re lyc\u00e9e et en calculant la moyenne des moyenn\u00e9es des donn\u00e9es agr\u00e9g\u00e9es.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">poudlard.groupby(['Lyc\u00e9e'])[\"moyenne\"].agg( \"mean\").round(1)<\/pre>\n<p><\/p>\n\n\n<p class=\"has-cyan-bluish-gray-background-color has-background has-medium-font-size\">4)Projet 2<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<p>Il s&rsquo;agit encore une fois de pr\u00e9parer le projet Vortex .<\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1DfLkhxq3vjwxGH9FCMLk72FCQVpOQxP0?usp=sharing\">Corrig\u00e9 <\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"http:\/\/yb-isn.fr\/nsi_hack.csv\" target=\"_blank\">http:\/\/yb-isn.fr\/nsi_hack.csv<\/a><\/p>\n\n\n\n<p>Deux \u00e9l\u00e8ves ont abus\u00e9 de leurs pouvoirs en supprimant leurs moyennes ou en modifiant la moyenne g\u00e9n\u00e9rale. vous disposez du fichier csv ci-dessus . Les deux \u00e9l\u00e8ves sont renvoy\u00e9s du lyc\u00e9e. On doit trouver les deux lignes modifi\u00e9es (filtrer ) et les supprimer.<\/p>\n\n\n\n<p>On commence par lire le fichier<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import pandas as pd\nnsi_hack= pd.read_csv('nsi_hack.csv',encoding = \"ISO-8859-1\",sep=\";\")<\/pre>\n<\/div><\/div>\n\n\n<p>On peut s&rsquo;apercevoir qu&rsquo;un \u00e9l\u00e8ve n&rsquo;a pas de moyenne. Recherchons le<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">nsi_hack[nsi_hack['moyenne'].isnull()]<\/pre>\n<p>On&nbsp;peut&nbsp;s&rsquo;apercevoir&nbsp;qu&rsquo;une&nbsp;des&nbsp;moyennes&nbsp;\u00e9gale&nbsp;\u00e0&nbsp;20&nbsp;n&rsquo;est&nbsp;pas&nbsp;coh\u00e9rente.&nbsp;On&nbsp;peut&nbsp;la&nbsp;rechercher&nbsp;aussi<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">nsi_hack[nsi_hack['moyenne']==\"20\"]<\/pre>\n<p><\/p>\n<p>On&nbsp;peut&nbsp;supprimer&nbsp;les&nbsp;deux&nbsp;lignes&nbsp;avec&nbsp;la&nbsp;m\u00e9thode&nbsp;drop()<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">nsi_hack.drop(nsi_hack[nsi_hack['moyenne']==\"20\"].index)\nnsi_hack.drop(nsi_hack[nsi_hack['moyenne'].isnull()].index)<\/pre>\n<p><\/p>\n<p>On peut aussi appliquer des fonctions \u00e0 une colonne ou une ligne. Nous allons essayer de modifier la colonne n\u00e9 le en l&rsquo;affichant de fa\u00e7on plus explicite.<\/p>\n<p><\/p>\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1DfLkhxq3vjwxGH9FCMLk72FCQVpOQxP0?usp=sharing\">Corrig\u00e9<\/a><\/p>\n\n\n\n<p>Il s&rsquo;agit de tester les codes de comprendre les traitements effectu\u00e9s pour pouvoir les appliquer dans une autre situation.<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":583,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/posts\/558"}],"collection":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=558"}],"version-history":[{"count":67,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/posts\/558\/revisions"}],"predecessor-version":[{"id":691,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/posts\/558\/revisions\/691"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/media\/583"}],"wp:attachment":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=558"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=558"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}