{"id":212,"date":"2022-02-28T17:24:43","date_gmt":"2022-02-28T16:24:43","guid":{"rendered":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/?p=212"},"modified":"2022-03-20T12:45:06","modified_gmt":"2022-03-20T11:45:06","slug":"vortex","status":"publish","type":"post","link":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/2022\/02\/28\/vortex\/","title":{"rendered":"Traitement de Donn\u00e9es"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img src=\"http:\/\/www.monlyceenumerique.fr\/nsi_premiere\/tables_t\/img\/programme.png\" alt=\"Les donn\u00e9es en table\" \/><\/figure>\n\n\n\n<h2><strong>Fichier csv et tableur<\/strong> <\/h2>\n\n\n\n<p>Le format&nbsp;<strong>CSV<\/strong>&nbsp;(pour&nbsp;<strong>comma separated values<\/strong>, soit en fran\u00e7ais valeurs s\u00e9par\u00e9es par des virgules) est un format tr\u00e8s utilis\u00e9 pour repr\u00e9senter des donn\u00e9es structur\u00e9es, notamment pour importer ou exporter des donn\u00e9es \u00e0 partir d&rsquo;une feuille de calculs d&rsquo;un tableur. C&rsquo;est un fichier texte dans lequel chaque ligne correspond \u00e0 une ligne du tableau<\/p>\n\n\n\n<p>Excel vous proposera des options pour ouvrir correctement le fichier CSV . Vous pouvez en particulier choisir le s\u00e9parateur , ici la virgules ( , ) : <\/p>\n\n\n\n<p>Dans ce format, chaque ligne repr\u00e9sente un enregistrement c&rsquo;est \u00e0 dire une structure de donn\u00e9es, de types \u00e9ventuellement diff\u00e9rents auxquels on acc\u00e8de gr\u00e2ce \u00e0 un nom et, sur une m\u00eame ligne, les diff\u00e9rents champs de l\u2019enregistrement sont r\u00e9par\u00e9s par une virgule (d\u2019o\u00f9 le nom).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-11.png\" alt=\"\" \/><\/figure>\n\n\n\n<p><strong>Import d&rsquo;un fichier csv<\/strong><\/p>\n\n\n\n<p>La biblioth\u00e8que&nbsp;<code><strong>CSV<\/strong><\/code>&nbsp;impl\u00e9mente des classes pour lire des donn\u00e9es tabulaires au format CSV<\/p>\n\n\n\n<p>La fonction&nbsp;<code><strong>READER<\/strong>()<\/code>&nbsp;du module csv renvoie un objet de type&nbsp;<code><strong>CSV.READER<\/strong><\/code>&nbsp;qui est it\u00e9rable. Chaque \u00e9l\u00e9ment de cet objet est une liste.<\/p>\n\n\n\n<p>La fonction<code> DictReader<\/code>&nbsp;du module csv renvoie un objet de type&nbsp;<code>csv.DictReader<\/code>&nbsp;it\u00e9rable aussi. Chaque \u00e9l\u00e9ment de cet objet est un&nbsp;<strong>dictionnaire ordonn\u00e9<\/strong>&nbsp;: c&rsquo;est un dictionnaire qui m\u00e9morise l&rsquo;ordre d&rsquo;insertion des cl\u00e9s. Les \u00e9l\u00e9ments de la premi\u00e8re ligne du fichier csv (appel\u00e9s noms de champ ou descripteur) se retrouvent \u00eatre les cl\u00e9s de ce dictionnaire.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/wp-content\/uploads\/2022\/02\/image-15.png\" alt=\"\" width=\"787\" height=\"442\" \/><\/figure>\n\n\n\n<p><strong>La commande&nbsp;<code>with open(...) as ...<\/code><\/strong><\/p>\n\n\n\n<p>Il existe en Python une commande qui permet d&rsquo;ouvrir un fichier csv sans obligation de le fermer \u00e0 la fin de l&rsquo;ex\u00e9cution la commande g\u00e8re la fermeture).<\/p>\n\n\n\n<p>En python en enregistrement peut-\u00eatre repr\u00e9sent\u00e9 par un dictionnaire:&nbsp;<\/p>\n\n\n\n<p><code>{'Pr\u00e9nom':'Romane','N\u00e9e':'25\/11\/2005','Classe':'1G1','Lyc\u00e9e':'Mauriac'}<\/code><\/p>\n\n\n\n<p>Et un fichier csv par une liste de dictionnaires, dont les cl\u00e9s sont les noms des colonnes:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"576\" height=\"189\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-content\/uploads\/sites\/3\/2022\/03\/image-1.png\" alt=\"\" class=\"wp-image-228\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-content\/uploads\/sites\/3\/2022\/03\/image-1.png 576w, http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-content\/uploads\/sites\/3\/2022\/03\/image-1-300x98.png 300w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p><code>[{'Nom':'Baron','Pr\u00e9nom':'Paul','NSI':'18','Physique':'16','Maths':'15'}, {'Nom':'Taillant','Pr\u00e9nom':'Greg','NSI':'1','Physique':'3','Maths':'5'}, [{'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Romane,25\/11\/2005,1G1,Mauriac,, ,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Giovanny,20\/02\/2004,1G10,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Carla,14\/01\/2005,1G10,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Tom,15\/08\/2005,1G10,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Olga,05\/05\/2005,1G10,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Romain,29\/04\/2005,1G11,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Rapha\u00eblle,20\/04\/2005,1G2,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Lisa,29\/11\/2005,1G4,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Matthieu,15\/07\/2005,1G7,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Zakaria,06\/10\/2005,1G7,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Lukas,07\/07\/2005,1G7,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Maxence,24\/10\/2005,1G7,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'K\u00e9lya,30\/03\/2005,1G9,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Anna,28\/10\/2005,1G9,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Jean-Lou,12\/01\/2005,1G9,Mauriac,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Harry Potter,29\/11\/2005,1G1,Poudlard,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Hermione,20\/04\/2005,1G1,Poudlard,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Ronald,07\/07\/2005,1G2,Poudlard,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Weasley,15\/08\/2005,1G7,Poudlard,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Neville,14\/01\/2005,1G7,Poudlard,,,,,'}, {'\u00c9l\u00e8ve,N\u00e9[e]le,Classe,Lyc\u00e9e,Potions,Botanique,\u00e9tude des Moldus,Sortil\u00e8ges,Vol sur Balai': 'Malefoy,30\/03\/2005,1G1,Poudlard,,,,,'}]{'Nom':'Gourdy','Pr\u00e9nom':'Zo\u00e9','NSI':'14','Physique':'13','Maths':'16'}]<\/code><\/p>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1ca90R_tBdOrwjjJcEFaheJQTH4CjLkis?usp=sharing\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/colab.research.google.com\/drive\/1ca90R_tBdOrwjjJcEFaheJQTH4CjLkis?usp=sharing<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"435\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-content\/uploads\/sites\/3\/2022\/03\/image-1024x435.png\" alt=\"\" class=\"wp-image-223\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-content\/uploads\/sites\/3\/2022\/03\/image-1024x435.png 1024w, http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-content\/uploads\/sites\/3\/2022\/03\/image-300x128.png 300w, http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-content\/uploads\/sites\/3\/2022\/03\/image-768x327.png 768w, http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-content\/uploads\/sites\/3\/2022\/03\/image.png 1218w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\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 plotly.graph_objects as go\nradar = go.Scatterpolar(r = [eleves[15][val] for val in mati\u00e8res],theta = mati\u00e8res,fill = 'toself')\ndata = [radar]\nfig = go.Figure(data = data)\nfig.update_layout(title_text = eleves[15]['\u00c9l\u00e8ve'])\nfig.show()<\/pre>\n\n\n\n<p>Ce dernier Scripte va permettre d&rsquo;afficher les notes sur un diagramme <strong>Camembert<\/strong> .<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fichier csv et tableur Le format&nbsp;CSV&nbsp;(pour&nbsp;comma separated values, soit en fran\u00e7ais valeurs s\u00e9par\u00e9es par des virgules) est un format tr\u00e8s utilis\u00e9 pour repr\u00e9senter des donn\u00e9es structur\u00e9es, notamment pour importer ou exporter des donn\u00e9es \u00e0 partir d&rsquo;une feuille de calculs d&rsquo;un tableur. C&rsquo;est un fichier texte dans lequel chaque ligne correspond \u00e0 une ligne du tableau [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":233,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/posts\/212"}],"collection":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/comments?post=212"}],"version-history":[{"count":12,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/posts\/212\/revisions"}],"predecessor-version":[{"id":260,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/posts\/212\/revisions\/260"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/media\/233"}],"wp:attachment":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/media?parent=212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/categories?post=212"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/zakaria\/wp-json\/wp\/v2\/tags?post=212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}