{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Concentration de CO2 dans l'atmosphère depuis 1958\n", "\n", "On s'intéresse à la concentration en CO2 au cours du temps depuis 1958; les données sont disponibles sur le site web [scrippsco2.ucsd.edu](https://scrippsco2.ucsd.edu/data/atmospheric_co2/primary_mlo_co2_record.html)\n", "\n", "Commençons par importer les bibliothèques nécessaires à l'analyse" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import isoweek" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Chargeons à présent les données" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "def skiprows(x):\n", " return x < 61 or x in [62,63]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Données non disponibles, téléchargement...\n", "Téléchargement et enregistrement terminé\n" ] } ], "source": [ "data_url = \"https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/monthly/monthly_in_situ_co2_mlo.csv\"\n", "data_path = \"./monthly_in_situ_co2_mlo.csv\"\n", "\n", "try:\n", " data = pd.read_csv(data_path)\n", " print(\"Données disponibles en local, chargement en cours\")\n", "except FileNotFoundError as e:\n", " print(\"Données non disponibles, téléchargement...\")\n", " data = pd.read_csv(data_url,skiprows=skiprows,skipinitialspace=True)\n", " data.to_csv(data_path)\n", " print(\"Téléchargement et enregistrement terminé\")" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
YrMnDateDateCO2seasonallyfitseasonallyCO2seasonallySta
019581212001958.0411-99.99-99.99-99.99-99.99-99.99-99.99MLO
119582212311958.1260-99.99-99.99-99.99-99.99-99.99-99.99MLO
219583212591958.2027315.71314.43316.20314.91315.71314.43MLO
319584212901958.2877317.45315.16317.30314.99317.45315.16MLO
419585213201958.3699317.51314.69317.89315.07317.51314.69MLO
519586213511958.4548-99.99-99.99317.27315.15317.27315.15MLO
619587213811958.5370315.87315.20315.86315.22315.87315.20MLO
719588214121958.6219314.93316.22313.96315.29314.93316.22MLO
819589214431958.7068313.21316.12312.43315.35313.21316.12MLO
9195810214731958.7890-99.99-99.99312.42315.41312.42315.41MLO
10195811215041958.8740313.33315.21313.60315.46313.33315.21MLO
11195812215341958.9562314.67315.43314.77315.52314.67315.43MLO
1219591215651959.0411315.58315.52315.64315.57315.58315.52MLO
1319592215961959.1260316.49315.84316.30315.64316.49315.84MLO
1419593216241959.2027316.65315.37316.99315.70316.65315.37MLO
1519594216551959.2877317.72315.41318.09315.77317.72315.41MLO
1619595216851959.3699318.29315.46318.68315.85318.29315.46MLO
1719596217161959.4548318.15316.00318.07315.94318.15316.00MLO
1819597217461959.5370316.54315.87316.67316.03316.54315.87MLO
1919598217771959.6219314.80316.09314.80316.13314.80316.09MLO
2019599218081959.7068313.84316.75313.29316.22313.84316.75MLO
21195910218381959.7890313.33316.35313.31316.31313.33316.35MLO
22195911218691959.8740314.81316.69314.53316.40314.81316.69MLO
23195912218991959.9562315.58316.35315.72316.48315.58316.35MLO
2419601219301960.0410316.43316.37316.62316.56316.43316.37MLO
2519602219611960.1257316.98316.33317.30316.64316.98316.33MLO
2619603219901960.2049317.58316.27318.04316.71317.58316.27MLO
2719604220211960.2896319.03316.70319.14316.79319.03316.70MLO
2819605220511960.3716320.03317.20319.70316.86320.03317.20MLO
2919606220821960.4563319.59317.45319.04316.93319.59317.45MLO
....................................
77420227447572022.5370418.71417.91418.94418.18418.71417.91MLO
77520228447882022.6219416.75418.30416.77418.36416.75418.30MLO
77620229448192022.7068415.42418.91415.04418.55415.42418.91MLO
777202210448492022.7890415.31418.92415.15418.74415.31418.92MLO
778202211448802022.8740417.03419.29416.71418.95417.03419.29MLO
779202212449102022.9562418.46419.38418.25419.15418.46419.38MKO
78020231449412023.0411419.13419.06419.45419.37419.13419.06MKO
78120232449722023.1260420.33419.55420.40419.61420.33419.55MKO
78220233450002023.2027420.51418.97421.39419.83420.51418.97MLO
78320234450312023.2877422.73419.96422.89420.10422.73419.96MLO
78420235450612023.3699423.78420.38423.77420.37423.78420.38MLO
78520236450922023.4548423.39420.81423.23420.66423.39420.81MLO
78620237451222023.5370421.62420.82421.73420.96421.62420.82MLO
78720238451532023.6219419.56421.12419.67421.27419.56421.12MLO
78820239451842023.7068418.06421.56418.06421.58418.06421.56MLO
789202310452142023.7890418.41422.02418.28421.88418.41422.02MLO
790202311452452023.8740420.11422.38419.95422.19420.11422.38MLO
791202312452752023.9562421.65422.57421.58422.48421.65422.57MLO
79220241453062024.0410422.62422.55422.85422.77422.62422.55MLO
79320242453372024.1257424.34423.56423.85423.06424.34423.56MLO
79420243453662024.2049425.22423.65424.91423.31425.22423.65MLO
79520244453972024.2896426.30423.50426.41423.58426.30423.50MLO
79620245454272024.3716426.70423.29427.25423.84426.70423.29MLO
79720246454582024.4563426.63424.06426.65424.11426.63424.06MLO
79820247454882024.5383425.40424.62425.10424.36425.40424.62MLO
79920248455192024.6230422.71424.30423.00424.63422.71424.30MLO
80020249455502024.7077421.60425.12-99.99-99.99421.60425.12MLO
801202410455802024.7896-99.99-99.99-99.99-99.99-99.99-99.99MLO
802202411456112024.8743-99.99-99.99-99.99-99.99-99.99-99.99MLO
803202412456412024.9563-99.99-99.99-99.99-99.99-99.99-99.99MLO
\n", "

804 rows × 11 columns

\n", "
" ], "text/plain": [ " Yr Mn Date Date CO2 seasonally fit \\\n", "0 1958 1 21200 1958.0411 -99.99 -99.99 -99.99 \n", "1 1958 2 21231 1958.1260 -99.99 -99.99 -99.99 \n", "2 1958 3 21259 1958.2027 315.71 314.43 316.20 \n", "3 1958 4 21290 1958.2877 317.45 315.16 317.30 \n", "4 1958 5 21320 1958.3699 317.51 314.69 317.89 \n", "5 1958 6 21351 1958.4548 -99.99 -99.99 317.27 \n", "6 1958 7 21381 1958.5370 315.87 315.20 315.86 \n", "7 1958 8 21412 1958.6219 314.93 316.22 313.96 \n", "8 1958 9 21443 1958.7068 313.21 316.12 312.43 \n", "9 1958 10 21473 1958.7890 -99.99 -99.99 312.42 \n", "10 1958 11 21504 1958.8740 313.33 315.21 313.60 \n", "11 1958 12 21534 1958.9562 314.67 315.43 314.77 \n", "12 1959 1 21565 1959.0411 315.58 315.52 315.64 \n", "13 1959 2 21596 1959.1260 316.49 315.84 316.30 \n", "14 1959 3 21624 1959.2027 316.65 315.37 316.99 \n", "15 1959 4 21655 1959.2877 317.72 315.41 318.09 \n", "16 1959 5 21685 1959.3699 318.29 315.46 318.68 \n", "17 1959 6 21716 1959.4548 318.15 316.00 318.07 \n", "18 1959 7 21746 1959.5370 316.54 315.87 316.67 \n", "19 1959 8 21777 1959.6219 314.80 316.09 314.80 \n", "20 1959 9 21808 1959.7068 313.84 316.75 313.29 \n", "21 1959 10 21838 1959.7890 313.33 316.35 313.31 \n", "22 1959 11 21869 1959.8740 314.81 316.69 314.53 \n", "23 1959 12 21899 1959.9562 315.58 316.35 315.72 \n", "24 1960 1 21930 1960.0410 316.43 316.37 316.62 \n", "25 1960 2 21961 1960.1257 316.98 316.33 317.30 \n", "26 1960 3 21990 1960.2049 317.58 316.27 318.04 \n", "27 1960 4 22021 1960.2896 319.03 316.70 319.14 \n", "28 1960 5 22051 1960.3716 320.03 317.20 319.70 \n", "29 1960 6 22082 1960.4563 319.59 317.45 319.04 \n", ".. ... ... ... ... ... ... ... \n", "774 2022 7 44757 2022.5370 418.71 417.91 418.94 \n", "775 2022 8 44788 2022.6219 416.75 418.30 416.77 \n", "776 2022 9 44819 2022.7068 415.42 418.91 415.04 \n", "777 2022 10 44849 2022.7890 415.31 418.92 415.15 \n", "778 2022 11 44880 2022.8740 417.03 419.29 416.71 \n", "779 2022 12 44910 2022.9562 418.46 419.38 418.25 \n", "780 2023 1 44941 2023.0411 419.13 419.06 419.45 \n", "781 2023 2 44972 2023.1260 420.33 419.55 420.40 \n", "782 2023 3 45000 2023.2027 420.51 418.97 421.39 \n", "783 2023 4 45031 2023.2877 422.73 419.96 422.89 \n", "784 2023 5 45061 2023.3699 423.78 420.38 423.77 \n", "785 2023 6 45092 2023.4548 423.39 420.81 423.23 \n", "786 2023 7 45122 2023.5370 421.62 420.82 421.73 \n", "787 2023 8 45153 2023.6219 419.56 421.12 419.67 \n", "788 2023 9 45184 2023.7068 418.06 421.56 418.06 \n", "789 2023 10 45214 2023.7890 418.41 422.02 418.28 \n", "790 2023 11 45245 2023.8740 420.11 422.38 419.95 \n", "791 2023 12 45275 2023.9562 421.65 422.57 421.58 \n", "792 2024 1 45306 2024.0410 422.62 422.55 422.85 \n", "793 2024 2 45337 2024.1257 424.34 423.56 423.85 \n", "794 2024 3 45366 2024.2049 425.22 423.65 424.91 \n", "795 2024 4 45397 2024.2896 426.30 423.50 426.41 \n", "796 2024 5 45427 2024.3716 426.70 423.29 427.25 \n", "797 2024 6 45458 2024.4563 426.63 424.06 426.65 \n", "798 2024 7 45488 2024.5383 425.40 424.62 425.10 \n", "799 2024 8 45519 2024.6230 422.71 424.30 423.00 \n", "800 2024 9 45550 2024.7077 421.60 425.12 -99.99 \n", "801 2024 10 45580 2024.7896 -99.99 -99.99 -99.99 \n", "802 2024 11 45611 2024.8743 -99.99 -99.99 -99.99 \n", "803 2024 12 45641 2024.9563 -99.99 -99.99 -99.99 \n", "\n", " seasonally CO2 seasonally Sta \n", "0 -99.99 -99.99 -99.99 MLO \n", "1 -99.99 -99.99 -99.99 MLO \n", "2 314.91 315.71 314.43 MLO \n", "3 314.99 317.45 315.16 MLO \n", "4 315.07 317.51 314.69 MLO \n", "5 315.15 317.27 315.15 MLO \n", "6 315.22 315.87 315.20 MLO \n", "7 315.29 314.93 316.22 MLO \n", "8 315.35 313.21 316.12 MLO \n", "9 315.41 312.42 315.41 MLO \n", "10 315.46 313.33 315.21 MLO \n", "11 315.52 314.67 315.43 MLO \n", "12 315.57 315.58 315.52 MLO \n", "13 315.64 316.49 315.84 MLO \n", "14 315.70 316.65 315.37 MLO \n", "15 315.77 317.72 315.41 MLO \n", "16 315.85 318.29 315.46 MLO \n", "17 315.94 318.15 316.00 MLO \n", "18 316.03 316.54 315.87 MLO \n", "19 316.13 314.80 316.09 MLO \n", "20 316.22 313.84 316.75 MLO \n", "21 316.31 313.33 316.35 MLO \n", "22 316.40 314.81 316.69 MLO \n", "23 316.48 315.58 316.35 MLO \n", "24 316.56 316.43 316.37 MLO \n", "25 316.64 316.98 316.33 MLO \n", "26 316.71 317.58 316.27 MLO \n", "27 316.79 319.03 316.70 MLO \n", "28 316.86 320.03 317.20 MLO \n", "29 316.93 319.59 317.45 MLO \n", ".. ... ... ... ... \n", "774 418.18 418.71 417.91 MLO \n", "775 418.36 416.75 418.30 MLO \n", "776 418.55 415.42 418.91 MLO \n", "777 418.74 415.31 418.92 MLO \n", "778 418.95 417.03 419.29 MLO \n", "779 419.15 418.46 419.38 MKO \n", "780 419.37 419.13 419.06 MKO \n", "781 419.61 420.33 419.55 MKO \n", "782 419.83 420.51 418.97 MLO \n", "783 420.10 422.73 419.96 MLO \n", "784 420.37 423.78 420.38 MLO \n", "785 420.66 423.39 420.81 MLO \n", "786 420.96 421.62 420.82 MLO \n", "787 421.27 419.56 421.12 MLO \n", "788 421.58 418.06 421.56 MLO \n", "789 421.88 418.41 422.02 MLO \n", "790 422.19 420.11 422.38 MLO \n", "791 422.48 421.65 422.57 MLO \n", "792 422.77 422.62 422.55 MLO \n", "793 423.06 424.34 423.56 MLO \n", "794 423.31 425.22 423.65 MLO \n", "795 423.58 426.30 423.50 MLO \n", "796 423.84 426.70 423.29 MLO \n", "797 424.11 426.63 424.06 MLO \n", "798 424.36 425.40 424.62 MLO \n", "799 424.63 422.71 424.30 MLO \n", "800 -99.99 421.60 425.12 MLO \n", "801 -99.99 -99.99 -99.99 MLO \n", "802 -99.99 -99.99 -99.99 MLO \n", "803 -99.99 -99.99 -99.99 MLO \n", "\n", "[804 rows x 11 columns]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le fichier indique qu'à cause d'une éruption en 2022, la station MLO n'a pas pu faire de relevés et sont alors relevés par MKO. Nous nous intéresserons ici qu'à MLO et allons donc supprimer les entrées correspondantes à MKO" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "data_MLO = data[data[\" Sta\"]==\"MLO\"]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }