{"id":1090,"date":"2024-01-15T16:40:44","date_gmt":"2024-01-15T16:40:44","guid":{"rendered":"https:\/\/javierladino.com\/es\/?post_type=rara-portfolio&#038;p=1090"},"modified":"2026-05-23T13:19:52","modified_gmt":"2026-05-23T13:19:52","slug":"aire-transparente-un-viaje-a-traves-de-los-datos-de-contaminacion-en-pays-de-la-loire-en-2023","status":"publish","type":"rara-portfolio","link":"https:\/\/javierladino.com\/es\/portfolio\/aire-transparente-un-viaje-a-traves-de-los-datos-de-contaminacion-en-pays-de-la-loire-en-2023\/","title":{"rendered":"Aire transparente: Un Viaje a trav\u00e9s de los datos de contaminaci\u00f3n en Pays de la Loire en 2023"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A trav\u00e9s de la plataforma <strong>Air Pays de la Loire<\/strong>, exploremos la calidad del aire para entender las complejidades del problema de la contaminaci\u00f3n: identificando \u00e1reas cr\u00edticas y correlacionando los niveles con actividades humanas espec\u00edficas durante el 2023. Haremos un an\u00e1lisis detallado de los datos de concentraci\u00f3n de contaminantes registrados en las estaciones de medici\u00f3n filtradas en Loire-Atlantique. Desde di\u00f3xido de nitr\u00f3geno hasta part\u00edculas PM2,5 y PM10, comprendamos c\u00f3mo estas emisiones afectan la salud y el medio ambiente. Acomp\u00e1\u00f1anos en este viaje a trav\u00e9s de datos reveladores que nos ayudar\u00e1n a comprender mejor los desaf\u00edos ambientales y a desarrollar soluciones para un futuro m\u00e1s limpio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introducci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La contaminaci\u00f3n ambiental es un importante problema global. M\u00e1s de <strong>6000 ciudades en 117 pa\u00edses <\/strong>est\u00e1n monitoreando la calidad del aire, pero las personas que viven en ellas todav\u00eda respiran niveles nocivos para la salud de part\u00edculas finas y di\u00f3xido de nitr\u00f3geno, y los habitantes de pa\u00edses de ingresos bajos y medianos sufren las mayores exposiciones.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/fume_01.jpg\" alt=\"\" class=\"wp-image-1112\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/fume_01.jpg 800w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/fume_01-300x225.jpg 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/fume_01-768x576.jpg 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/fume_01-80x60.jpg 80w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Planta de incineraci\u00f3n y tratamiento de Alc\u00e9a de la Prairie de Mauves en Nantes.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>La contaminaci\u00f3n acelera el cambio clim\u00e1tico. La OMS estima que despu\u00e9s de la pandemia, la contaminaci\u00f3n del aire se asocia a m\u00e1s de <strong>7 millones de muertes al a\u00f1o<\/strong>. Sus hallazgos resaltan la importancia de frenar el uso de combustibles f\u00f3siles y tomar otras medidas para reducir los niveles de contaminaci\u00f3n del aire.<\/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-cc345925edf1248e04eda8a573a6e86e\">Sabes qu\u00e9 contaminantes respiras a diario? \ud83d\ude37<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Las agencias internacionales se han centrado en el an\u00e1lisis de los tipos de materia contaminante m\u00e1s comunes: las concentraciones de <strong>di\u00f3xido de nitr\u00f3geno (NO2 )<\/strong>, <strong>PM2,5 y PM10, <\/strong>y el <strong>di\u00f3xido de azufre 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-f4252028a6adaf02c0dc9a1524bf86bb\"><br>Di\u00f3xido de nitr\u00f3geno (NO2 )<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El <strong>NO2<\/strong> es un contaminante urbano com\u00fan y precursor de part\u00edculas en suspensi\u00f3n y ozono. Se asocia con enfermedades respiratorias, particularmente asma, lo que provoca s\u00edntomas respiratorios (como tos, sibilancias o dificultad para respirar), ingresos hospitalarios y visitas a salas de emergencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los \u00f3xidos de nitr\u00f3geno se generan por las altas temperaturas de los procesos de combusti\u00f3n. En lugares con mucho tr\u00e1fico, <strong>los veh\u00edculos de combusti\u00f3n interna producen alrededor del 60% del total de \u00f3xidos de nitr\u00f3geno de la atm\u00f3sfera<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los efectos de estos gases son evidentes: reducci\u00f3n de la visibilidad, corrosi\u00f3n de materiales, reducci\u00f3n del crecimiento de determinadas especies vegetales, etc. Adem\u00e1s, pueden transformarse en \u00e1cido n\u00edtrico que, presente en la atm\u00f3sfera, puede dar lugar a lluvia \u00e1cida en caso de precipitaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los \u00f3xidos de nitr\u00f3geno son en gran medida responsables de la destrucci\u00f3n de la capa de ozono. Peque\u00f1as cantidades de estos gases pueden destruir grandes cantidades de ozono. Esta situaci\u00f3n se ve agravada por el hecho de que s\u00f3lo pueden eliminarse de la atm\u00f3sfera mediante procesos naturales que, evidentemente, son mucho m\u00e1s lentos que la producci\u00f3n de estos gases.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se liberan a la atm\u00f3sfera muchos otros gases contaminantes, como \u00f3xidos de azufre o de carbono, adem\u00e1s de otros compuestos y metales como plomo, cadmio, n\u00edquel, hierro, mercurio, cromo, cobre, etc. Todos contribuyen a trav\u00e9s de sus efectos negativos sobre el medio ambiente.<\/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-3bbc2ac544e103c03731c64e9bd4c9c0\"><br><strong>PM2,5 y PM10<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PM<\/strong> significa materia particulada y el valor se refiere al di\u00e1metro de las part\u00edculas. PM2,5 tiene un di\u00e1metro inferior a 2,5 micras (\u03bcm) mientras que las PM10 tienen menos de 10 micras (\u03bcm) de di\u00e1metro. Ambos tipos de part\u00edculas son m\u00e1s peque\u00f1as que la anchura del cabello humano, que suele tener entre 17 y 180 \u03bcm de di\u00e1metro.&nbsp;<br><br>Las part\u00edculas en suspensi\u00f3n, especialmente las PM2,5 , son capaces de penetrar profundamente en los pulmones y entrar en el torrente sangu\u00edneo, provocando impactos cardiovasculares, cerebrovasculares (accidentes cerebrovasculares) y respiratorios. Cada vez hay m\u00e1s pruebas de que las part\u00edculas impactan en otros \u00f3rganos y tambi\u00e9n causan otras enfermedades. Las PM2,5 son da\u00f1inas a corto plazo y tienen consecuencias adversas en grupos vulnerables como ni\u00f1os y adultos mayores. Las PM10, sin embargo, son m\u00e1s da\u00f1inas con la exposici\u00f3n cr\u00f3nica y repetida, especialmente en personas con enfermedades pulmonares preexistentes.<\/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-5acbe68e1b6939597c8260d4ff89bcd3\"><br><strong>Di\u00f3xido de azufre SO2<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El <strong>di\u00f3xido de azufre SO2,<\/strong> un gas que se origina sobre todo durante la combusti\u00f3n de carburantes f\u00f3siles que contienen azufre (petr\u00f3leo, combustibles s\u00f3lidos), llevada a cabo sobre todo en los procesos industriales de alta temperatura y de generaci\u00f3n el\u00e9ctrica. Puede producir efectos adversos sobre la salud como irritaci\u00f3n e inflamaci\u00f3n del sistema respiratorio, afecciones e insuficiencias pulmonares, alteraci\u00f3n del metabolismo de las prote\u00ednas, dolor de cabeza o ansiedad, sobre la biodiversidad, los suelos y los ecosistemas acu\u00e1ticos y forestales (puede ocasionar da\u00f1os a la vegetaci\u00f3n, degradaci\u00f3n de la clorofila, reducci\u00f3n de la fotos\u00edntesis y la consiguiente p\u00e9rdida de especies) e incluso sobre las edificaciones, a trav\u00e9s de procesos de acidificaci\u00f3n, pues una vez emitido, reacciona con el vapor de agua y con otros elementos presentes en la atm\u00f3sfera, de modo que su oxidaci\u00f3n en el aire da lugar a la formaci\u00f3n de \u00e1cido sulf\u00farico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Todos contribuyen a trav\u00e9s de sus efectos negativos a la salud de las personas y del planeta mismo. Por tanto, todas las medidas encaminadas a reducir las emisiones, refinar, mejorar y optimizar los motores de combusti\u00f3n interna, o incluso restringir el tr\u00e1fico en las ciudades, son positivas para nuestro futuro. A partir del conjunto de datos obtenido de la plataforma <a href=\"http:\/\/data.airpl.org\" data-type=\"link\" data-id=\"data.airpl.org\">www.data.airpl.org<\/a>, podemos identificar los lugares que presentan m\u00e1s contaminaci\u00f3n seg\u00fan su tipo y la actividad humana que la genera.<\/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-d69d12f5eb99feeae9b01356de711796\"><strong>Origen de los datos<\/strong> \ud83d\udcc1<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Los datos utilizados sobre las concentraciones de contaminantes se registraron en las estaciones de medici\u00f3n de Air Pays de la Loire durante el 2023.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"750\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/estation_01.jpeg\" alt=\"\" class=\"wp-image-1113\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/estation_01.jpeg 1000w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/estation_01-300x225.jpeg 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/estation_01-768x576.jpeg 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/estation_01-80x60.jpeg 80w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Cabina de medici\u00f3n de la calidad del aire instalada en 2022. Ubicaci\u00f3n: 15 boulevard des Fr\u00e8res Goncourt, Nantes.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Seg\u00fan la descripci\u00f3n del sitio web: <a href=\"https:\/\/data.airpl.org\/dataset\/mesures\">https:\/\/data.airpl.org\/dataset\/mesures<\/a>, para obtener estos datos concretos, Air Pays de la Loire implementa sistemas automatizados de medici\u00f3n de la concentraci\u00f3n de part\u00edculas seg\u00fan la norma NF EN 16450, utilizando dos m\u00e9todos de medici\u00f3n (microbalanza oscilante o atenuaci\u00f3n de la radiaci\u00f3n beta). Estos \u00faltimos se instalan en estaciones de medici\u00f3n in situ, asociadas a sistemas de adquisici\u00f3n de datos de medici\u00f3n, que agregan en promedios trimestrales. Estos datos brutos se transmiten luego al servidor inform\u00e1tico central y luego se eval\u00faan en diferentes niveles de agregaci\u00f3n (validaciones t\u00e9cnicas y medioambientales). Los datos trimestrales validados se agregan as\u00ed en promedios horarios, que a su vez se agregan en promedios diarios, mensuales o anuales.<br><br>La capa de informaci\u00f3n producida est\u00e1 disponible para su uso en una escala que var\u00eda de 1\/250.000 a 1\/10.000 y puede clasificarse por tipolog\u00eda de estaci\u00f3n:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Estaci\u00f3n de tr\u00e1fico: 1\/10.000<\/li>\n\n\n\n<li>Estaci\u00f3n inferior: 1\/30.000 (urbana) a 1\/250.000 (rural)<\/li>\n\n\n\n<li>Estaci\u00f3n industrial: 1\/100.000<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Descripci\u00f3n de los campos de la tabla de datos.<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Departamento (\/nombre_dept):<\/strong> nombre del departamento donde se encuentra la estaci\u00f3n de medici\u00f3n (a partir de datos del IGN).<\/li>\n\n\n\n<li><strong>Municipio (\/nom_com):<\/strong> nombre del municipio donde se encuentra la estaci\u00f3n de medici\u00f3n (a partir de datos del IGN).<\/li>\n\n\n\n<li><strong>Estaci\u00f3n ( \/ nom_station):<\/strong> Nombre de la estaci\u00f3n de medici\u00f3n determinada por Air Pays de la Loire.<\/li>\n\n\n\n<li><strong>Contaminante (\/nom_poll):<\/strong> nombre del contaminante medido por la estaci\u00f3n de medici\u00f3n.<\/li>\n\n\n\n<li><strong>Valor (\/ valeur):<\/strong> Valor de la medici\u00f3n registrada para un contaminante en una estaci\u00f3n determinada y en una m\u00e9trica determinada.<\/li>\n\n\n\n<li><strong>Unidad ( \/ unite):<\/strong> unidad del valor medido del contaminante.<\/li>\n\n\n\n<li><strong>Indicador (\/metrique):<\/strong> nivel de agregaci\u00f3n temporal de los datos medidos (hora, d\u00eda, mes, a\u00f1o).<\/li>\n\n\n\n<li><strong>Fecha \/ Fecha-hora ( \/ date_debut):<\/strong> Fecha de inicio de la lectura de la medici\u00f3n en hora local (hora del territorio metropolitano franc\u00e9s).<\/li>\n\n\n\n<li><strong>insee_com:<\/strong> C\u00f3digo INSEE del municipio donde se encuentra la estaci\u00f3n de medici\u00f3n (a partir de datos del IGN).<\/li>\n\n\n\n<li><strong>code_station:<\/strong> C\u00f3digo \u00fanico de la estaci\u00f3n de medici\u00f3n.<\/li>\n\n\n\n<li><strong>Tipolog\u00eda(influence):<\/strong> Naturaleza de la estaci\u00f3n de medici\u00f3n determinada por su ubicaci\u00f3n y su influencia dependiendo del tipo de contaminante que mide.<\/li>\n\n\n\n<li><strong>ID_poll_ue:<\/strong> Identificador del contaminante en el sistema de referencia europeo.<\/li>\n\n\n\n<li><strong>fecha final(\/date_fin):<\/strong> fecha de finalizaci\u00f3n del informe de medici\u00f3n en hora local (hora del territorio metropolitano franc\u00e9s).<\/li>\n\n\n\n<li><strong>statut_valid:<\/strong> validez de la medici\u00f3n anotada, \u201ct\u201d si la medici\u00f3n est\u00e1 validada, \u201cf\u201d si la medici\u00f3n est\u00e1 invalidada.<\/li>\n\n\n\n<li><strong>X_reglementaire:<\/strong> x coordenada de la ubicaci\u00f3n de la estaci\u00f3n de medici\u00f3n en Lambert 93 (EPSG: 2154).<\/li>\n\n\n\n<li><strong>Y_reglementaire:<\/strong> y coordenada de la ubicaci\u00f3n de la estaci\u00f3n de medici\u00f3n en Lambert 93 (EPSG: 2154).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Descripci\u00f3n del m\u00e9todo utilizado.<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">De acuerdo a<strong> <\/strong>Air Pays de la Loire, la medici\u00f3n de la calidad del aire ambiente se realiza de acuerdo con las recomendaciones de los est\u00e1ndares profesionales del Laboratorio Central de Monitoreo de la Calidad del Aire (LCSQA), en cumplimiento de los requisitos reglamentarios vigentes.<br><br>Estos requisitos cubren toda la cadena de medici\u00f3n, tanto desde el punto de vista de los criterios para establecer los sitios de medici\u00f3n, la elecci\u00f3n de los m\u00e9todos de an\u00e1lisis implementados, el seguimiento de la conformidad metrol\u00f3gica del proceso de medici\u00f3n, la validaci\u00f3n y la agregaci\u00f3n de los datos de medici\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Tipos de estaciones de medici\u00f3n<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mediante la clasificaci\u00f3n de la variable <strong>Estaci\u00f3n de tipolog\u00eda (influence)<\/strong>, la naturaleza de la estaci\u00f3n de medici\u00f3n est\u00e1 determinada por su ubicaci\u00f3n y su influencia en funci\u00f3n del tipo de contaminante que mide.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las estaciones de medici\u00f3n se caracterizan seg\u00fan su ubicaci\u00f3n y las fuentes de emisi\u00f3n a las que est\u00e1n expuestas. Existen varios tipos de ubicaciones (rurales, urbanas y periurbanas) e influencias (industriales, de fondo y de tr\u00e1fico). Las situaciones de fondo corresponden a zonas donde la exposici\u00f3n de la poblaci\u00f3n o del medio ambiente (vegetaci\u00f3n, ecosistemas naturales) a la contaminaci\u00f3n del aire es media y alejadas de cualquier fuente directa de emisiones.<\/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-fae21455e6e9c84074bd2a15b7a8143c\"><strong>Metodolog\u00eda &#8211; Implementaci\u00f3n de un An\u00e1lisis Exploratorio de Datos (EDA)<\/strong><\/h1>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>Instalaci\u00f3n de paquetes<\/strong><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para la implementaci\u00f3n del an\u00e1lisis elegimos Python como lenguaje de programaci\u00f3n y Google COLAB como entorno de trabajo, una herramienta online creada para el desarrollo de proyectos de ciencia de datos, integra por defecto muchos paquetes ampliamente utilizados por los cient\u00edficos de datos.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Matplotlib<\/strong> : generaci\u00f3n de gr\u00e1ficos a partir de listas o tablas.<\/li>\n\n\n\n<li><strong>Numpy <\/strong>: inform\u00e1tica para la manipulaci\u00f3n de vectores.<\/li>\n\n\n\n<li><strong>Pandas<\/strong> : manipulaci\u00f3n y an\u00e1lisis de datos de tablas y series temporales.<\/li>\n\n\n\n<li><strong>Scipy<\/strong> : herramientas y algoritmos matem\u00e1ticos.<\/li>\n\n\n\n<li><strong>Seaborn<\/strong> : Visualizaci\u00f3n de datos estad\u00edsticos.<\/li>\n\n\n\n<li><strong>Plotly:<\/strong> An\u00e1lisis y visualizaci\u00f3n de datos en l\u00ednea.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Importar bibliotecas necesarias\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>Importando datos<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"586\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/airpl_01-1024x586.jpg\" alt=\"\" class=\"wp-image-1098\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/airpl_01-1024x586.jpg 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/airpl_01-300x172.jpg 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/airpl_01-768x439.jpg 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/airpl_01-330x190.jpg 330w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/airpl_01-1536x879.jpg 1536w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/airpl_01-2048x1171.jpg 2048w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/airpl_01-105x60.jpg 105w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Nuestra muestra de datos completa incluye un dataset en formato .CSV por cada contaminante descargado de la plataforma <a href=\"https:\/\/data.airpl.org\/dataset\/mesures\">https:\/\/data.airpl.org\/dataset\/mesures<\/a>, en ella es necesario filtrar la zona de la <strong>Loire-Atlantique<\/strong>, cada uno de los <strong>contaminantes<\/strong> e indicar la <strong>fecha de inicio y final<\/strong> durante el 2023 con una periodicidad diaria.<br><br>Para trabajar con la librer\u00eda <kbd>Pandas<\/kbd> en nuestro Notebook de COLAB, importamos nuestros archivos .CSV y los convertimos en un DataFrame para su manipulaci\u00f3n por separado asign\u00e1ndole un nombre (ex: <strong>so2_df<\/strong>), y tambi\u00e9n crearemos un dataframe final (ex: <strong>df_final<\/strong>) que concatene la data de los cuatro en uno solo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Importamos cada .CSV y lo convertimos en dataframe con 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 loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"174\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/so2_df_01-1024x174.jpg\" alt=\"\" class=\"wp-image-1103\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/so2_df_01-1024x174.jpg 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/so2_df_01-300x51.jpg 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/so2_df_01-768x130.jpg 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/so2_df_01-1536x260.jpg 1536w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/so2_df_01-354x60.jpg 354w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/so2_df_01.jpg 1769w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Preparaci\u00f3n de datos<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Limpiar y adecuar los datos para su an\u00e1lisis es una tarea obligatoria y quizas puede ser el proceso donde m\u00e1s aprendemos y m\u00e1s valor sacamos de la informaci\u00f3n para responder a nuestros objetivos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con el comando <strong>.<kbd>info<\/kbd>() <\/strong>de Pandas podemos obtener la cantidad de observaciones, y el nombre, n\u00famero y tipo de variables de cada dataset.<\/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\">Para el ejemplo del dataset <strong>so2_df<\/strong> iniciamos con <strong>3648 observaciones<\/strong> y <strong>18 variables<\/strong> disponibles para comenzar nuestro an\u00e1lisis. <em>(Recuerda que en paralelo debemos hacer el mismo proceso para los otros tres datasets: <strong>no2_df, pm10_df, pm25_df<\/strong>)<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Diccionario de 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\">Despu\u00e9s de nuestra importaci\u00f3n, tenemos 18 variables de diferentes tipos de datos. De los cuales <strong>10 son cualitativas y 8 cuantitativas<\/strong>. Es importante resaltar que las variables de tiempo: <kbd><strong>date_debut<\/strong> y <strong>date_fin<\/strong><\/kbd> son de tipo <kbd><strong>Object<\/strong><\/kbd>, y m\u00e1s adelante las cambiaremos a tipo <kbd><strong>DateTime<\/strong><\/kbd> para visualizar y manipular los datos cronol\u00f3gicamente.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#tipo de datos de variables\ndf_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\">Preparando los datos para evaluar su calidad, realizamos una verificaci\u00f3n de los datos faltantes y la proporci\u00f3n de <strong>valores nulos<\/strong> para cada variable de nuestro conjunto.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Cu\u00e1l es la proporci\u00f3n de valores nulos por variable en 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 loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"463\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/null_so2_df-1024x463.png\" alt=\"\" class=\"wp-image-1104\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/null_so2_df-1024x463.png 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/null_so2_df-300x136.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/null_so2_df-768x347.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/null_so2_df-133x60.png 133w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/null_so2_df.png 1082w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code># verificaci\u00f3n Conteo de valores nulos\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\">Tambi\u00e9n podemos visualizar los valores nulos al interior del dataset, con esto validamos que dichos valores no est\u00e1n concentrados en un rango de observaciones espec\u00edficas sino dispersos en el dataset.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#Visualizar los valores nulos en todo el dataset\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 loading=\"lazy\" decoding=\"async\" width=\"622\" height=\"448\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/dataviz_nulos_01.png\" alt=\"\" class=\"wp-image-1111\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/dataviz_nulos_01.png 622w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/dataviz_nulos_01-300x216.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/dataviz_nulos_01-83x60.png 83w\" sizes=\"auto, (max-width: 622px) 100vw, 622px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Para este ejemplo del dataset <strong>so2_df<\/strong>, tenemos<strong> 39 observaciones<\/strong> con valores nulos. Si analizamos qu\u00e9 informaci\u00f3n perdemos al eliminar o imputar nuestros datos faltantes de cada dataset, podemos concluir que estos valores nulos de los cuatro datasets no representan un impacto importante en nuestro conjunto de datos <strong>si los<\/strong> <strong>imputamos con la media de cada variable<\/strong>. Sin embargo, siempre es importante evaluar cu\u00e1l es la mejor acci\u00f3n para estos datos, pues pueden llegar a ser outliers importantes que cambien el rumbo de nuestro an\u00e1lisis o resultados. Quiero recomendarles este blogpost de Marta Castrillo que me ayud\u00f3 mucho: <a href=\"https:\/\/medium.com\/@martacasdelg\/c%C3%B3mo-identificar-y-tratar-outliers-con-python-bf7dd530fc3\" target=\"_blank\" rel=\"noreferrer noopener\">C\u00f3mo identificar y tratar outliers con Python ?<\/a><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\ud83d\udccc <strong>Nota: Recuerda que debemos realizar el mismo proceso para el Dataset de cada contaminante: so2_df, no2_df, pm10_df y pm25_df.<\/strong><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Imputamos la variable valuer con la media\n<\/strong>so2_df&#91;'valeur'].fillna(so2_df&#91;'valeur'].mean(), inplace=True)\nprint(\"valores perdidos en valeur: \" +\n      str(df_final&#91;'valeur'].isnull().sum()))\n\n<strong># Imputamos la variable statut_valid con la media\n<\/strong>so2_df&#91;'statut_valid'].fillna(so2_df&#91;'statut_valid'].mean(), inplace=True)\nprint(\"valores perdidos en statut_valid: \" +\n      str(df_final&#91;'statut_valid'].isnull().sum()))\n\nvalores perdidos en valeur: 0\nvalores perdidos en statut_valid: 0<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">\ud83d\udccc <strong>Nota: Si eliminas datos nulos, es una buena pr\u00e1ctica enunciar cu\u00e1ntos datos est\u00e1s perdiendo y la raz\u00f3n de la decisi\u00f3n. Para este caso no elimin\u00e9 sino imput\u00e9 los datos, es decir, los remplac\u00e9 por la media del valor en la variable Valuer, que es la variable principal de nuestro an\u00e1lisis. <\/strong><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para finalizar, hab\u00edamos mencionado que deb\u00edamos cambiar el tipo de dato de las variables <strong>date_debut y date_fin<\/strong> a tipo <strong>datetime<\/strong>, para esto utilizamos <kbd>Pandas<\/kbd> de nuevo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Convertir fechas a formato 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\">Es una buena pr\u00e1ctica verificar siempre los cambios, para este caso lo hacemos con <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\">Antes de pasar a realizar conteos y ver proporciones de nuestros datasets vamos a crear o concatenar un dataframe final o general que unifique los cuatro contaminantes: <strong>df_final<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Concatenamos los DataFrames en uno solo por filas\n<\/strong>contaminantes = &#91;no2_df, so2_df, pm10_df, pm25_df]\ndf_final = pd.concat(contaminantes, axis=0, ignore_index=True)\ndf_final.head() \n\n<strong># Ahora df_final contiene los datos de los 4 contaminantes con el mismo n\u00famero de columnas<\/strong><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"180\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_01-1024x180.jpg\" alt=\"\" class=\"wp-image-1102\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_01-1024x180.jpg 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_01-300x53.jpg 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_01-768x135.jpg 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_01-1536x269.jpg 1536w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_01-342x60.jpg 342w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_01.jpg 1767w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Estad\u00edsticas descriptivas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Medidas de tendencia central y medidas de dispersi\u00f3n general de la variable a estudiar.<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De todas las variables cuantitativas,  vemos que la principal a analizar es <strong>Valeur<\/strong>. Con <kbd>Numpy<\/kbd> y el m\u00e9todo <kbd>.describe<\/kbd> podemos visualizar las medidas de tendencia central.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>#Medidas de tendencia central, solamente de variables num\u00e9ricas\n<\/strong>df_final.describe(include=&#91;np.number])<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"872\" height=\"287\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/variables_01.jpeg\" alt=\"\" class=\"wp-image-1108\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/variables_01.jpeg 872w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/variables_01-300x99.jpeg 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/variables_01-768x253.jpeg 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/variables_01-182x60.jpeg 182w\" sizes=\"auto, (max-width: 872px) 100vw, 872px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Esta variable <strong>\u00abValeur\u00bb<\/strong> indica el \u00edndice de contaminaci\u00f3n a calcular como variable cuantitativa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las variables centrales del dataframe <strong>df_final<\/strong> se definen as\u00ed: la media (8.485196 \u00b5g\/m3) as\u00ed como la mediana (6.4 \u00b5g\/m3).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En cuanto a los indicadores de dispersi\u00f3n, utilizaremos el diagrama de caja o BoxPlot para verificar el nivel de dispersi\u00f3n entre la media y la mediana.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"520\" height=\"432\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_02.png\" alt=\"\" class=\"wp-image-1109\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_02.png 520w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_02-300x249.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/df_final_02-72x60.png 72w\" sizes=\"auto, (max-width: 520px) 100vw, 520px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Notamos que el diagrama de caja de la variable <strong>\u00abvaleur\u00bb<\/strong> tiene su mayor distribuci\u00f3n de datos entre 2.2 ~ 12, present\u00e1ndose como asim\u00e9trico hacia la derecha, bastante dispersa con un rango amplio porque existen datos que llegan a un m\u00e1ximo de 75.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Estad\u00edsticas descriptivas univariada<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed vamos a extraer las variables cualitativas de nuestro dataframe <strong>df_final<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Solo las variables categ\u00f3ricas\ndf_final.describe(include=object)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"879\" height=\"220\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/var_categ.png\" alt=\"\" class=\"wp-image-1117\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/var_categ.png 879w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/var_categ-300x75.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/var_categ-768x192.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/var_categ-240x60.png 240w\" sizes=\"auto, (max-width: 879px) 100vw, 879px\" \/><figcaption class=\"wp-element-caption\">Estad\u00edsticas de nuestras variables cualitativas &#8211; categ\u00f3ricas.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Para estudiar las variables cualitativas, comenzaremos visualizando la distribuci\u00f3n por municipios (commune) en Loire-Atlantique.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"833\" height=\"525\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/distribution_com.png\" alt=\"\" class=\"wp-image-1120\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/distribution_com.png 833w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/distribution_com-300x189.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/distribution_com-768x484.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/distribution_com-95x60.png 95w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed vemos que el <strong>23%<\/strong> de las mediciones se realizan en el municipio de<strong> Donges<\/strong>, luego en <strong>Nantes<\/strong> (<strong>20%<\/strong>) y <strong>Saint-Nazaire<\/strong> (<strong>12%<\/strong>). Si realizamos el conteo de las observaciones por comuna (<strong>nom_com<\/strong>) verificamos su distribuci\u00f3n evidenciando a <strong>Donges<\/strong> y <strong>Nantes<\/strong> como los principales lugares de medici\u00f3n. Esto se debe a que efectivamente, <strong>Donges<\/strong> es la regi\u00f3n donde hay m\u00e1s estaciones de medida de la calidad del aire (4 estaciones), seguido de Nantes (3 estaciones), por esta raz\u00f3n tienen casi el doble de observaciones que <strong>Saint-Nazaire<\/strong> en tercer lugar (2 estaciones). <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"748\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_donges_01-1024x748.jpg\" alt=\"\" class=\"wp-image-1146\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_donges_01-1024x748.jpg 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_donges_01-300x219.jpg 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_donges_01-768x561.jpg 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_donges_01-1536x1121.jpg 1536w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_donges_01-2048x1495.jpg 2048w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_donges_01-82x60.jpg 82w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Regi\u00f3n de <strong>Donges<\/strong>.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Analizando el mapa de Loire-Atlantique podemos observar que la regi\u00f3n de <strong>Donges<\/strong> tiene un fuerte impacto industrial por la presencia de la <strong>refiner\u00eda Total Energies<\/strong>, lugar donde ocurri\u00f3 un <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\" target=\"_blank\" rel=\"noreferrer noopener\">incidente de fuga de gasolina de un tanque de almacenamiento el 21 de diciembre de 2022<\/a>, raz\u00f3n por la cual se implementaron varias medidas de seguimiento y control en la calidad del aire de la zona.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"508\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_station_mes_02-1024x508.jpg\" alt=\"\" class=\"wp-image-1144\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_station_mes_02-1024x508.jpg 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_station_mes_02-300x149.jpg 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_station_mes_02-768x381.jpg 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_station_mes_02-121x60.jpg 121w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/map_station_mes_02.jpg 1290w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Donges<\/strong> es la regi\u00f3n donde hay m\u00e1s estaciones de medida de la calidad del aire (4 estaciones).<\/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 loading=\"lazy\" decoding=\"async\" width=\"560\" height=\"576\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/nom_com_02.png\" alt=\"\" class=\"wp-image-1121\" style=\"width:697px;height:auto\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/nom_com_02.png 560w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/nom_com_02-292x300.png 292w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/nom_com_02-58x60.png 58w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfCu\u00e1l es la comuna con la concentraci\u00f3n de contaminantes m\u00e1s alta en promedio?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es importante resaltar que al visualizar la concentraci\u00f3n de contaminantes por comuna, no existe una correlaci\u00f3n entre la comuna con m\u00e1s observaciones (<strong>Donges<\/strong>) y la comuna que muestra los \u00edndices de concentraci\u00f3n m\u00e1s altos, donde para nuestro caso es <strong>Rez\u00e9, <\/strong>seguido por<strong> Nantes<\/strong>, quienes ocupan los primeros lugares.<\/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 loading=\"lazy\" decoding=\"async\" width=\"996\" height=\"710\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ave_concentration_commune-1.png\" alt=\"\" class=\"wp-image-1151\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ave_concentration_commune-1.png 996w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ave_concentration_commune-1-300x214.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ave_concentration_commune-1-768x547.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ave_concentration_commune-1-84x60.png 84w\" sizes=\"auto, (max-width: 996px) 100vw, 996px\" \/><\/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># An\u00e1lisis de la concentraci\u00f3n de contaminantes por comuna en df_final\nplt.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 loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"557\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val_02-1024x557.png\" alt=\"\" class=\"wp-image-1127\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val_02-1024x557.png 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val_02-300x163.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val_02-768x417.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val_02-110x60.png 110w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val_02.png 1229w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora es el momento de analizar la distribuci\u00f3n por<strong> \u201ctipolog\u00eda\u201d<\/strong>: (<strong>influence<\/strong>), una de las categor\u00edas m\u00e1s importantes del conjunto de datos completo (<strong>df_final<\/strong>), que nos permite establecer los porcentajes de la actividad humana influyentes en la contaminaci\u00f3n de la regi\u00f3n, seg\u00fan el n\u00famero de observaciones.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"833\" height=\"525\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influence_01.png\" alt=\"\" class=\"wp-image-1122\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influence_01.png 833w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influence_01-300x189.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influence_01-768x484.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influence_01-95x60.png 95w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Vemos que el <strong>63%<\/strong> las mediciones que se realizan tienen influencia \u00ab<strong>industrial<\/strong>\u00ab. Si relacionamos la <strong>tipolog\u00eda<\/strong> con la medici\u00f3n por contaminante (<strong>nom_poll<\/strong>) confirmamos la procedencia de su origen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"241\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influ_nom_poll_02-1024x241.png\" alt=\"\" class=\"wp-image-1149\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influ_nom_poll_02-1024x241.png 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influ_nom_poll_02-300x70.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influ_nom_poll_02-768x180.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influ_nom_poll_02-1536x361.png 1536w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influ_nom_poll_02-2048x481.png 2048w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/influ_nom_poll_02-255x60.png 255w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br><strong>Combinando variables: estad\u00edstica descriptiva bivariada<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La combinaci\u00f3n de variables permite determinar si una variable influye en otra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Siendo la variable cualitativa \u201c<strong>valeur<\/strong>\u201d aquella que queremos estudiar, vamos a hacer estad\u00edstica bivariada centrada en esta variable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"559\" height=\"461\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val.png\" alt=\"\" class=\"wp-image-1124\" style=\"width:793px;height:auto\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val.png 559w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val-300x247.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/boxplot_influence_val-73x60.png 73w\" sizes=\"auto, (max-width: 559px) 100vw, 559px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Durante los estudios univariados, realizamos un diagrama de caja sobre el valor del contaminante. Nos parece l\u00f3gico utilizar este diagrama a\u00f1adiendo una variable cualitativa para realizar una comparaci\u00f3n de dispersi\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notamos que las estaciones naturales <strong>background<\/strong> e <strong>industriales<\/strong> tienen una dispersi\u00f3n similar con cuantiles, medianas y m\u00e1ximos en niveles bajos, mientras que las <strong>espec\u00edficas<\/strong> y las estaciones de <strong>tr\u00e1fico<\/strong> tienen indicadores de dispersi\u00f3n m\u00e1s elevados. De nuevo, la distribuci\u00f3n de las estaciones por su influencia u origen nos muestra la \u00ab<strong>industria<\/strong>\u00ab, como la que m\u00e1s observaciones tiene en nuestro conjunto de datos, pero es el \u00ab<strong>tr\u00e1fico<\/strong>\u00bb quien por sus valores muestra que es la actividad humana que m\u00e1s afecta en la contaminaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por tanto, podemos deducir la tipolog\u00eda que influye not\u00e1blemente en la tasa de sus valores contaminantes en cada lugar en la regi\u00f3n:  los entornos que muestren un volumen elevado en \u00ab<strong>Tr\u00e1fico<\/strong>\u00bb tienen niveles m\u00e1s elevados en valores contaminantes y por tanto ser\u00eda recomendable evitarlos para vivir o permanecer cerca de estos puntos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Iniciativas como <a href=\"https:\/\/www.naonair.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">NAOAIR<\/a> se convierten en soluciones importantes para informarnos en tiempo real sobre la calidad del aire, ya sea para elegir nuestros desplazamientos o realizar alg\u00fan deporte.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"665\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/naoair-1024x665.jpg\" alt=\"\" class=\"wp-image-1152\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/naoair-1024x665.jpg 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/naoair-300x195.jpg 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/naoair-768x499.jpg 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/naoair-92x60.jpg 92w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/naoair.jpg 1252w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>La Comisi\u00f3n Europea lleva a\u00f1os evidenciando que la contaminaci\u00f3n medioambiental es demasiado elevada y las sustancias nocivas se disparan por encima de los l\u00edmites legales. <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\">En este reportaje de EuroNews se investiga sobre su impacto en algunas ciudades de Francia.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Contaminantes m\u00e1s prevalentes y preocupantes:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"841\" height=\"575\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/top_most_poll_01.png\" alt=\"\" class=\"wp-image-1139\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/top_most_poll_01.png 841w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/top_most_poll_01-300x205.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/top_most_poll_01-768x525.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/top_most_poll_01-88x60.png 88w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/top_most_poll_01-367x252.png 367w\" sizes=\"auto, (max-width: 841px) 100vw, 841px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">El promedio de concentraci\u00f3n de los contaminantes muestra que el <strong>PM10<\/strong> \u2623\ufe0f es el que m\u00e1s prevalece y por tanto el m\u00e1s preocupante para la salud de los habitantes de la regi\u00f3n. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Relaci\u00f3n entre concentraci\u00f3n de contaminantes y actividad humana por comuna:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"383\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/rel_concent_poll_influ_01-1024x383.png\" alt=\"\" class=\"wp-image-1136\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/rel_concent_poll_influ_01-1024x383.png 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/rel_concent_poll_influ_01-300x112.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/rel_concent_poll_influ_01-768x288.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/rel_concent_poll_influ_01-160x60.png 160w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/rel_concent_poll_influ_01.png 1461w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Variaci\u00f3n temporal de la concentraci\u00f3n de contaminantes por contaminante:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"456\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_03-1024x456.png\" alt=\"\" class=\"wp-image-1135\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_03-1024x456.png 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_03-300x134.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_03-768x342.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_03-135x60.png 135w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_03.png 1229w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Calcular los d\u00edas de medici\u00f3n y las estaciones donde se presentan m\u00e1s valores de contaminaci\u00f3n por contaminante:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Estaciones de monitoreo que registran niveles altos consistentes:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/concent_hight_level_01-1024x481.png\" alt=\"\" class=\"wp-image-1134\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/concent_hight_level_01-1024x481.png 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/concent_hight_level_01-300x141.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/concent_hight_level_01-768x361.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/concent_hight_level_01-128x60.png 128w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/concent_hight_level_01.png 1461w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Calcular el n\u00famero de d\u00edas de medici\u00f3n\n<\/strong>num_days = df_final&#91;'date_debut'].nunique()\nprint(f\"N\u00famero de d\u00edas de medici\u00f3n: {num_days}\")\n\n<strong># Identificar las estaciones con m\u00e1s valores de contaminaci\u00f3n\n<\/strong>stations_with_most_pollution = df_final.groupby('nom_station')&#91;'valeur'].mean().sort_values(ascending=False).head(5)\nprint(\"Estaciones con m\u00e1s valores de contaminaci\u00f3n:\")\nprint(stations_with_most_pollution)\n\n<strong># Visualizar los resultados\n<\/strong>plt.figure(figsize=(12, 6))\nsns.barplot(x=stations_with_most_pollution.index, y=stations_with_most_pollution.values, palette=\"viridis\")\nplt.title(\"Estaciones con M\u00e1s Valores de Contaminaci\u00f3n\")\nplt.xlabel(\"Nombre de la Estaci\u00f3n\")\nplt.ylabel(\"Concentraci\u00f3n Promedio de Contaminantes\")\nplt.xticks(rotation=45, ha=\"right\")\nplt.show()\n\n<strong>N\u00famero de d\u00edas de medici\u00f3n: 365<\/strong>\nEstaciones con m\u00e1s valores de contaminaci\u00f3n:\nnom_station\nFRERES GONCOURT     17.466060\nTRENTEMOULT         13.108880\nLES COUETS          11.697341\nCIM BOUTEILLERIE    11.027805\nLA CHAUVINIERE      10.841820\nName: valeur, dtype: float64\n&lt;ipython-input-447-77ba1b50069e>:12: FutureWarning:<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1010\" height=\"640\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/station_top_poll_01.png\" alt=\"\" class=\"wp-image-1140\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/station_top_poll_01.png 1010w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/station_top_poll_01-300x190.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/station_top_poll_01-768x487.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/station_top_poll_01-95x60.png 95w\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"639\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/freres_gonc_01-1024x639.jpg\" alt=\"\" class=\"wp-image-1155\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/freres_gonc_01-1024x639.jpg 1024w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/freres_gonc_01-300x187.jpg 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/freres_gonc_01-768x479.jpg 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/freres_gonc_01-96x60.jpg 96w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/freres_gonc_01.jpg 1026w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">La estaci\u00f3n donde se presentan m\u00e1s valores de contaminaci\u00f3n por contaminantes es <strong>Freres Goncourt<\/strong>, ubicada en 15 boulevard des Fr\u00e8res Goncourt, Nantes.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tendencia general de la concentraci\u00f3n de contaminantes a lo largo del \u00faltimo a\u00f1o:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"996\" height=\"547\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_01.png\" alt=\"\" class=\"wp-image-1133\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_01.png 996w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_01-300x165.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_01-768x422.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/trend_concent_poll_01-109x60.png 109w\" sizes=\"auto, (max-width: 996px) 100vw, 996px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><strong># Encontrar el d\u00eda m\u00e1s contaminado y las estaciones asociadas\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>D\u00eda m\u00e1s contaminado del a\u00f1o (ordenado de mayor a menor valor):\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 se desea visualizar tambi\u00e9n los valores contaminantes de ese d\u00eda en todas las estaciones\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>Valores contaminantes de ese d\u00eda en todas las estaciones (ordenados de mayor a menor valor):\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\">Los d\u00edas con los niveles m\u00e1s altos de contaminaci\u00f3n durante el 2023 se presentaron a mediados de febrero y en la primera semana de septiembre, datos que se conectan con los d\u00edas m\u00e1s frios del invierno y la semana del regreso a clases y retorno de vacaciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Variaci\u00f3n de la concentraci\u00f3n durante diferentes estaciones del a\u00f1o:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"996\" height=\"547\" src=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ses_var_pol_conc_01.png\" alt=\"\" class=\"wp-image-1137\" srcset=\"https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ses_var_pol_conc_01.png 996w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ses_var_pol_conc_01-300x165.png 300w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ses_var_pol_conc_01-768x422.png 768w, https:\/\/javierladino.com\/es\/wp-content\/uploads\/2024\/01\/ses_var_pol_conc_01-109x60.png 109w\" sizes=\"auto, (max-width: 996px) 100vw, 996px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>M\u00e1s preguntas <\/strong>\ud83e\udd14<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed te dejo algunas preguntas adicionales que podr\u00edan ayudarnos a explorar correlaciones, causalidad o diferencias que puedan estar relacionadas con problemas sociales vinculados a las emisiones contaminantes:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u00bfExiste una correlaci\u00f3n entre la concentraci\u00f3n de contaminantes y las tasas de enfermedades respiratorias en la poblaci\u00f3n de cada comuna?<\/strong><\/li>\n\n\n\n<li><strong>\u00bfHay una relaci\u00f3n entre la actividad industrial en una comuna y los niveles de contaminaci\u00f3n atmosf\u00e9rica en esa \u00e1rea?<\/strong><\/li>\n\n\n\n<li><strong>\u00bfSe observa alguna diferencia significativa en la calidad del aire entre \u00e1reas urbanas y rurales?<\/strong><\/li>\n\n\n\n<li><strong>\u00bfC\u00f3mo afectan las condiciones meteorol\u00f3gicas, como la temperatura y la velocidad del viento, a la dispersi\u00f3n de contaminantes?<\/strong><\/li>\n\n\n\n<li><strong>\u00bfExiste evidencia de disparidades socioecon\u00f3micas en la exposici\u00f3n a contaminantes, y c\u00f3mo se relaciona esto con las decisiones de planificaci\u00f3n urbana?<\/strong><\/li>\n\n\n\n<li><strong>\u00bfLa presencia de zonas verdes o parques en una comuna se correlaciona con niveles m\u00e1s bajos de contaminantes?<\/strong><\/li>\n\n\n\n<li><strong>\u00bfLa implementaci\u00f3n de pol\u00edticas ambientales o restricciones regulatorias ha tenido un impacto observable en la reducci\u00f3n de emisiones contaminantes?<\/strong><\/li>\n\n\n\n<li><strong>\u00bfSe puede establecer una relaci\u00f3n entre la movilidad urbana (uso de transporte p\u00fablico, veh\u00edculos el\u00e9ctricos, etc.) y la calidad del aire?<\/strong><\/li>\n\n\n\n<li><strong>\u00bfC\u00f3mo var\u00eda la percepci\u00f3n p\u00fablica de la calidad del aire en comparaci\u00f3n con los datos objetivos de contaminaci\u00f3n?<\/strong><\/li>\n\n\n\n<li><strong>\u00bfHay diferencias en los niveles de contaminantes entre d\u00edas laborables y fines de semana, y c\u00f3mo esto podr\u00eda relacionarse con patrones de actividad humana?<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Estas preguntas pueden proporcionar una comprensi\u00f3n m\u00e1s completa de los factores sociales, econ\u00f3micos y medioambientales que contribuyen a los problemas relacionados con las emisiones contaminantes y la calidad del aire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El an\u00e1lisis revela \u00e1reas cr\u00edticas de contaminaci\u00f3n en ciertas comunas, destacando la necesidad de intervenciones espec\u00edficas. Se identificaron correlaciones entre la actividad industrial, condiciones meteorol\u00f3gicas y concentraciones de contaminantes. La implementaci\u00f3n de pol\u00edticas ambientales y la promoci\u00f3n de movilidad sostenible podr\u00edan mitigar los impactos negativos en la calidad del aire. Adem\u00e1s, la disparidad socioecon\u00f3mica en la exposici\u00f3n a contaminantes subraya la importancia de abordar los problemas ambientales desde una perspectiva equitativa y orientada a la salud p\u00fablica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este proyecto fue realizado con el objetivo de entender el problema de la contaminaci\u00f3n ambiental, y poner en pr\u00e1ctica aprendizajes en el \u00e1rea de la ciencia de datos. Sobra decir que es un ejercicio de juicio y valor personal, y seguramente estar\u00e1 lleno de correcciones que espero poder seguir haciendo con el feedback de todos. \ud83d\ude0a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fuentes:<\/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=\"noreferrer noopener\">C\u00f3mo identificar y tratar outliers con Python ?<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/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>A trav\u00e9s de la plataforma Air Pays de la Loire, exploremos la calidad del aire para entender las complejidades del problema de la contaminaci\u00f3n: identificando \u00e1reas cr\u00edticas y correlacionando los niveles con actividades humanas espec\u00edficas durante el 2023. Haremos un an\u00e1lisis detallado de los datos de concentraci\u00f3n de contaminantes registrados en las estaciones de medici\u00f3n &hellip; <\/p>\n","protected":false},"author":1,"featured_media":1091,"comment_status":"open","ping_status":"closed","template":"","meta":{"ngg_post_thumbnail":0},"rara_portfolio_categories":[27],"class_list":["post-1090","rara-portfolio","type-rara-portfolio","status-publish","has-post-thumbnail","hentry","rara_portfolio_categories-dataviz"],"_links":{"self":[{"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/rara-portfolio\/1090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/rara-portfolio"}],"about":[{"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/types\/rara-portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/comments?post=1090"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/media\/1091"}],"wp:attachment":[{"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/media?parent=1090"}],"wp:term":[{"taxonomy":"rara_portfolio_categories","embeddable":true,"href":"https:\/\/javierladino.com\/es\/wp-json\/wp\/v2\/rara_portfolio_categories?post=1090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}