{ "cells": [ { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from scipy.optimize import curve_fit\n", "import numpy as np\n", "import isoweek # Pour gérer les semaines ISO" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "data_url = \"https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/monthly/monthly_in_situ_co2_mlo.csv\"\n", "data = \"monthly_in_situ_co2_mlo.csv\"\n", "# Vérifier si le fichier local existe, et s'il n'existe pas, le télécharger depuis l'URL\n", "import os\n", "import urllib.request\n", "\n", "# Vérifier si le fichier local n'existe pas\n", "if not os.path.exists(data):\n", " # Télécharger les données depuis l'URL et les enregistrer dans le fichier local\n", " urllib.request.urlretrieve(data_url, data)" ] }, { "cell_type": "code", "execution_count": 56, "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
0adjustedadjusted fitfilledadjusted filledNaN
1Excel[ppm][ppm][ppm][ppm][ppm][ppm]NaN
2195801212001958.0411-99.99-99.99-99.99-99.99-99.99-99.99MLO
3195802212311958.1260-99.99-99.99-99.99-99.99-99.99-99.99MLO
4195803212591958.2027315.71314.44316.19314.91315.71314.44MLO
5195804212901958.2877317.45315.16317.30314.99317.45315.16MLO
6195805213201958.3699317.51314.69317.89315.07317.51314.69MLO
7195806213511958.4548-99.99-99.99317.27315.15317.27315.15MLO
8195807213811958.5370315.87315.20315.86315.22315.87315.20MLO
9195808214121958.6219314.93316.21313.97315.29314.93316.21MLO
10195809214431958.7068313.21316.11312.44315.35313.21316.11MLO
11195810214731958.7890-99.99-99.99312.42315.41312.42315.41MLO
12195811215041958.8740313.33315.21313.61315.46313.33315.21MLO
13195812215341958.9562314.67315.43314.77315.52314.67315.43MLO
14195901215651959.0411315.58315.52315.64315.57315.58315.52MLO
15195902215961959.1260316.49315.84316.29315.63316.49315.84MLO
16195903216241959.2027316.65315.38316.98315.70316.65315.38MLO
17195904216551959.2877317.72315.42318.09315.77317.72315.42MLO
18195905216851959.3699318.29315.46318.68315.85318.29315.46MLO
19195906217161959.4548318.15316.00318.07315.94318.15316.00MLO
20195907217461959.5370316.54315.87316.67316.03316.54315.87MLO
21195908217771959.6219314.80316.09314.80316.13314.80316.09MLO
22195909218081959.7068313.84316.75313.30316.22313.84316.75MLO
23195910218381959.7890313.33316.34313.31316.31313.33316.34MLO
24195911218691959.8740314.81316.69314.53316.40314.81316.69MLO
25195912218991959.9562315.58316.35315.72316.48315.58316.35MLO
26196001219301960.0410316.43316.37316.63316.56316.43316.37MLO
27196002219611960.1257316.98316.33317.29316.64316.98316.33MLO
28196003219901960.2049317.58316.28318.03316.72317.58316.28MLO
29196004220211960.2896319.03316.70319.14316.79319.03316.70MLO
....................................
764202107443922021.5370416.65415.85416.95416.18416.65415.85MLO
765202108444232021.6219414.34415.89414.78416.36414.34415.89MLO
766202109444542021.7068412.90416.40413.04416.55412.90416.40MLO
767202110444842021.7890413.55417.16413.14416.74413.55417.16MLO
768202111445152021.8740414.82417.08414.69416.92414.82417.08MLO
769202112445452021.9562416.43417.36416.19417.10416.43417.36MLO
770202201445762022.0411418.01417.94417.34417.26418.01417.94MLO
771202202446072022.1260418.99418.21418.21417.42418.99418.21MLO
772202203446352022.2027418.45416.92419.11417.56418.45416.92MLO
773202204446662022.2877420.02417.25420.50417.71420.02417.25MLO
774202205446962022.3699420.77417.36421.27417.86420.77417.36MLO
775202206447272022.4548420.68418.09420.60418.03420.68418.09MLO
776202207447572022.5370418.68417.87418.98418.21418.68417.87MLO
777202208447882022.6219416.76418.31416.80418.40416.76418.31MLO
778202209448192022.7068415.41418.91415.07418.59415.41418.91MLO
779202210448492022.7890415.31418.93415.18418.78415.31418.93MLO
780202211448802022.8740417.04419.31416.74418.98417.04419.31MLO
781202212449102022.9562418.57419.49418.27419.18418.57419.49MKO
782202301449412023.0411419.24419.17419.46419.38419.24419.17MKO
783202302449722023.1260420.33419.55420.38419.59420.33419.55MKO
784202303450002023.2027420.51418.97421.34419.79420.51418.97MLO
785202304450312023.2877422.73419.95422.81420.01422.73419.95MLO
786202305450612023.3699423.78420.36423.65420.23423.78420.36MLO
787202306450922023.4548423.39420.80423.03420.46423.39420.80MLO
788202307451222023.5370-99.99-99.99-99.99-99.99-99.99-99.99MLO
789202308451532023.6219-99.99-99.99-99.99-99.99-99.99-99.99MLO
790202309451842023.7068-99.99-99.99-99.99-99.99-99.99-99.99MLO
791202310452142023.7890-99.99-99.99-99.99-99.99-99.99-99.99MLO
792202311452452023.8740-99.99-99.99-99.99-99.99-99.99-99.99MLO
793202312452752023.9562-99.99-99.99-99.99-99.99-99.99-99.99MLO
\n", "

794 rows × 11 columns

\n", "
" ], "text/plain": [ " Yr Mn Date Date CO2 seasonally fit \\\n", "0 adjusted \n", "1 Excel [ppm] [ppm] [ppm] \n", "2 1958 01 21200 1958.0411 -99.99 -99.99 -99.99 \n", "3 1958 02 21231 1958.1260 -99.99 -99.99 -99.99 \n", "4 1958 03 21259 1958.2027 315.71 314.44 316.19 \n", "5 1958 04 21290 1958.2877 317.45 315.16 317.30 \n", "6 1958 05 21320 1958.3699 317.51 314.69 317.89 \n", "7 1958 06 21351 1958.4548 -99.99 -99.99 317.27 \n", "8 1958 07 21381 1958.5370 315.87 315.20 315.86 \n", "9 1958 08 21412 1958.6219 314.93 316.21 313.97 \n", "10 1958 09 21443 1958.7068 313.21 316.11 312.44 \n", "11 1958 10 21473 1958.7890 -99.99 -99.99 312.42 \n", "12 1958 11 21504 1958.8740 313.33 315.21 313.61 \n", "13 1958 12 21534 1958.9562 314.67 315.43 314.77 \n", "14 1959 01 21565 1959.0411 315.58 315.52 315.64 \n", "15 1959 02 21596 1959.1260 316.49 315.84 316.29 \n", "16 1959 03 21624 1959.2027 316.65 315.38 316.98 \n", "17 1959 04 21655 1959.2877 317.72 315.42 318.09 \n", "18 1959 05 21685 1959.3699 318.29 315.46 318.68 \n", "19 1959 06 21716 1959.4548 318.15 316.00 318.07 \n", "20 1959 07 21746 1959.5370 316.54 315.87 316.67 \n", "21 1959 08 21777 1959.6219 314.80 316.09 314.80 \n", "22 1959 09 21808 1959.7068 313.84 316.75 313.30 \n", "23 1959 10 21838 1959.7890 313.33 316.34 313.31 \n", "24 1959 11 21869 1959.8740 314.81 316.69 314.53 \n", "25 1959 12 21899 1959.9562 315.58 316.35 315.72 \n", "26 1960 01 21930 1960.0410 316.43 316.37 316.63 \n", "27 1960 02 21961 1960.1257 316.98 316.33 317.29 \n", "28 1960 03 21990 1960.2049 317.58 316.28 318.03 \n", "29 1960 04 22021 1960.2896 319.03 316.70 319.14 \n", ".. ... ... ... ... ... ... ... \n", "764 2021 07 44392 2021.5370 416.65 415.85 416.95 \n", "765 2021 08 44423 2021.6219 414.34 415.89 414.78 \n", "766 2021 09 44454 2021.7068 412.90 416.40 413.04 \n", "767 2021 10 44484 2021.7890 413.55 417.16 413.14 \n", "768 2021 11 44515 2021.8740 414.82 417.08 414.69 \n", "769 2021 12 44545 2021.9562 416.43 417.36 416.19 \n", "770 2022 01 44576 2022.0411 418.01 417.94 417.34 \n", "771 2022 02 44607 2022.1260 418.99 418.21 418.21 \n", "772 2022 03 44635 2022.2027 418.45 416.92 419.11 \n", "773 2022 04 44666 2022.2877 420.02 417.25 420.50 \n", "774 2022 05 44696 2022.3699 420.77 417.36 421.27 \n", "775 2022 06 44727 2022.4548 420.68 418.09 420.60 \n", "776 2022 07 44757 2022.5370 418.68 417.87 418.98 \n", "777 2022 08 44788 2022.6219 416.76 418.31 416.80 \n", "778 2022 09 44819 2022.7068 415.41 418.91 415.07 \n", "779 2022 10 44849 2022.7890 415.31 418.93 415.18 \n", "780 2022 11 44880 2022.8740 417.04 419.31 416.74 \n", "781 2022 12 44910 2022.9562 418.57 419.49 418.27 \n", "782 2023 01 44941 2023.0411 419.24 419.17 419.46 \n", "783 2023 02 44972 2023.1260 420.33 419.55 420.38 \n", "784 2023 03 45000 2023.2027 420.51 418.97 421.34 \n", "785 2023 04 45031 2023.2877 422.73 419.95 422.81 \n", "786 2023 05 45061 2023.3699 423.78 420.36 423.65 \n", "787 2023 06 45092 2023.4548 423.39 420.80 423.03 \n", "788 2023 07 45122 2023.5370 -99.99 -99.99 -99.99 \n", "789 2023 08 45153 2023.6219 -99.99 -99.99 -99.99 \n", "790 2023 09 45184 2023.7068 -99.99 -99.99 -99.99 \n", "791 2023 10 45214 2023.7890 -99.99 -99.99 -99.99 \n", "792 2023 11 45245 2023.8740 -99.99 -99.99 -99.99 \n", "793 2023 12 45275 2023.9562 -99.99 -99.99 -99.99 \n", "\n", " seasonally CO2 seasonally Sta \n", "0 adjusted fit filled adjusted filled NaN \n", "1 [ppm] [ppm] [ppm] NaN \n", "2 -99.99 -99.99 -99.99 MLO \n", "3 -99.99 -99.99 -99.99 MLO \n", "4 314.91 315.71 314.44 MLO \n", "5 314.99 317.45 315.16 MLO \n", "6 315.07 317.51 314.69 MLO \n", "7 315.15 317.27 315.15 MLO \n", "8 315.22 315.87 315.20 MLO \n", "9 315.29 314.93 316.21 MLO \n", "10 315.35 313.21 316.11 MLO \n", "11 315.41 312.42 315.41 MLO \n", "12 315.46 313.33 315.21 MLO \n", "13 315.52 314.67 315.43 MLO \n", "14 315.57 315.58 315.52 MLO \n", "15 315.63 316.49 315.84 MLO \n", "16 315.70 316.65 315.38 MLO \n", "17 315.77 317.72 315.42 MLO \n", "18 315.85 318.29 315.46 MLO \n", "19 315.94 318.15 316.00 MLO \n", "20 316.03 316.54 315.87 MLO \n", "21 316.13 314.80 316.09 MLO \n", "22 316.22 313.84 316.75 MLO \n", "23 316.31 313.33 316.34 MLO \n", "24 316.40 314.81 316.69 MLO \n", "25 316.48 315.58 316.35 MLO \n", "26 316.56 316.43 316.37 MLO \n", "27 316.64 316.98 316.33 MLO \n", "28 316.72 317.58 316.28 MLO \n", "29 316.79 319.03 316.70 MLO \n", ".. ... ... ... ... \n", "764 416.18 416.65 415.85 MLO \n", "765 416.36 414.34 415.89 MLO \n", "766 416.55 412.90 416.40 MLO \n", "767 416.74 413.55 417.16 MLO \n", "768 416.92 414.82 417.08 MLO \n", "769 417.10 416.43 417.36 MLO \n", "770 417.26 418.01 417.94 MLO \n", "771 417.42 418.99 418.21 MLO \n", "772 417.56 418.45 416.92 MLO \n", "773 417.71 420.02 417.25 MLO \n", "774 417.86 420.77 417.36 MLO \n", "775 418.03 420.68 418.09 MLO \n", "776 418.21 418.68 417.87 MLO \n", "777 418.40 416.76 418.31 MLO \n", "778 418.59 415.41 418.91 MLO \n", "779 418.78 415.31 418.93 MLO \n", "780 418.98 417.04 419.31 MLO \n", "781 419.18 418.57 419.49 MKO \n", "782 419.38 419.24 419.17 MKO \n", "783 419.59 420.33 419.55 MKO \n", "784 419.79 420.51 418.97 MLO \n", "785 420.01 422.73 419.95 MLO \n", "786 420.23 423.78 420.36 MLO \n", "787 420.46 423.39 420.80 MLO \n", "788 -99.99 -99.99 -99.99 MLO \n", "789 -99.99 -99.99 -99.99 MLO \n", "790 -99.99 -99.99 -99.99 MLO \n", "791 -99.99 -99.99 -99.99 MLO \n", "792 -99.99 -99.99 -99.99 MLO \n", "793 -99.99 -99.99 -99.99 MLO \n", "\n", "[794 rows x 11 columns]" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Lire les données depuis le fichier local CSV en sautant la première ligne (commentaire)\n", "raw_data = pd.read_csv(data, skiprows=57)\n", "\n", "# Afficher les données brutes\n", "raw_data" ] }, { "cell_type": "code", "execution_count": 57, "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", "
YrMnDateDateCO2seasonallyfitseasonallyCO2seasonallySta
0adjustedadjusted fitfilledadjusted filledNaN
1Excel[ppm][ppm][ppm][ppm][ppm][ppm]NaN
\n", "
" ], "text/plain": [ " Yr Mn Date Date CO2 seasonally fit \\\n", "0 adjusted \n", "1 Excel [ppm] [ppm] [ppm] \n", "\n", " seasonally CO2 seasonally Sta \n", "0 adjusted fit filled adjusted filled NaN \n", "1 [ppm] [ppm] [ppm] NaN " ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Sélectionner les lignes contenant au moins une valeur manquante (NaN)\n", "raw_data[raw_data.isnull().any(axis=1)]" ] }, { "cell_type": "code", "execution_count": 58, "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
2195801212001958.0411-99.99-99.99-99.99-99.99-99.99-99.99MLO
3195802212311958.1260-99.99-99.99-99.99-99.99-99.99-99.99MLO
4195803212591958.2027315.71314.44316.19314.91315.71314.44MLO
5195804212901958.2877317.45315.16317.30314.99317.45315.16MLO
6195805213201958.3699317.51314.69317.89315.07317.51314.69MLO
7195806213511958.4548-99.99-99.99317.27315.15317.27315.15MLO
8195807213811958.5370315.87315.20315.86315.22315.87315.20MLO
9195808214121958.6219314.93316.21313.97315.29314.93316.21MLO
10195809214431958.7068313.21316.11312.44315.35313.21316.11MLO
11195810214731958.7890-99.99-99.99312.42315.41312.42315.41MLO
12195811215041958.8740313.33315.21313.61315.46313.33315.21MLO
13195812215341958.9562314.67315.43314.77315.52314.67315.43MLO
14195901215651959.0411315.58315.52315.64315.57315.58315.52MLO
15195902215961959.1260316.49315.84316.29315.63316.49315.84MLO
16195903216241959.2027316.65315.38316.98315.70316.65315.38MLO
17195904216551959.2877317.72315.42318.09315.77317.72315.42MLO
18195905216851959.3699318.29315.46318.68315.85318.29315.46MLO
19195906217161959.4548318.15316.00318.07315.94318.15316.00MLO
20195907217461959.5370316.54315.87316.67316.03316.54315.87MLO
21195908217771959.6219314.80316.09314.80316.13314.80316.09MLO
22195909218081959.7068313.84316.75313.30316.22313.84316.75MLO
23195910218381959.7890313.33316.34313.31316.31313.33316.34MLO
24195911218691959.8740314.81316.69314.53316.40314.81316.69MLO
25195912218991959.9562315.58316.35315.72316.48315.58316.35MLO
26196001219301960.0410316.43316.37316.63316.56316.43316.37MLO
27196002219611960.1257316.98316.33317.29316.64316.98316.33MLO
28196003219901960.2049317.58316.28318.03316.72317.58316.28MLO
29196004220211960.2896319.03316.70319.14316.79319.03316.70MLO
30196005220511960.3716320.03317.20319.70316.87320.03317.20MLO
31196006220821960.4563319.58317.45319.04316.93319.58317.45MLO
....................................
764202107443922021.5370416.65415.85416.95416.18416.65415.85MLO
765202108444232021.6219414.34415.89414.78416.36414.34415.89MLO
766202109444542021.7068412.90416.40413.04416.55412.90416.40MLO
767202110444842021.7890413.55417.16413.14416.74413.55417.16MLO
768202111445152021.8740414.82417.08414.69416.92414.82417.08MLO
769202112445452021.9562416.43417.36416.19417.10416.43417.36MLO
770202201445762022.0411418.01417.94417.34417.26418.01417.94MLO
771202202446072022.1260418.99418.21418.21417.42418.99418.21MLO
772202203446352022.2027418.45416.92419.11417.56418.45416.92MLO
773202204446662022.2877420.02417.25420.50417.71420.02417.25MLO
774202205446962022.3699420.77417.36421.27417.86420.77417.36MLO
775202206447272022.4548420.68418.09420.60418.03420.68418.09MLO
776202207447572022.5370418.68417.87418.98418.21418.68417.87MLO
777202208447882022.6219416.76418.31416.80418.40416.76418.31MLO
778202209448192022.7068415.41418.91415.07418.59415.41418.91MLO
779202210448492022.7890415.31418.93415.18418.78415.31418.93MLO
780202211448802022.8740417.04419.31416.74418.98417.04419.31MLO
781202212449102022.9562418.57419.49418.27419.18418.57419.49MKO
782202301449412023.0411419.24419.17419.46419.38419.24419.17MKO
783202302449722023.1260420.33419.55420.38419.59420.33419.55MKO
784202303450002023.2027420.51418.97421.34419.79420.51418.97MLO
785202304450312023.2877422.73419.95422.81420.01422.73419.95MLO
786202305450612023.3699423.78420.36423.65420.23423.78420.36MLO
787202306450922023.4548423.39420.80423.03420.46423.39420.80MLO
788202307451222023.5370-99.99-99.99-99.99-99.99-99.99-99.99MLO
789202308451532023.6219-99.99-99.99-99.99-99.99-99.99-99.99MLO
790202309451842023.7068-99.99-99.99-99.99-99.99-99.99-99.99MLO
791202310452142023.7890-99.99-99.99-99.99-99.99-99.99-99.99MLO
792202311452452023.8740-99.99-99.99-99.99-99.99-99.99-99.99MLO
793202312452752023.9562-99.99-99.99-99.99-99.99-99.99-99.99MLO
\n", "

792 rows × 11 columns

\n", "
" ], "text/plain": [ " Yr Mn Date Date CO2 seasonally fit \\\n", "2 1958 01 21200 1958.0411 -99.99 -99.99 -99.99 \n", "3 1958 02 21231 1958.1260 -99.99 -99.99 -99.99 \n", "4 1958 03 21259 1958.2027 315.71 314.44 316.19 \n", "5 1958 04 21290 1958.2877 317.45 315.16 317.30 \n", "6 1958 05 21320 1958.3699 317.51 314.69 317.89 \n", "7 1958 06 21351 1958.4548 -99.99 -99.99 317.27 \n", "8 1958 07 21381 1958.5370 315.87 315.20 315.86 \n", "9 1958 08 21412 1958.6219 314.93 316.21 313.97 \n", "10 1958 09 21443 1958.7068 313.21 316.11 312.44 \n", "11 1958 10 21473 1958.7890 -99.99 -99.99 312.42 \n", "12 1958 11 21504 1958.8740 313.33 315.21 313.61 \n", "13 1958 12 21534 1958.9562 314.67 315.43 314.77 \n", "14 1959 01 21565 1959.0411 315.58 315.52 315.64 \n", "15 1959 02 21596 1959.1260 316.49 315.84 316.29 \n", "16 1959 03 21624 1959.2027 316.65 315.38 316.98 \n", "17 1959 04 21655 1959.2877 317.72 315.42 318.09 \n", "18 1959 05 21685 1959.3699 318.29 315.46 318.68 \n", "19 1959 06 21716 1959.4548 318.15 316.00 318.07 \n", "20 1959 07 21746 1959.5370 316.54 315.87 316.67 \n", "21 1959 08 21777 1959.6219 314.80 316.09 314.80 \n", "22 1959 09 21808 1959.7068 313.84 316.75 313.30 \n", "23 1959 10 21838 1959.7890 313.33 316.34 313.31 \n", "24 1959 11 21869 1959.8740 314.81 316.69 314.53 \n", "25 1959 12 21899 1959.9562 315.58 316.35 315.72 \n", "26 1960 01 21930 1960.0410 316.43 316.37 316.63 \n", "27 1960 02 21961 1960.1257 316.98 316.33 317.29 \n", "28 1960 03 21990 1960.2049 317.58 316.28 318.03 \n", "29 1960 04 22021 1960.2896 319.03 316.70 319.14 \n", "30 1960 05 22051 1960.3716 320.03 317.20 319.70 \n", "31 1960 06 22082 1960.4563 319.58 317.45 319.04 \n", ".. ... ... ... ... ... ... ... \n", "764 2021 07 44392 2021.5370 416.65 415.85 416.95 \n", "765 2021 08 44423 2021.6219 414.34 415.89 414.78 \n", "766 2021 09 44454 2021.7068 412.90 416.40 413.04 \n", "767 2021 10 44484 2021.7890 413.55 417.16 413.14 \n", "768 2021 11 44515 2021.8740 414.82 417.08 414.69 \n", "769 2021 12 44545 2021.9562 416.43 417.36 416.19 \n", "770 2022 01 44576 2022.0411 418.01 417.94 417.34 \n", "771 2022 02 44607 2022.1260 418.99 418.21 418.21 \n", "772 2022 03 44635 2022.2027 418.45 416.92 419.11 \n", "773 2022 04 44666 2022.2877 420.02 417.25 420.50 \n", "774 2022 05 44696 2022.3699 420.77 417.36 421.27 \n", "775 2022 06 44727 2022.4548 420.68 418.09 420.60 \n", "776 2022 07 44757 2022.5370 418.68 417.87 418.98 \n", "777 2022 08 44788 2022.6219 416.76 418.31 416.80 \n", "778 2022 09 44819 2022.7068 415.41 418.91 415.07 \n", "779 2022 10 44849 2022.7890 415.31 418.93 415.18 \n", "780 2022 11 44880 2022.8740 417.04 419.31 416.74 \n", "781 2022 12 44910 2022.9562 418.57 419.49 418.27 \n", "782 2023 01 44941 2023.0411 419.24 419.17 419.46 \n", "783 2023 02 44972 2023.1260 420.33 419.55 420.38 \n", "784 2023 03 45000 2023.2027 420.51 418.97 421.34 \n", "785 2023 04 45031 2023.2877 422.73 419.95 422.81 \n", "786 2023 05 45061 2023.3699 423.78 420.36 423.65 \n", "787 2023 06 45092 2023.4548 423.39 420.80 423.03 \n", "788 2023 07 45122 2023.5370 -99.99 -99.99 -99.99 \n", "789 2023 08 45153 2023.6219 -99.99 -99.99 -99.99 \n", "790 2023 09 45184 2023.7068 -99.99 -99.99 -99.99 \n", "791 2023 10 45214 2023.7890 -99.99 -99.99 -99.99 \n", "792 2023 11 45245 2023.8740 -99.99 -99.99 -99.99 \n", "793 2023 12 45275 2023.9562 -99.99 -99.99 -99.99 \n", "\n", " seasonally CO2 seasonally Sta \n", "2 -99.99 -99.99 -99.99 MLO \n", "3 -99.99 -99.99 -99.99 MLO \n", "4 314.91 315.71 314.44 MLO \n", "5 314.99 317.45 315.16 MLO \n", "6 315.07 317.51 314.69 MLO \n", "7 315.15 317.27 315.15 MLO \n", "8 315.22 315.87 315.20 MLO \n", "9 315.29 314.93 316.21 MLO \n", "10 315.35 313.21 316.11 MLO \n", "11 315.41 312.42 315.41 MLO \n", "12 315.46 313.33 315.21 MLO \n", "13 315.52 314.67 315.43 MLO \n", "14 315.57 315.58 315.52 MLO \n", "15 315.63 316.49 315.84 MLO \n", "16 315.70 316.65 315.38 MLO \n", "17 315.77 317.72 315.42 MLO \n", "18 315.85 318.29 315.46 MLO \n", "19 315.94 318.15 316.00 MLO \n", "20 316.03 316.54 315.87 MLO \n", "21 316.13 314.80 316.09 MLO \n", "22 316.22 313.84 316.75 MLO \n", "23 316.31 313.33 316.34 MLO \n", "24 316.40 314.81 316.69 MLO \n", "25 316.48 315.58 316.35 MLO \n", "26 316.56 316.43 316.37 MLO \n", "27 316.64 316.98 316.33 MLO \n", "28 316.72 317.58 316.28 MLO \n", "29 316.79 319.03 316.70 MLO \n", "30 316.87 320.03 317.20 MLO \n", "31 316.93 319.58 317.45 MLO \n", ".. ... ... ... ... \n", "764 416.18 416.65 415.85 MLO \n", "765 416.36 414.34 415.89 MLO \n", "766 416.55 412.90 416.40 MLO \n", "767 416.74 413.55 417.16 MLO \n", "768 416.92 414.82 417.08 MLO \n", "769 417.10 416.43 417.36 MLO \n", "770 417.26 418.01 417.94 MLO \n", "771 417.42 418.99 418.21 MLO \n", "772 417.56 418.45 416.92 MLO \n", "773 417.71 420.02 417.25 MLO \n", "774 417.86 420.77 417.36 MLO \n", "775 418.03 420.68 418.09 MLO \n", "776 418.21 418.68 417.87 MLO \n", "777 418.40 416.76 418.31 MLO \n", "778 418.59 415.41 418.91 MLO \n", "779 418.78 415.31 418.93 MLO \n", "780 418.98 417.04 419.31 MLO \n", "781 419.18 418.57 419.49 MKO \n", "782 419.38 419.24 419.17 MKO \n", "783 419.59 420.33 419.55 MKO \n", "784 419.79 420.51 418.97 MLO \n", "785 420.01 422.73 419.95 MLO \n", "786 420.23 423.78 420.36 MLO \n", "787 420.46 423.39 420.80 MLO \n", "788 -99.99 -99.99 -99.99 MLO \n", "789 -99.99 -99.99 -99.99 MLO \n", "790 -99.99 -99.99 -99.99 MLO \n", "791 -99.99 -99.99 -99.99 MLO \n", "792 -99.99 -99.99 -99.99 MLO \n", "793 -99.99 -99.99 -99.99 MLO \n", "\n", "[792 rows x 11 columns]" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Supprimer les lignes contenant des valeurs manquantes (NaN) à partir des données brutes\n", "data = raw_data.dropna().copy()\n", "\n", "# Afficher les données nettoyées (sans valeurs manquantes) et en créer une copie\n", "data" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "data = data.dropna(subset=[' CO2'])" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Index([' Yr', ' Mn', ' Date', ' Date', ' CO2', 'seasonally',\n", " ' fit', ' seasonally', ' CO2', ' seasonally', ' Sta'],\n", " dtype='object')\n" ] } ], "source": [ "print(data.columns)" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:14: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", " \n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#question1\n", "# Grouper par année (Yr) et sommer les valeurs de CO2\n", "annees = data[' Yr'].unique() # Obtenir la liste des années uniques\n", "\n", "# Initialiser les listes pour stocker les années et les émissions de CO2 annuelles\n", "year = [] # Liste des années\n", "yearly_CO2 = [] # Liste des émissions annuelles de CO2\n", "\n", "for annee in annees:\n", " # Filtrer les données pour l'année spécifique\n", " donnees_annee = data[data[' Yr'] == annee]\n", " \n", " # Somme des émissions de CO2 pour l'année spécifique\n", " donnees_annee[' CO2'] = donnees_annee[' CO2'].astype(float)\n", " somme_co2_annee = donnees_annee[' CO2'].sum()\n", " \n", " # Ajouter l'année et la somme des émissions à leurs listes respectives\n", " year.append(annee)\n", " yearly_CO2.append(somme_co2_annee)\n", "\n", "# Créer une série pandas avec les données annuelles et les années comme index\n", "yearly_CO2 = pd.Series(data=yearly_CO2, index=year)\n", "# Tracer un graphique de dispersion des données d'incidence annuelle avec un style en étoile\n", "yearly_CO2.plot(style='*')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le code fourni a pour objectif d'effectuer une analyse des composantes périodiques d'un jeu de données de concentrations de CO2 à l'aide de la transformation de Fourier en utilisant Python. Il commence par charger les données à partir d'un fichier CSV dans un DataFrame Pandas. Ensuite, il identifie la colonne appropriée contenant les données de concentration de CO2 et la convertit en format numérique (float) pour s'assurer que les données sont traitées correctement. Une fois les données préparées, le code applique la transformation de Fourier pour analyser les composantes périodiques dans les données. La sortie de cette analyse est ensuite visualisée dans le domaine de fréquence, montrant les amplitudes des différentes composantes périodiques. Ce type d'analyse est utile pour détecter des modèles saisonniers ou cycliques dans les données de CO2, ce qui peut avoir des implications significatives dans le domaine de la climatologie et de l'environnement. Assurez-vous de personnaliser le code en remplaçant 'CO2' par le nom de la colonne réelle contenant les données de CO2 de votre ensemble de données." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fréquence dominante (période la plus importante) en années: inf\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:20: RuntimeWarning: divide by zero encountered in true_divide\n", "/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:27: RuntimeWarning: divide by zero encountered in double_scalars\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "dates = data[\" Yr\"] # Colonne des dates\n", "co2_concentration_series = data[\" CO2\"].astype(float) # Colonne de concentration de CO2 (avant ajustement saisonnier)\n", "\n", "# Appliquer la transformation de Fourier pour identifier les composantes périodiques\n", "co2_concentration = co2_concentration_series.values\n", "fourier_transform = np.fft.fft(co2_concentration)\n", "frequencies = np.fft.fftfreq(len(co2_concentration))\n", "amplitudes = np.abs(fourier_transform)\n", "\n", "# Trouver les fréquences dominantes (composantes périodiques)\n", "# Dans cet exemple, nous considérons les fréquences positives seulement (ignore les négatives)\n", "positive_frequencies = frequencies[:len(frequencies) // 2]\n", "positive_amplitudes = amplitudes[:len(amplitudes) // 2]\n", "\n", "# Identifier la fréquence dominante (correspondant à la période la plus importante)\n", "dominant_frequency = positive_frequencies[np.argmax(positive_amplitudes)]\n", "\n", "# Créer un graphique pour montrer les composantes périodiques\n", "plt.figure(figsize=(12, 6))\n", "plt.plot(1 / positive_frequencies, positive_amplitudes) # Période au lieu de fréquence\n", "plt.title(\"Composantes Périodiques de la Concentration de CO2\")\n", "plt.xlabel(\"Période (années)\")\n", "plt.ylabel(\"Amplitude\")\n", "plt.grid(True)\n", "\n", "# Afficher la fréquence dominante\n", "print(\"Fréquence dominante (période la plus importante) en années:\", 1 / dominant_frequency)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Extrayez les colonnes \"dates\" et \"saison\"\n", "dates = data[' Yr']\n", "saison = data['seasonally']\n", "\n", "# Créez un graphique avec les données\n", "plt.figure(figsize=(10, 6))\n", "plt.plot(dates, saison, label='Saison', color='blue')\n", "plt.title('Évolution de la Saison au Fil du Temps')\n", "plt.xlabel('Dates')\n", "plt.ylabel('Saison')\n", "plt.legend()\n", "plt.grid(True)\n", "\n", "# Affichez le graphique\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "to assemble mappings requires at least that [year, month, day] be specified: [month,year] is missing", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0massign\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mJr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;31m# Créez une colonne de date en combinant Year et Month\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Date'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_datetime\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m' Yr'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m' Mn'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Jr'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0massign\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mday\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;31m# Supprimez les colonnes Year et Month si nécessaire\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/tools/datetimes.py\u001b[0m in \u001b[0;36mto_datetime\u001b[0;34m(arg, errors, dayfirst, yearfirst, utc, box, format, exact, unit, infer_datetime_format, origin)\u001b[0m\n\u001b[1;32m 374\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSeries\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 375\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mABCDataFrame\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mMutableMapping\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 376\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_assemble_from_unit_mappings\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0merrors\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 377\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mABCIndexClass\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 378\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_convert_listlike\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbox\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mformat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/tools/datetimes.py\u001b[0m in \u001b[0;36m_assemble_from_unit_mappings\u001b[0;34m(arg, errors)\u001b[0m\n\u001b[1;32m 453\u001b[0m raise ValueError(\"to assemble mappings requires at least that \"\n\u001b[1;32m 454\u001b[0m \u001b[0;34m\"[year, month, day] be specified: [{required}] \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 455\u001b[0;31m \"is missing\".format(required=','.join(req)))\n\u001b[0m\u001b[1;32m 456\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 457\u001b[0m \u001b[0;31m# keys we don't recognize\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: to assemble mappings requires at least that [year, month, day] be specified: [month,year] is missing" ] } ], "source": [ "#question2\n", "from statsmodels.tsa.seasonal import seasonal_decompose\n", "data = data.assign(Jr=1)\n", "# Créez une colonne de date en combinant Year et Month\n", "data['Date'] = pd.to_datetime(data[[' Yr', ' Mn', 'Jr']].assign(day=1))\n", "\n", "# Supprimez les colonnes Year et Month si nécessaire\n", "data = data.drop([' Yr', ' Mn', 'Jr'], axis=1)\n", "\n", "# Assurez-vous que 'Date' est un objet DateTime pour définir la fréquence\n", "data['Date'] = pd.to_datetime(data['Date'])\n", "\n", "# Décomposez les données en tendance, saisonnalité et résidus en spécifiant la fréquence\n", "decomposition = seasonal_decompose(data[' CO2'], model='additive', freq=12) # Ici, 'freq=12' indique une fréquence mensuelle\n", "\n", "# Extraire la tendance, la saisonnalité et les résidus\n", "tendance = decomposition.trend\n", "saisonnalite = decomposition.seasonal\n", "residus = decomposition.resid\n", "\n", "\n", "\n", "# Tracer les composantes\n", "plt.figure(figsize=(12, 6))\n", "plt.subplot(411)\n", "plt.plot(data[' Yr'], data[' CO2'], label='Données originales')\n", "plt.legend()\n", "plt.subplot(412)\n", "plt.plot(data[' Yr'], tendance, label='Tendance')\n", "plt.legend()\n", "plt.subplot(413)\n", "plt.plot(data[' Yr'], saisonnalite, label='Saisonnalité')\n", "plt.legend()\n", "plt.subplot(414)\n", "plt.plot(data[' Yr'], residus, label='Résidus')\n", "plt.legend()\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#question3\n", "from sklearn.linear_model import LinearRegression\n", "\n", "# Créer un modèle de régression linéaire\n", "regression = LinearRegression()\n", "\n", "# Ajuster le modèle aux données de tendance\n", "regression.fit(data['Date'].values.reshape(-1, 1), data['CO2'])\n", "\n", "# Obtenir les paramètres du modèle\n", "pente = regression.coef_\n", "intercept = regression.intercept_\n", "\n", "# Extrapoler les valeurs jusqu'en 2025\n", "annee_2025 = 2025\n", "co2_2025 = regression.predict([[annee_2025]])[0]\n", "\n", "# Afficher les résultats\n", "print(f\"Équation de la régression linéaire : CO2 = {pente[0]} * Année + {intercept}\")\n", "print(f\"Concentration de CO2 estimée pour 2025 : {co2_2025} ppm\")\n" ] } ], "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 }