{"id":1029,"date":"2024-01-26T20:16:28","date_gmt":"2024-01-26T20:16:28","guid":{"rendered":"https:\/\/javierladino.com\/fr\/?post_type=rara-portfolio&#038;p=1029"},"modified":"2026-05-23T13:24:54","modified_gmt":"2026-05-23T13:24:54","slug":"lair-transparent-un-voyage-a-travers-les-donnees-de-pollution-dans-les-pays-de-la-loire-en-2023","status":"publish","type":"rara-portfolio","link":"https:\/\/javierladino.com\/fr\/portfolio\/lair-transparent-un-voyage-a-travers-les-donnees-de-pollution-dans-les-pays-de-la-loire-en-2023\/","title":{"rendered":"L&rsquo;air transparent : Un voyage \u00e0 travers les donn\u00e9es de pollution dans les Pays de la Loire en 2023"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Gr\u00e2ce \u00e0 la plateforme <strong>Air Pays de la Loire<\/strong>, nous explorerons la qualit\u00e9 de l&rsquo;air pour comprendre les complexit\u00e9s du probl\u00e8me de la pollution : identifier les points chauds et corr\u00e9ler les niveaux avec des activit\u00e9s humaines sp\u00e9cifiques au cours de l&rsquo;ann\u00e9e 2023. Nous ferons une analyse d\u00e9taill\u00e9e des donn\u00e9es de concentration de polluants enregistr\u00e9es dans des stations de mesure filtr\u00e9es en Loire-Atlantique. Du dioxyde d&rsquo;azote aux particules PM2,5 et PM10, comprenons comment ces \u00e9missions affectent la sant\u00e9 et l&rsquo;environnement. Rejoignez-nous dans ce voyage \u00e0 travers des donn\u00e9es r\u00e9v\u00e9latrices qui nous aideront \u00e0 mieux comprendre les d\u00e9fis environnementaux et \u00e0 d\u00e9velopper des solutions pour un avenir plus propre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La pollution atmosph\u00e9rique est un probl\u00e8me mondial majeur. Plus de <strong>6000 villes dans 117 pays <\/strong>surveillent la qualit\u00e9 de l&rsquo;air, mais leurs habitants respirent encore des niveaux malsains de particules fines et de dioxyde d&rsquo;azote, les habitants des pays \u00e0 revenu faible ou interm\u00e9diaire \u00e9tant les plus expos\u00e9s.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/fume_01.jpg\" alt=\"\" class=\"wp-image-1112\"\/><figcaption class=\"wp-element-caption\">Usine d&rsquo;incin\u00e9ration et de traitement Alc\u00e9a de la Prairie de Mauves \u00e0 Nantes.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>La pollution acc\u00e9l\u00e8re le changement climatique. L&rsquo;OMS estime que la pollution atmosph\u00e9rique post-pand\u00e9mique est associ\u00e9e \u00e0 plus de <strong>7 millions de d\u00e9c\u00e8s par an<\/strong>. Ses conclusions soulignent l&rsquo;importance de r\u00e9duire l&rsquo;utilisation des combustibles fossiles et de prendre d&rsquo;autres mesures pour r\u00e9duire les niveaux de pollution de l&rsquo;air.<\/p>\n\n\n\n<h1 class=\"wp-block-heading has-vivid-cyan-blue-color has-text-color has-link-color has-large-font-size wp-elements-66057c530726b1f0caba27588f198daf\">Savez-vous quels polluants vous respirez chaque jour ? \ud83d\ude37<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Les agences internationales se sont concentr\u00e9es sur l&rsquo;analyse des types de polluants les plus courants : les concentrations de <strong>dioxyde d&rsquo;azote (NO2 ), de PM2,5 et de PM10, et de dioxyde de soufre SO2<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-vivid-cyan-blue-color has-text-color has-link-color has-medium-font-size wp-elements-fd0a959957943b7ff09b337aee90c4a5\"><br>Dioxyde d&rsquo;azote (NO2 )<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le <strong>NO2<\/strong> est un polluant urbain courant et un pr\u00e9curseur des particules et de l&rsquo;ozone. Il est associ\u00e9 aux maladies respiratoires, en particulier \u00e0 l&rsquo;asthme, entra\u00eenant des sympt\u00f4mes respiratoires (toux, respiration sifflante ou essoufflement), des admissions \u00e0 l&rsquo;h\u00f4pital et des visites aux urgences.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les oxydes d&rsquo;azote sont g\u00e9n\u00e9r\u00e9s par les temp\u00e9ratures \u00e9lev\u00e9es des processus de combustion. Dans les endroits o\u00f9 la circulation est intense, <strong>les v\u00e9hicules \u00e0 combustion interne produisent environ 60 % du total des oxydes d&rsquo;azote pr\u00e9sents dans l&rsquo;atmosph\u00e8re<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les effets de ces gaz sont \u00e9vidents : visibilit\u00e9 r\u00e9duite, corrosion des mat\u00e9riaux, r\u00e9duction de la croissance de certaines esp\u00e8ces v\u00e9g\u00e9tales, etc. En outre, ils peuvent se transformer en acide nitrique qui, lorsqu&rsquo;il est pr\u00e9sent dans l&rsquo;atmosph\u00e8re, peut donner lieu \u00e0 des pluies acides en cas de pr\u00e9cipitations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les oxydes d&rsquo;azote sont en grande partie responsables de la destruction de la couche d&rsquo;ozone. De petites quantit\u00e9s de ces gaz peuvent d\u00e9truire de grandes quantit\u00e9s d&rsquo;ozone. Cette situation est aggrav\u00e9e par le fait qu&rsquo;ils ne peuvent \u00eatre \u00e9limin\u00e9s de l&rsquo;atmosph\u00e8re que par des processus naturels, qui sont \u00e9videmment beaucoup plus lents que la production de ces gaz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De nombreux autres gaz polluants sont lib\u00e9r\u00e9s dans l&rsquo;atmosph\u00e8re, tels que les oxydes de soufre ou de carbone, ainsi que d&rsquo;autres compos\u00e9s et m\u00e9taux tels que le plomb, le cadmium, le nickel, le fer, le mercure, le chrome, le cuivre, etc. Tous contribuent par leurs effets n\u00e9gatifs \u00e0 la d\u00e9gradation de l&rsquo;environnement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-vivid-cyan-blue-color has-text-color has-link-color has-medium-font-size wp-elements-8ce0e62e5d3086cfc630db221b5f2d8b\"><br><strong>PM2,5 et PM10<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PM<\/strong> est l&rsquo;abr\u00e9viation de particulate matter (mati\u00e8re particulaire) et la valeur se r\u00e9f\u00e8re au diam\u00e8tre des particules. Les PM2,5 ont un diam\u00e8tre inf\u00e9rieur \u00e0 2,5 microns (\u03bcm), tandis que les PM10 ont un diam\u00e8tre inf\u00e9rieur \u00e0 10 microns (\u03bcm). Ces deux types de particules sont plus petites que la largeur d&rsquo;un cheveu humain, dont le diam\u00e8tre est g\u00e9n\u00e9ralement compris entre 17 et 180 \u03bcm.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les particules en suspension dans l&rsquo;air, en particulier les PM2,5 , sont capables de p\u00e9n\u00e9trer profond\u00e9ment dans les poumons et d&rsquo;entrer dans la circulation sanguine, provoquant des impacts cardiovasculaires, c\u00e9r\u00e9brovasculaires (accidents vasculaires c\u00e9r\u00e9braux) et respiratoires. Il est de plus en plus \u00e9vident que les particules ont un impact sur d&rsquo;autres organes et provoquent \u00e9galement d&rsquo;autres maladies. Les PM2,5 sont nocives \u00e0 court terme et ont des cons\u00e9quences n\u00e9fastes sur les groupes vuln\u00e9rables tels que les enfants et les personnes \u00e2g\u00e9es. Les PM10, en revanche, sont plus nocives en cas d&rsquo;exposition chronique et r\u00e9p\u00e9t\u00e9e, en particulier chez les personnes souffrant de maladies pulmonaires pr\u00e9existantes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-vivid-cyan-blue-color has-text-color has-link-color has-medium-font-size wp-elements-29cb6df5029977d8b1c60b3302ac9d7e\"><br><strong>Dioxyde de soufre SO2<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Dioxyde de soufre SO2<\/strong>, un gaz qui provient principalement de la combustion de combustibles fossiles contenant du soufre (p\u00e9trole, combustibles solides), principalement dans le cadre de processus industriels \u00e0 haute temp\u00e9rature et de la production d&rsquo;\u00e9lectricit\u00e9. Peut avoir des effets n\u00e9fastes sur la sant\u00e9, tels que l&rsquo;irritation et l&rsquo;inflammation du syst\u00e8me respiratoire, les maladies pulmonaires et l&rsquo;insuffisance pulmonaire, l&rsquo;alt\u00e9ration du m\u00e9tabolisme des prot\u00e9ines, les maux de t\u00eate ou l&rsquo;anxi\u00e9t\u00e9, sur la biodiversit\u00e9, les sols, les \u00e9cosyst\u00e8mes aquatiques et forestiers (peut causer des dommages \u00e0 la v\u00e9g\u00e9tation, d\u00e9gradation de la chlorophylle, r\u00e9duction de la photosynth\u00e8se et perte cons\u00e9quente d&rsquo;esp\u00e8ces) et m\u00eame sur les b\u00e2timents, par des processus d&rsquo;acidification, car une fois \u00e9mis, il r\u00e9agit avec la vapeur d&rsquo;eau et d&rsquo;autres \u00e9l\u00e9ments pr\u00e9sents dans l&rsquo;atmosph\u00e8re, de sorte que son oxydation dans l&rsquo;air conduit \u00e0 la formation d&rsquo;acide sulfurique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tous ces \u00e9l\u00e9ments contribuent, par leurs effets n\u00e9gatifs, \u00e0 la sant\u00e9 des personnes et de la plan\u00e8te elle-m\u00eame. Par cons\u00e9quent, toutes les mesures visant \u00e0 r\u00e9duire les \u00e9missions, \u00e0 perfectionner, \u00e0 am\u00e9liorer et \u00e0 optimiser les moteurs \u00e0 combustion interne, ou m\u00eame \u00e0 restreindre la circulation dans les villes, sont positives pour notre avenir. \u00c0 partir de l&rsquo;ensemble des donn\u00e9es obtenues sur la plateforme <a href=\"http:\/\/www.data.airpl.org\" target=\"_blank\" rel=\"noreferrer noopener\">www.data.airpl.org<\/a>, nous pouvons identifier les lieux les plus pollu\u00e9s en fonction de leur type et de l&rsquo;activit\u00e9 humaine qui les g\u00e9n\u00e8re.<\/p>\n\n\n\n<h1 class=\"wp-block-heading has-vivid-cyan-blue-color has-text-color has-link-color has-large-font-size wp-elements-82f08e6da30d86e4196e1a227bc5f807\"><strong>Origine des donn\u00e9es<\/strong> \ud83d\udcc1<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Les donn\u00e9es utilis\u00e9es sur les concentrations de polluants ont \u00e9t\u00e9 enregistr\u00e9es dans les stations de mesure d&rsquo;Air Pays de la Loire au cours de l&rsquo;ann\u00e9e 2023.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/estation_01.jpeg\" alt=\"\" class=\"wp-image-1113\"\/><figcaption class=\"wp-element-caption\">Cabine de mesure de la qualit\u00e9 de l&rsquo;air install\u00e9e en 2022. Localisation : 15 boulevard des Fr\u00e8res Goncourt, Nantes.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Selon la description du site internet : <a href=\"https:\/\/data.airpl.org\/dataset\/mesures\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/data.airpl.org\/dataset\/mesures<\/a>, pour obtenir ces donn\u00e9es sp\u00e9cifiques, Air Pays de la Loire met en \u0153uvre des syst\u00e8mes automatis\u00e9s de mesure de la concentration en particules selon la norme NF EN 16450, utilisant deux m\u00e9thodes de mesure (microbalance oscillante ou att\u00e9nuation par rayonnement b\u00eata). Ces derni\u00e8res sont install\u00e9es dans des stations de mesure sur site, associ\u00e9es \u00e0 des syst\u00e8mes d&rsquo;acquisition des donn\u00e9es de mesure, qui les agr\u00e8gent en moyennes trimestrielles. Ces donn\u00e9es brutes sont ensuite transmises au serveur informatique central et \u00e9valu\u00e9es \u00e0 diff\u00e9rents niveaux d&rsquo;agr\u00e9gation (validations techniques et environnementales). Les donn\u00e9es trimestrielles valid\u00e9es sont ainsi agr\u00e9g\u00e9es en moyennes horaires, elles-m\u00eames agr\u00e9g\u00e9es en moyennes journali\u00e8res, mensuelles ou annuelles.<br><br>La couche d&rsquo;information produite est utilisable \u00e0 une \u00e9chelle allant de 1\/250 000 \u00e0 1\/10 000 et peut \u00eatre class\u00e9e par typologie de station :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Poste de circulation : 1\/10.000<\/li>\n\n\n\n<li>Station inf\u00e9rieure : 1\/30.000 (urbain) \u00e0 1\/250.000 (rural)<\/li>\n\n\n\n<li>Station industrielle : 1\/100.000<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Description des champs de la table de donn\u00e9es.<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>D\u00e9partement (\/dept_name) <\/strong>: nom du d\u00e9partement o\u00f9 se trouve la station de mesure (\u00e0 partir des donn\u00e9es IGN).<\/li>\n\n\n\n<li><strong>Commune (\/nom_com) <\/strong>: nom de la commune o\u00f9 est situ\u00e9e la station de mesure (\u00e0 partir des donn\u00e9es IGN).<\/li>\n\n\n\n<li><strong>Station ( \/ nom_station)<\/strong> : nom de la station de mesure d\u00e9termin\u00e9 par Air Pays de la Loire.<\/li>\n\n\n\n<li><strong>Polluant (\/nom_poll) <\/strong>: nom du polluant mesur\u00e9 par la station de mesure.<\/li>\n\n\n\n<li><strong>Valeur (\/ value) <\/strong>: valeur de la mesure enregistr\u00e9e pour un polluant \u00e0 une station donn\u00e9e et dans une m\u00e9trique donn\u00e9e.<\/li>\n\n\n\n<li><strong>Unit (\/unit\u00e9) <\/strong>: unit\u00e9 de la valeur mesur\u00e9e du polluant.<\/li>\n\n\n\n<li>Indicateur (\/metrique) : niveau d&rsquo;agr\u00e9gation temporelle des donn\u00e9es mesur\u00e9es (heure, jour, mois, ann\u00e9e).<\/li>\n\n\n\n<li><strong>Date \/ Date-time ( \/ date_debut) <\/strong>: date de d\u00e9but du relev\u00e9 de la mesure en heure locale (heure de m\u00e9tropole).<\/li>\n\n\n\n<li><strong>insee_com<\/strong> : Code INSEE de la commune o\u00f9 est situ\u00e9e la station de mesure (\u00e0 partir des donn\u00e9es IGN).<\/li>\n\n\n\n<li><strong>code_station<\/strong> : Code unique de la station de mesure.<\/li>\n\n\n\n<li><strong>typologie(influence) <\/strong>: Nature de la station de mesure d\u00e9termin\u00e9e par sa localisation et son influence en fonction du type de polluant qu&rsquo;elle mesure.<\/li>\n\n\n\n<li><strong>ID_poll_ue<\/strong> : Identifiant du polluant dans le syst\u00e8me de r\u00e9f\u00e9rence europ\u00e9en.<\/li>\n\n\n\n<li><strong>date_fin(\/date_fin)<\/strong> : date de fin du rapport de mesure en heure locale (heure de m\u00e9tropole).<\/li>\n\n\n\n<li><strong>statut_valid<\/strong> : validit\u00e9 de la mesure annot\u00e9e, &lsquo;t&rsquo; si la mesure est valid\u00e9e, &lsquo;f&rsquo; si la mesure est invalid\u00e9e.<\/li>\n\n\n\n<li><strong>X_reglementaire<\/strong> : coordonn\u00e9e x de l&#8217;emplacement de la station de mesure \u00e0 Lambert 93 (EPSG : 2154).<\/li>\n\n\n\n<li><strong>Y_reglementaire<\/strong> : coordonn\u00e9e y de l&#8217;emplacement de la station de mesure \u00e0 Lambert 93 (EPSG : 2154).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Description de la m\u00e9thode utilis\u00e9e.<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Selon Air Pays de la Loire, la mesure de la qualit\u00e9 de l&rsquo;air ambiant est r\u00e9alis\u00e9e selon les recommandations du r\u00e9f\u00e9rentiel professionnel du Laboratoire Central de Surveillance de la Qualit\u00e9 de l&rsquo;Air (LCSQA), dans le respect des exigences r\u00e9glementaires en vigueur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ces exigences couvrent l&rsquo;ensemble de la cha\u00eene de mesure, du point de vue des crit\u00e8res d&rsquo;implantation des sites de mesure, du choix des m\u00e9thodes d&rsquo;analyse mises en \u0153uvre, du suivi de la conformit\u00e9 m\u00e9trologique du processus de mesure, de la validation et de l&rsquo;agr\u00e9gation des donn\u00e9es de mesure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Types de stations de mesure<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En classant la variable <strong>typologie des stations (influence)<\/strong>, la nature de la station de mesure est d\u00e9termin\u00e9e par sa localisation et son influence sur le type de polluant qu&rsquo;elle mesure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les stations de mesure sont caract\u00e9ris\u00e9es en fonction de leur localisation et des sources d&rsquo;\u00e9mission auxquelles elles sont expos\u00e9es. Il existe plusieurs types de localisation (rurale, urbaine et p\u00e9riurbaine) et d&rsquo;influence (industrielle, de fond et de trafic). Les emplacements de fond correspondent \u00e0 des zones o\u00f9 l&rsquo;exposition de la population ou de l&rsquo;environnement (v\u00e9g\u00e9tation, \u00e9cosyst\u00e8mes naturels) \u00e0 la pollution atmosph\u00e9rique est moyenne et \u00e9loign\u00e9e de toute source directe d&rsquo;\u00e9missions.<\/p>\n\n\n\n<h1 class=\"wp-block-heading has-vivid-cyan-blue-color has-text-color has-link-color has-large-font-size wp-elements-2d17aec1a8eb1ac8ff60e62859db0c66\"><strong>M\u00e9thodologie &#8211; Mise en \u0153uvre de l&rsquo;analyse exploratoire des donn\u00e9es (EDA)<\/strong><\/h1>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>Installation du paquet<\/strong><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la mise en \u0153uvre de l&rsquo;analyse, nous avons choisi Python comme langage de programmation et Google COLAB comme environnement de travail, un outil en ligne cr\u00e9\u00e9 pour le d\u00e9veloppement de projets de science des donn\u00e9es, int\u00e9grant par d\u00e9faut de nombreux paquets largement utilis\u00e9s par les scientifiques des donn\u00e9es.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Matplotlib<\/strong> : g\u00e9n\u00e9ration de graphiques \u00e0 partir de listes ou de tableaux.<\/li>\n\n\n\n<li><strong>Numpy <\/strong>: logiciel de manipulation de vecteurs.<\/li>\n\n\n\n<li><strong>Pandas<\/strong> : manipulation et analyse de tableaux et de s\u00e9ries temporelles.<\/li>\n\n\n\n<li><strong>Scipy<\/strong> : outils et algorithmes math\u00e9matiques.<\/li>\n\n\n\n<li><strong>Seaborn<\/strong> : visualisation de donn\u00e9es statistiques.<\/li>\n\n\n\n<li><strong>Plotly:<\/strong> analyse et visualisation de donn\u00e9es en ligne.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Importer les biblioth\u00e8ques n\u00e9cessaires\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport pandas as pd\nimport scipy.stats\nimport plotly\nimport plotly.graph_objects as go\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Importation de donn\u00e9es<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/airpl_01-1024x586.jpg\" alt=\"\" class=\"wp-image-1098\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Notre \u00e9chantillon de donn\u00e9es complet comprend un jeu de donn\u00e9es au format .CSV pour chaque polluant t\u00e9l\u00e9charg\u00e9 depuis la plateforme <a href=\"https:\/\/data.airpl.org\/dataset\/mesures\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/data.airpl.org\/dataset\/mesures<\/a>, o\u00f9 il est n\u00e9cessaire de filtrer la zone de la <strong>Loire-Atlantique<\/strong>, chaque <strong>polluant<\/strong> et d&rsquo;indiquer les <strong>dates de d\u00e9but et de fin<\/strong> pendant 2023 sur une base journali\u00e8re.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Afin de travailler avec la biblioth\u00e8que Pandas dans notre Notebook COLAB, nous importons nos fichiers .CSV et les convertissons en DataFrame pour une manipulation s\u00e9par\u00e9e en lui assignant un nom (ex : <strong>so2_df<\/strong>), et nous cr\u00e9erons \u00e9galement un dataframe final (ex : <strong>df_final<\/strong>) qui concat\u00e9nera les donn\u00e9es des quatre en une seule.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Nous importons chaque fichier CSV et le convertissons en un cadre de donn\u00e9es avec Pandas.\nso2_df = pd.read_csv('so2_2023.csv', sep=';')\nno2_df = pd.read_csv('no2_2023.csv', sep=';')\npm10_df = pd.read_csv('pm10_2023.csv', sep=';')\npm25_df = pd.read_csv('pm25_2023.csv', sep=';')<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/so2_df_01-1024x174.jpg\" alt=\"\" class=\"wp-image-1103\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pr\u00e9paration des donn\u00e9es<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le nettoyage et l&rsquo;adaptation des donn\u00e9es pour l&rsquo;analyse est une t\u00e2che obligatoire et peut-\u00eatre le processus o\u00f9 nous apprenons le plus et obtenons la plus grande valeur de l&rsquo;information pour atteindre nos objectifs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La commande <strong>.info() <\/strong>de <kbd>Pandas<\/kbd> permet d&rsquo;obtenir le nombre d&rsquo;observations, ainsi que le nom, le nombre et le type de variables de chaque ensemble de donn\u00e9es.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>so2_df.info()\n<\/strong>&lt;class 'pandas.core.frame.DataFrame'&gt;\nRangeIndex: 3648 entries, 0 to 3647\nData columns (total 18 columns):\n #   Column             Non-Null Count  Dtype  \n---  ------             --------------  -----  \n 0   nom_dept           3648 non-null   object \n 1   nom_com            3648 non-null   object \n 2   insee_com          3648 non-null   int64  \n 3   nom_station        3648 non-null   object \n 4   code_station (ue)  3648 non-null   object \n 5   influence          3648 non-null   object \n 6   nom_poll           3648 non-null   object \n 7   id_poll_ue         3648 non-null   int64  \n 8   valeur             3616 non-null   float64\n 9   unite              3648 non-null   object \n 10  metrique           3648 non-null   object \n 11  date_debut         3648 non-null   object \n 12  date_fin           3648 non-null   object \n 13  statut_valid       3647 non-null   object \n 14  x_wgs84            3648 non-null   float64\n 15  y_wgs84            3648 non-null   float64\n 16  x_reglementaire    3648 non-null   float64\n 17  y_reglementaire    3648 non-null   float64\ndtypes: float64(5), int64(2), object(11)\nmemory usage: 513.1+ KB<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pour l&rsquo;exemple de l&rsquo;ensemble de donn\u00e9es <strong>so2_df<\/strong>, nous commen\u00e7ons avec <strong>3648 observations et 18 variables<\/strong> disponibles pour d\u00e9marrer notre analyse (n&rsquo;oubliez pas qu&rsquo;en parall\u00e8le, nous devons effectuer le m\u00eame processus pour les trois autres ensembles de donn\u00e9es : <strong>no2_df, pm10_df, pm25_df, et pm25_df<\/strong>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Dictionnaire des variables<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\"><strong><img decoding=\"async\" style=\"width: 800px;\" src=\"https:\/\/lh7-us.googleusercontent.com\/U6wLLfBrIc7lyksjGPAAxEp9x3hOw7NCUr7gU64FVZM8828bFuyP9WY5tsrxhzFXLdCFyJTDFK9zXmyyuI_urClGjB1-mK0eOObop01mrllVx31A_elNCkUM5sMPTq-3wNoX-_dSCfkNY_Yfdl4ghmA\"><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apr\u00e8s notre importation, nous avons <strong>18 variables<\/strong> de diff\u00e9rents types de donn\u00e9es. <strong>Dix d&rsquo;entre elles sont qualitatives et huit quantitatives<\/strong>. Il est important de noter que les variables temporelles : <strong>date_debut<\/strong> et <strong>date_fin<\/strong> sont de type <strong>Object<\/strong>, et nous les changerons plus tard en type <strong>DateTime<\/strong> pour visualiser et manipuler les donn\u00e9es chronologiquement.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>#Type de donn\u00e9es variables\n<\/strong>df_final.dtypes\noutput\nnom_dept              object\nnom_com               object\ninsee_com              int64\nnom_station           object\ncode_station (ue)     object\ninfluence             object\nnom_poll              object\nid_poll_ue             int64\nvaleur               float64\nunite                 object\nmetrique              object\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-amber-color\">date_debut            object\ndate_fin              object<\/mark>\nstatut_valid          object\nx_wgs84              float64\ny_wgs84              float64\nx_reglementaire      float64\ny_reglementaire      float64\ndtype: object<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En pr\u00e9parant les donn\u00e9es pour en \u00e9valuer la qualit\u00e9, nous avons v\u00e9rifi\u00e9 les donn\u00e9es manquantes et la proportion de <strong>valeurs nulles<\/strong> pour chaque variable de notre ensemble.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Quelle est la proportion de valeurs nulles par variable dans SO2 ?\n(so2_df\n     .isnull()\n    .melt()\n    .pipe(\n        lambda df: (\n            sns.displot(\n                data=df,\n                y='variable',\n                hue='value',\n                multiple='fill',\n                aspect=2\n            )\n        )\n    )\n)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/null_so2_df-1024x463.png\" alt=\"\" class=\"wp-image-1104\"\/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code># V\u00e9rification nombre de valeurs nulles\nso2_df.isnull().sum()\nnom_dept              0\nnom_com               0\ninsee_com             0\nnom_station           0\ncode_station (ue)     0\ninfluence             0\nnom_poll              0\nid_poll_ue            0\nvaleur               39\nunite                 0\nmetrique              0\ndate_debut            0\ndate_fin              0\nstatut_valid          1\nx_wgs84               0\ny_wgs84               0\nx_reglementaire       0\ny_reglementaire       0\ndtype: int64<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nous pouvons \u00e9galement visualiser les valeurs nulles au sein de l&rsquo;ensemble de donn\u00e9es, validant ainsi le fait que ces valeurs ne sont pas concentr\u00e9es dans une s\u00e9rie d&rsquo;observations sp\u00e9cifiques, mais dispers\u00e9es dans l&rsquo;ensemble de donn\u00e9es.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Afficher les valeurs nulles dans l'ensemble du jeu de donn\u00e9es\ndf_final.isnull().transpose().pipe(lambda df: (sns.heatmap(data=df)))<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/dataviz_nulos_01.png\" alt=\"\" class=\"wp-image-1111\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Pour cet exemple de l&rsquo;ensemble de donn\u00e9es <strong>so2_df<\/strong>, nous avons <strong>39 observations<\/strong> avec des valeurs nulles. Si nous analysons les informations que nous perdons en supprimant ou en imputant les donn\u00e9es manquantes de chaque ensemble de donn\u00e9es, nous pouvons conclure que ces valeurs nulles des quatre ensembles de donn\u00e9es ne repr\u00e9sentent pas un impact majeur sur notre ensemble de donn\u00e9es si nous <strong>les imputons avec la moyenne de chaque variable<\/strong>. Cependant, il est toujours important d&rsquo;\u00e9valuer quelle est la meilleure action pour ces donn\u00e9es, car elles peuvent devenir des valeurs aberrantes importantes qui changent la direction de notre analyse ou de nos r\u00e9sultats. Je vous recommande cet article de Marta Castrillo qui m&rsquo;a beaucoup aid\u00e9 : <a href=\"https:\/\/medium.com\/@martacasdelg\/c%C3%B3mo-identificar-y-tratar-outliers-con-python-bf7dd530fc3\" target=\"_blank\" rel=\"noreferrer noopener\">How to identify and treat outliers with Python ?<\/a><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\ud83d\udccc <strong>Remarque : N'oubliez pas d'effectuer le m\u00eame processus pour l'ensemble de donn\u00e9es de chaque polluant : so2_df, no2_df, pm10_df et pm25_df.<\/strong><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Imputons la variable valuer avec la moyenne\n<\/strong>so2_df&#91;'valeur'].fillna(so2_df&#91;'valeur'].mean(), inplace=True)\nprint(\"Missing values en valeur: \" +\n      str(df_final&#91;'valeur'].isnull().sum()))\n\n<strong><strong># Imputons la variable \u00e9valuateur avec la moyenne\n<\/strong><\/strong>so2_df&#91;'statut_valid'].fillna(so2_df&#91;'statut_valid'].mean(), inplace=True)\nprint(\"Missing values en statut_valid: \" +\n      str(df_final&#91;'statut_valid'].isnull().sum()))\n\nMissing values en valeur: 0\nMissing values en statut_valid: 0<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>\ud83d\udccc Remarque : si vous supprimez des donn\u00e9es nulles, il est bon d'indiquer la quantit\u00e9 de donn\u00e9es que vous perdez et la raison de votre d\u00e9cision. Dans ce cas, je n'ai pas supprim\u00e9 mais imput\u00e9 les donn\u00e9es, c'est-\u00e0-dire que je les ai remplac\u00e9es par la valeur moyenne de la variable \"Valuer\", qui est la variable principale de notre analyse.<\/strong><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Enfin, nous avons mentionn\u00e9 que nous devions changer le type de donn\u00e9es des variables <strong>date_debut<\/strong> et <strong>date_fin<\/strong> en type <strong>datetime<\/strong>, pour cela nous utilisons \u00e0 nouveau Pandas.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Convertir les dates au format DateTime\n<\/strong>so2_df&#91;'date_debut'] = pd.to_datetime(so2_df&#91;'date_debut'])\nso2_df&#91;'date_fin'] = pd.to_datetime(so2_df&#91;'date_fin'])\nno2_df&#91;'date_debut'] = pd.to_datetime(no2_df&#91;'date_debut'])\nno2_df&#91;'date_fin'] = pd.to_datetime(no2_df&#91;'date_fin'])\npm10_df&#91;'date_debut'] = pd.to_datetime(pm10_df&#91;'date_debut'])\npm10_df&#91;'date_fin'] = pd.to_datetime(pm10_df&#91;'date_fin'])\npm25_df&#91;'date_debut'] = pd.to_datetime(pm25_df&#91;'date_debut'])\npm25_df&#91;'date_fin'] = pd.to_datetime(pm25_df&#91;'date_fin'])<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est une bonne pratique de toujours v\u00e9rifier les changements, dans ce cas nous le faisons avec .<strong>dtypes<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>so2_df.dtypes\n<\/strong>nom_dept                     object\nnom_com                      object\ninsee_com                     int64\nnom_station                  object\ncode_station (ue)            object\ninfluence                    object\nnom_poll                     object\nid_poll_ue                    int64\nvaleur                      float64\nunite                        object\nmetrique                     object\n<strong>date_debut           datetime64&#91;ns]\ndate_fin             datetime64&#91;ns]<\/strong>\nstatut_valid                 object\nx_wgs84                     float64\ny_wgs84                     float64\nx_reglementaire             float64\ny_reglementaire             float64\ndtype: object<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Avant de passer au comptage et \u00e0 la mise en rapport de nos ensembles de donn\u00e9es, cr\u00e9ons ou concat\u00e9nons un cadre de donn\u00e9es final ou g\u00e9n\u00e9ral qui unifie les quatre polluants : <strong>df_final<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Concat\u00e9ner les DataFrames en une seule DataFrame par ligne\n<\/strong>contaminants = &#91;no2_df, so2_df, pm10_df, pm25_df]\ndf_final = pd.concat(contaminants, axis=0, ignore_index=True)\ndf_final.head() \n\n<strong># Maintenant df_final contient les donn\u00e9es des 4 polluants avec le m\u00eame nombre de colonnes<\/strong><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_01-1024x180.jpg\" alt=\"\" class=\"wp-image-1102\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Statistiques descriptives<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Mesures de tendance centrale et mesures de dispersion g\u00e9n\u00e9rale de la variable \u00e0 \u00e9tudier.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De toutes les variables quantitatives, nous constatons que la principale \u00e0 analyser est la <strong>valeur<\/strong>. Avec <strong>Numpy<\/strong> et la m\u00e9thode <strong>.describe<\/strong>, nous pouvons visualiser les mesures de tendance centrale.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Mesures de tendance centrale, uniquement pour les variables num\u00e9riques\n<\/strong>df_final.describe(include=&#91;np.number])<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/variables_01.jpeg\" alt=\"\" class=\"wp-image-1108\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Cette variable \u00ab\u00a0<strong>Valeur<\/strong>\u00a0\u00bb indique l&rsquo;indice de pollution \u00e0 calculer en tant que variable quantitative.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les variables centrales du dataframe <strong>df_final<\/strong> sont d\u00e9finies comme suit : la moyenne (8,485196 \u00b5g\/m3) et la m\u00e9diane (6,4 \u00b5g\/m3).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En ce qui concerne les indicateurs de dispersion, nous utiliserons le BoxPlot pour v\u00e9rifier le niveau de dispersion entre la moyenne et la m\u00e9diane.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_02.png\" alt=\"\" class=\"wp-image-1109\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nous constatons que le box plot de la variable \u00ab\u00a0<strong>valeur<\/strong>\u00a0\u00bb a sa plus grande distribution de donn\u00e9es entre 2,2 ~ 12, se pr\u00e9sentant comme asym\u00e9trique vers la droite, assez dispers\u00e9 avec une large gamme parce qu&rsquo;il y a des donn\u00e9es qui atteignent un maximum de 75.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Statistiques descriptives univari\u00e9es<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous allons ici extraire les variables qualitatives de notre dataframe <strong>df_final<\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Uniquement les variables cat\u00e9gorielles\ndf_final.describe(include=object)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/var_categ.png\" alt=\"\" class=\"wp-image-1117\"\/><figcaption class=\"wp-element-caption\">Statistiques de nos variables qualitatives &#8211; cat\u00e9gorielles.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pour \u00e9tudier les variables qualitatives, nous commencerons par visualiser la r\u00e9partition par commune en Loire-Atlantique.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/distribution_com.png\" alt=\"\" class=\"wp-image-1120\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Ainsi, <strong>23%<\/strong> des mesures sont effectu\u00e9es sur la commune de <strong>Donges<\/strong>, suivie de <strong>Nantes (20%) et de Saint-Nazaire (12%)<\/strong>. Si l&rsquo;on comptabilise les observations par commune (<strong>nom_com<\/strong>), on constate leur r\u00e9partition, avec <strong>Donges et Nantes<\/strong> comme principaux sites de mesure. En effet, <strong>Donges<\/strong> est la r\u00e9gion qui compte le plus de stations de mesure de la qualit\u00e9 de l&rsquo;air (4 stations), suivie de Nantes (3 stations), ce qui explique qu&rsquo;elle compte presque deux fois plus d&rsquo;observations que <strong>Saint-Nazaire<\/strong> qui arrive en troisi\u00e8me position (2 stations).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_donges_01-1024x748.jpg\" alt=\"\" class=\"wp-image-1146\"\/><figcaption class=\"wp-element-caption\">R\u00e9gion de Donges.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>En analysant la carte de la Loire-Atlantique, on constate que la r\u00e9gion de <strong>Donges<\/strong> a un fort impact industriel en raison de la pr\u00e9sence de la <strong>raffinerie Total Energies<\/strong>, o\u00f9 <a href=\"https:\/\/www.airpl.org\/rapport\/qualite-de-l-air-liee-a-l-incident-de-la-raffinerie-de-donges-rapport-ndeg2-des-mesures-effectuees\">une fuite d&rsquo;essence s&rsquo;est produite \u00e0 partir d&rsquo;un r\u00e9servoir de stockage le 21 d\u00e9cembre 2022<\/a>, ce qui explique que plusieurs mesures de surveillance et de contr\u00f4le de la qualit\u00e9 de l&rsquo;air aient \u00e9t\u00e9 mises en place dans la r\u00e9gion.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_station_mes_02-1024x508.jpg\" alt=\"\" class=\"wp-image-1144\"\/><figcaption class=\"wp-element-caption\"><strong>Donges<\/strong> est la r\u00e9gion qui compte le plus grand nombre de stations de mesure de la qualit\u00e9 de l&rsquo;air (4 stations).<\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>df_final.value_counts('nom_com', sort=True)\nnom_com\n<strong>Donges                      3646\nNantes                      3249<\/strong>\nSaint-Nazaire               1841\nSaint-Etienne-De-Montluc    1461\nMontoir-De-Bretagne         1460\nFrossay                     1318\nBouguenais                  1095\nRez\u00e9                         787\nPaimb\u0153uf                     365\nTrignac                      365\nSavenay                      364\ndtype: int64<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/nom_com_02.png\" alt=\"\" class=\"wp-image-1121\" style=\"width:697px;height:auto\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Quelle est la commune o\u00f9 la concentration moyenne de polluants est la plus \u00e9lev\u00e9e ?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il est important de noter qu&rsquo;en visualisant la concentration des polluants par commune, il n&rsquo;y a pas de corr\u00e9lation entre la commune ayant le plus d&rsquo;observations (<strong>Donges<\/strong>) et la commune ayant les indices de concentration les plus \u00e9lev\u00e9s, o\u00f9 dans notre cas c&rsquo;est <strong>Rez\u00e9<\/strong>, suivie de <strong>Nantes<\/strong>, qui occupent les premi\u00e8res places.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>avg_concentration_by_comuna<\/strong> = df_final.groupby('nom_com')&#91;'valeur'].mean().sort_values(ascending=False)\nplt.figure(figsize=(12, 6))\navg_concentration_by_comuna.plot(kind='bar', color='skyblue', hue='nom_com')\nplt.title('Average Concentration per Commune')\nplt.xlabel('Commune')\nplt.ylabel('Average Concentration')\nplt.show()<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ave_concentration_commune-1.png\" alt=\"\" class=\"wp-image-1151\"\/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>avg_concentration_by_comuna<\/strong>.head()\nnom_com\n<strong>Rez\u00e9                   13.108880\nNantes                 13.063650<\/strong>\nBouguenais             11.697341\nTrignac                 8.307994\nMontoir-De-Bretagne     7.894922\nName: valeur, dtype: float64<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Analyse de la concentration des polluants par commune en df_final\n<\/strong>plt.figure(figsize=(15, 6))\nsns.boxplot(x=\"nom_com\", y=\"valeur\", data=df_final)\nplt.title(\"Concentration of pollutants by commune\")\nplt.xticks(rotation=45, ha=\"right\")\nplt.show()<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val_02-1024x557.png\" alt=\"\" class=\"wp-image-1127\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il est maintenant temps d&rsquo;analyser la distribution par <strong>\u00ab\u00a0typologie\u00a0\u00bb : (influence)<\/strong>, l&rsquo;une des cat\u00e9gories les plus importantes de l&rsquo;ensemble des donn\u00e9es (<strong>df_final<\/strong>), qui nous permet d&rsquo;\u00e9tablir les pourcentages de l&rsquo;activit\u00e9 humaine influen\u00e7ant la pollution dans la r\u00e9gion, en fonction du nombre d&rsquo;observations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influence_01.png\" alt=\"\" class=\"wp-image-1122\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">On constate que <strong>63%<\/strong> des mesures effectu\u00e9es ont une influence \u00ab\u00a0<strong>industrielle<\/strong>\u00ab\u00a0. Si l&rsquo;on met en relation la typologie avec la mesure par polluant (<strong>nom_poll<\/strong>), on confirme l&rsquo;origine de celle-ci.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influ_nom_poll_02-1024x241.png\" alt=\"\" class=\"wp-image-1149\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br><strong>Combinaison de variables : statistiques descriptives bivari\u00e9es<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La combinaison de variables permet de d\u00e9terminer si une variable en influence une autre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La variable qualitative \u00ab\u00a0<strong>valeur<\/strong>\u00a0\u00bb \u00e9tant celle que nous voulons \u00e9tudier, nous allons faire des statistiques bivari\u00e9es en nous concentrant sur cette variable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val.png\" alt=\"\" class=\"wp-image-1124\" style=\"width:793px;height:auto\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Lors des \u00e9tudes univari\u00e9es, nous avons r\u00e9alis\u00e9 un box plot sur la valeur du polluant. Il semble logique d&rsquo;utiliser ce diagramme en ajoutant une variable qualitative pour effectuer une comparaison de la dispersion.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons remarqu\u00e9 que les stations de <strong>background<\/strong> naturel et les stations <strong>industrielles<\/strong> ont une dispersion similaire avec des quantiles, des m\u00e9dianes et des maxima \u00e0 des niveaux faibles, tandis que les stations <strong>sp\u00e9cifiques<\/strong> et les stations de <strong>trafic<\/strong> ont des indicateurs de dispersion plus \u00e9lev\u00e9s. Une fois encore, la r\u00e9partition des stations en fonction de leur influence ou de leur origine nous montre que l'\u00a0\u00bb<strong>industrie<\/strong>\u00a0\u00bb a le plus grand nombre d&rsquo;observations dans notre ensemble de donn\u00e9es, mais que c&rsquo;est le \u00ab\u00a0<strong>trafic<\/strong>\u00a0\u00bb dont les valeurs montrent que c&rsquo;est l&rsquo;activit\u00e9 humaine qui a le plus d&rsquo;impact sur la pollution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par cons\u00e9quent, nous pouvons d\u00e9duire la typologie qui influence notamment le taux de ses valeurs polluantes dans chaque lieu de la r\u00e9gion : les environnements qui montrent un volume \u00e9lev\u00e9 de \u00ab\u00a0<strong>Trafic<\/strong>\u00a0\u00bb ont des niveaux plus \u00e9lev\u00e9s de valeurs polluantes et il serait donc conseill\u00e9 de les \u00e9viter afin de vivre ou de rester pr\u00e8s de ces points.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les initiatives telles que <a href=\"https:\/\/www.naonair.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">NAOAIR<\/a> deviennent des solutions importantes pour nous informer en temps r\u00e9el sur la qualit\u00e9 de l&rsquo;air, que nous choisissions de voyager ou de faire du sport.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/naoair-1024x665.jpg\" alt=\"\" class=\"wp-image-1152\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depuis des ann\u00e9es, la Commission europ\u00e9enne souligne que la pollution de l&rsquo;environnement est trop \u00e9lev\u00e9e et que les substances nocives d\u00e9passent les limites l\u00e9gales. <a href=\"https:\/\/es.euronews.com\/2022\/01\/14\/la-preocupante-y-nociva-calidad-del-aire-en-las-ciudades-europeas\" target=\"_blank\" rel=\"noreferrer noopener\">Ce reportage d&rsquo;EuroNews \u00e9tudie l&rsquo;impact de cette situation dans certaines villes fran\u00e7aises.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Les polluants les plus pr\u00e9occupants :<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/top_most_poll_01.png\" alt=\"\" class=\"wp-image-1139\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La concentration moyenne des polluants montre que les <strong>PM10<\/strong> \u2623\ufe0f sont les plus r\u00e9pandues et donc les plus pr\u00e9occupantes pour la sant\u00e9 des habitants de la r\u00e9gion.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Relation entre la concentration de polluants et l&rsquo;activit\u00e9 humaine par commune :<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/rel_concent_poll_influ_01-1024x383.png\" alt=\"\" class=\"wp-image-1136\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Variation temporelle de la concentration de polluants par polluant :<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_03-1024x456.png\" alt=\"\" class=\"wp-image-1135\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Calculer les jours de mesure et les stations pr\u00e9sentant les valeurs de pollution les plus \u00e9lev\u00e9es par polluant :<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les stations de surveillance enregistrent des niveaux constamment \u00e9lev\u00e9s :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/concent_hight_level_01-1024x481.png\" alt=\"\" class=\"wp-image-1134\"\/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Calculer le nombre de jours de mesure\n<\/strong>num_days = df_final&#91;'date_debut'].nunique()\nprint(f \"Nombre de jours de mesure : {num_jours}\")\n\n<strong># Identifier les stations avec le plus de valeurs de pollution\n<\/strong>stations_avec_le_plus_de_pollution = df_final.groupby('nom_station')&#91;'valeur'].mean().sort_values(ascending=False).head(5)\nprint(\"Stations avec le plus de valeurs de contamination :\")\nprint(stations_avec_le_plus_de_pollution)\n\n<strong># Afficher les r\u00e9sultats\n<\/strong>plt.figure(figsize=(12, 6))\nsns.barplot(x=stations_avec_le_plus_de_pollution.index, y=stations_avec_le_plus_de_pollution.valeurs, palette=\"viridis\")\nplt.title(\"Stations avec les valeurs de pollution les plus \u00e9lev\u00e9es\")\nplt.xlabel(\"Nom de la station\")\nplt.ylabel(\"Concentration moyenne de polluants\")\nplt.xticks(rotation=45, ha=\"right\")\nplt.show()\n\nNombre de jours de mesure : 365\n<strong>Stations avec plus de valeurs de pollution :\n<\/strong>nom_station\nFRERES GONCOURT 17.466060\nTRENTEMOULT 13.108880\nLES COUETS 11.697341\nCIM BOUTEILLERIE 11.027805\nLA CHAUVINIERE 10.841820\nNom : valeur, dtype : float64\n&lt;ipython-input-447-77ba1b50069e&gt;:12: FutureWarning:<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/station_top_poll_01.png\" alt=\"\" class=\"wp-image-1140\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/freres_gonc_01-1024x639.jpg\" alt=\"\" class=\"wp-image-1155\"\/><figcaption class=\"wp-element-caption\">La station pr\u00e9sentant les valeurs de contamination par les polluants les plus \u00e9lev\u00e9es est la station Fr\u00e8res Goncourt, situ\u00e9e au 15 boulevard des <strong>Fr\u00e8res Goncourt<\/strong>, \u00e0 Nantes.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tendance g\u00e9n\u00e9rale de la concentration de polluants au cours de l&rsquo;ann\u00e9e \u00e9coul\u00e9e :<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_01.png\" alt=\"\" class=\"wp-image-1133\"\/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Trouver le jour le plus pollu\u00e9 et les saisons associ\u00e9es\n<\/strong>most_polluted_day = df_final.loc&#91;df_final.groupby('date_debut')&#91;'valeur'].idxmax()]\nmost_polluted_day_sorted = most_polluted_day.sort_values(by='valeur', ascending=False)\n\n<strong>Jour le plus pollu\u00e9 de l'ann\u00e9e (de la valeur la plus \u00e9lev\u00e9e \u00e0 la valeur la plus basse) :\n<\/strong>      date_debut       nom_station  valeur\n9362  2023-09-06  CIM BOUTEILLERIE    75.0\n3855  2023-02-14   FRERES GONCOURT    70.0\n3907  2023-02-10   FRERES GONCOURT    68.0\n11651 2023-02-09        LES COUETS    66.0\n1379  2023-09-08   FRERES GONCOURT    65.0\n...          ...               ...     ...\n11078 2023-04-02       TRENTEMOULT    11.0\n9473  2023-08-27       TRENTEMOULT    10.0\n1667  2023-08-15   FRERES GONCOURT     9.4\n10692 2023-05-08       TRENTEMOULT     9.4\n10702 2023-05-07       TRENTEMOULT     7.2\n\n<strong># Si vous souhaitez \u00e9galement afficher les valeurs de polluants de ce jour pour toutes les stations\n<\/strong>most_polluted_day_all_stations = df_final&#91;df_final&#91;'date_debut'] == most_polluted_day_sorted.iloc&#91;0]&#91;'date_debut']]\nmost_polluted_day_all_stations_sorted = most_polluted_day_all_stations.sort_values(by='valeur', ascending=False)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>Valeurs des polluants pour ce jour-l\u00e0 dans toutes les stations (class\u00e9es de la valeur la plus \u00e9lev\u00e9e \u00e0 la valeur la plus faible) :\n<\/strong>      date_debut               nom_station     valeur nom_poll\n9362  2023-09-06          CIM BOUTEILLERIE  75.000000     PM10\n9359  2023-09-06            LA CHAUVINIERE  64.000000     PM10\n9356  2023-09-06              LA MEGRETAIS  62.000000     PM10\n9363  2023-09-06               TRENTEMOULT  62.000000     PM10\n9358  2023-09-06  SAINT ETIENNE DE MONTLUC  61.000000     PM10\n9365  2023-09-06                     CAMEE  55.000000     PM10\n9357  2023-09-06                   FROSSAY  53.000000     PM10\n9361  2023-09-06        PARSCAU DU PLESSIS  50.000000     PM10\n9360  2023-09-06                 LEON BLUM  48.000000     PM10\n1403  2023-09-06           FRERES GONCOURT  39.000000      NO2\n13408 2023-09-06                 LEON BLUM  23.000000    PM2.5\n13414 2023-09-06           FRERES GONCOURT  23.000000    PM2.5\n13410 2023-09-06          CIM BOUTEILLERIE  22.000000    PM2.5\n1401  2023-09-06                LES COUETS  22.000000      NO2\n13407 2023-09-06            LA CHAUVINIERE  20.000000    PM2.5\n13406 2023-09-06  SAINT ETIENNE DE MONTLUC  19.000000    PM2.5\n1399  2023-09-06             PARC PAYSAGER  19.000000      NO2\n13412 2023-09-06                LES COUETS  18.000000    PM2.5\n13405 2023-09-06                   FROSSAY  18.000000    PM2.5\n13404 2023-09-06              LA MEGRETAIS  18.000000    PM2.5\n1402  2023-09-06                     CAMEE  18.000000      NO2\n1395  2023-09-06               JULES VERNE  18.000000      NO2\n1397  2023-09-06                 LEON BLUM  17.000000      NO2\n13413 2023-09-06                     CAMEE  17.000000    PM2.5\n13411 2023-09-06               TRENTEMOULT  17.000000    PM2.5\n1396  2023-09-06            LA CHAUVINIERE  16.000000      NO2\n13409 2023-09-06        PARSCAU DU PLESSIS  16.000000    PM2.5\n1392  2023-09-06              LA MEGRETAIS  16.000000      NO2\n1398  2023-09-06        PARSCAU DU PLESSIS  16.000000      NO2\n1400  2023-09-06          CIM BOUTEILLERIE  14.000000      NO2\n9364  2023-09-06                LES COUETS   8.448881     PM10\n9366  2023-09-06           FRERES GONCOURT   8.448881     PM10\n1393  2023-09-06                   FROSSAY   8.300000      NO2\n1394  2023-09-06  SAINT ETIENNE DE MONTLUC   7.000000      NO2\n5585  2023-09-06              LA MEGRETAIS   3.500000      SO2\n5592  2023-09-06             PARC PAYSAGER   1.700000      SO2\n5590  2023-09-06                 CUTULLIC2   1.600000      SO2\n5586  2023-09-06                   PASTEUR   0.650000      SO2\n5584  2023-09-06                    AMPERE   0.440000      SO2\n5591  2023-09-06        PARSCAU DU PLESSIS   0.280000      SO2\n5587  2023-09-06                   FROSSAY   0.240000      SO2\n5593  2023-09-06                     CAMEE   0.070000      SO2\n5589  2023-09-06  SAINT ETIENNE DE MONTLUC   0.000000      SO2\n5588  2023-09-06                   SAVENAY   0.000000      SO2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Les jours o\u00f9 les niveaux de pollution ont \u00e9t\u00e9 les plus \u00e9lev\u00e9s en 2023 ont \u00e9t\u00e9 la mi-f\u00e9vrier et la premi\u00e8re semaine de septembre, qui correspondent aux jours les plus froids de l&rsquo;hiver et \u00e0 la semaine de la rentr\u00e9e scolaire et des vacances de fin d&rsquo;ann\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Variation de la concentration au cours des diff\u00e9rentes saisons de l&rsquo;ann\u00e9e :<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ses_var_pol_conc_01.png\" alt=\"\" class=\"wp-image-1137\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Plus de questions \ud83e\udd14<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voici quelques questions suppl\u00e9mentaires qui pourraient nous aider \u00e0 explorer les corr\u00e9lations, les causalit\u00e9s ou les diff\u00e9rences qui peuvent \u00eatre li\u00e9es aux probl\u00e8mes sociaux li\u00e9s aux \u00e9missions de polluants :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Existe-t-il une corr\u00e9lation entre la concentration de polluants et les taux de maladies respiratoires dans la population de chaque commune ?<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Existe-t-il une relation entre l&rsquo;activit\u00e9 industrielle dans une commune et les niveaux de pollution de l&rsquo;air dans cette zone ?<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Existe-t-il une diff\u00e9rence significative de la qualit\u00e9 de l&rsquo;air entre les zones urbaines et rurales ?<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Comment les conditions m\u00e9t\u00e9orologiques, telles que la temp\u00e9rature et la vitesse du vent, affectent-elles la dispersion des polluants ?<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Existe-t-il des preuves de disparit\u00e9s socio-\u00e9conomiques dans l&rsquo;exposition aux polluants, et quel est le lien avec les d\u00e9cisions d&rsquo;urbanisme ?<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La pr\u00e9sence d&rsquo;espaces verts ou de parcs dans une commune est-elle corr\u00e9l\u00e9e \u00e0 des niveaux plus faibles de polluants ?<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La mise en \u0153uvre de politiques environnementales ou de restrictions r\u00e9glementaires a-t-elle eu un impact observable sur la r\u00e9duction des \u00e9missions de polluants ?<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Peut-on \u00e9tablir une relation entre la mobilit\u00e9 urbaine (utilisation des transports publics, v\u00e9hicules \u00e9lectriques, etc.) et la qualit\u00e9 de l&rsquo;air ?<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Comment la perception de la qualit\u00e9 de l&rsquo;air par le public varie-t-elle par rapport aux donn\u00e9es objectives sur la pollution ?<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Existe-t-il des diff\u00e9rences dans les niveaux de polluants entre les jours de semaine et les week-ends, et comment cela peut-il \u00eatre li\u00e9 aux sch\u00e9mas d&rsquo;activit\u00e9 humaine ?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ces questions permettent de mieux comprendre les facteurs sociaux, \u00e9conomiques et environnementaux qui contribuent aux probl\u00e8mes li\u00e9s aux \u00e9missions de polluants et \u00e0 la qualit\u00e9 de l&rsquo;air.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;analyse r\u00e9v\u00e8le des points chauds de pollution dans certaines communes, soulignant la n\u00e9cessit\u00e9 d&rsquo;interventions sp\u00e9cifiques. Des corr\u00e9lations entre l&rsquo;activit\u00e9 industrielle, les conditions m\u00e9t\u00e9orologiques et les concentrations de polluants ont \u00e9t\u00e9 identifi\u00e9es. La mise en \u0153uvre de politiques environnementales et la promotion de la mobilit\u00e9 durable pourraient att\u00e9nuer les effets n\u00e9gatifs sur la qualit\u00e9 de l&rsquo;air. En outre, les disparit\u00e9s socio-\u00e9conomiques dans l&rsquo;exposition aux polluants soulignent l&rsquo;importance de traiter les probl\u00e8mes environnementaux dans une perspective \u00e9quitable et ax\u00e9e sur la sant\u00e9 publique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce projet a \u00e9t\u00e9 entrepris dans le but de comprendre le probl\u00e8me de la pollution environnementale et de mettre en pratique les connaissances acquises dans le domaine de la science des donn\u00e9es. Il va sans dire qu&rsquo;il s&rsquo;agit d&rsquo;un exercice de jugement personnel et de valeur, et qu&rsquo;il sera s\u00fbrement plein de corrections que j&rsquo;esp\u00e8re pouvoir continuer \u00e0 apporter gr\u00e2ce aux commentaires de chacun. \ud83d\ude0a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Dashboard interactive en Looker Studio<\/strong> \ud83d\udc47<br><a href=\"https:\/\/lookerstudio.google.com\/reporting\/4534372d-c6af-4361-ad26-e555bfe7c05c\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/lookerstudio.google.com\/reporting\/4534372d-c6af-4361-ad26-e555bfe7c05c<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sources:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/data.airpl.org\/dataset\/mesures\">https:\/\/data.airpl.org\/dataset\/mesures<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.lcsqa.org\/fr\/rapport\/2016\/imt-ld-ineris\/guide-methodologique-stations-francaises-surveillance-qualite-air\">https:\/\/www.lcsqa.org\/fr\/rapport\/2016\/imt-ld-ineris\/guide-methodologique-stations-francaises-surveillance-qualite-air<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.statistiques.developpement-durable.gouv.fr\/sites\/default\/files\/2020-09\/datalab_71_bilan_qualite_air_france_2019_septembre2020.pdf\">https:\/\/www.statistiques.developpement-durable.gouv.fr\/sites\/default\/files\/2020-09\/datalab_71_bilan_qualite_air_france_2019_septembre2020.pdf<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/es.euronews.com\/2022\/01\/14\/la-preocupante-y-nociva-calidad-del-aire-en-las-ciudades-europeas\" target=\"_blank\" rel=\"noopener\" title=\"\">This EuroNews report investigates their impact in some French cities.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.airpl.org\/rapport\/qualite-de-l-air-liee-a-l-incident-de-la-raffinerie-de-donges-rapport-ndeg2-des-mesures-effectuees\">https:\/\/www.airpl.org\/rapport\/qualite-de-l-air-liee-a-l-incident-de-la-raffinerie-de-donges-rapport-ndeg2-des-mesures-effectuees<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/medium.com\/@martacasdelg\/c%C3%B3mo-identificar-y-tratar-outliers-con-python-bf7dd530fc3\" target=\"_blank\" rel=\"noopener\" title=\"\">How to identify and treat outliers with Python ?<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>#qualityair #dataanalyst #LinkedInAnalysis #DataScience #EnvironmentalSustainability #pollution #climatechange #environnement #nantes #paydelaloire #loireatlantique #climat<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gr\u00e2ce \u00e0 la plateforme Air Pays de la Loire, nous explorerons la qualit\u00e9 de l&rsquo;air pour comprendre les complexit\u00e9s du probl\u00e8me de la pollution : identifier les points chauds et corr\u00e9ler les niveaux avec des activit\u00e9s humaines sp\u00e9cifiques au cours de l&rsquo;ann\u00e9e 2023. Nous ferons une analyse d\u00e9taill\u00e9e des donn\u00e9es de concentration de polluants enregistr\u00e9es &hellip; <\/p>\n","protected":false},"author":1,"featured_media":1030,"comment_status":"open","ping_status":"closed","template":"","meta":{"ngg_post_thumbnail":0},"rara_portfolio_categories":[27],"class_list":["post-1029","rara-portfolio","type-rara-portfolio","status-publish","has-post-thumbnail","hentry","rara_portfolio_categories-dataviz"],"_links":{"self":[{"href":"https:\/\/javierladino.com\/fr\/wp-json\/wp\/v2\/rara-portfolio\/1029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javierladino.com\/fr\/wp-json\/wp\/v2\/rara-portfolio"}],"about":[{"href":"https:\/\/javierladino.com\/fr\/wp-json\/wp\/v2\/types\/rara-portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/javierladino.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javierladino.com\/fr\/wp-json\/wp\/v2\/comments?post=1029"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/javierladino.com\/fr\/wp-json\/wp\/v2\/media\/1030"}],"wp:attachment":[{"href":"https:\/\/javierladino.com\/fr\/wp-json\/wp\/v2\/media?parent=1029"}],"wp:term":[{"taxonomy":"rara_portfolio_categories","embeddable":true,"href":"https:\/\/javierladino.com\/fr\/wp-json\/wp\/v2\/rara_portfolio_categories?post=1029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}