{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Concentration de $CO_2$ dans l'atmosphère depuis 1958" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nous étudions l'évolution de la concentration de $CO_2$ dans l'atmosphère depuis 1958 à partir des données de l'[Institut Scripps](https://scrippsco2.ucsd.edu/data/atmospheric_co2/primary_mlo_co2_record.html). L'étude a été réalisée avec les données au 23 octobre 2020. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Chargement et pré-traitement du jeu de données" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On importe les librairies python adéquates pour étudier le jeu de données, disponible au format CSV." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le jeu de données sont récupérées sur le site de l'institut Scripps, les données recouvrent la période de janvier 1958 à décembre 2020." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "data_url = \"https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/monthly/monthly_in_situ_co2_mlo.csv\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Les 53 premières lignes sont une présentation du jeu de données, on les passe pour ne traiter que le jeu de données à proprement parler. Voici ci-dessous un extrait de ce jeu de données." ] }, { "cell_type": "code", "execution_count": 6, "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", "
YrMnDateDateCO2seasonallyfitseasonallyCO2seasonally
adjustedadjusted fitfilledadjusted filled
Excel[ppm][ppm][ppm][ppm][ppm][ppm]
195801212001958.0411-99.99-99.99-99.99-99.99-99.99-99.99
02212311958.1260-99.99-99.99-99.99-99.99-99.99-99.99
03212591958.2027315.70314.44316.18314.90315.70314.44
04212901958.2877317.45315.16317.29314.98317.45315.16
05213201958.3699317.51314.71317.86315.06317.51314.71
06213511958.4548-99.99-99.99317.24315.14317.24315.14
07213811958.5370315.86315.19315.86315.21315.86315.19
08214121958.6219314.93316.19313.99315.28314.93316.19
09214431958.7068313.21316.08312.45315.35313.21316.08
10214731958.7890-99.99-99.99312.43315.40312.43315.40
11215041958.8740313.33315.20313.61315.46313.33315.20
12215341958.9562314.67315.43314.76315.51314.67315.43
195901215651959.0411315.58315.54315.62315.57315.58315.54
02215961959.1260316.49315.86316.26315.63316.49315.86
03216241959.2027316.65315.38316.97315.69316.65315.38
04216551959.2877317.72315.42318.08315.76317.72315.42
05216851959.3699318.29315.49318.65315.84318.29315.49
06217161959.4548318.15316.03318.04315.93318.15316.03
07217461959.5370316.54315.86316.67316.02316.54315.86
08217771959.6219314.80316.06314.82316.12314.80316.06
09218081959.7068313.84316.73313.31316.21313.84316.73
10218381959.7890313.33316.33313.32316.30313.33316.33
11218691959.8740314.81316.68314.54316.39314.81316.68
12218991959.9562315.58316.35315.72316.47315.58316.35
196001219301960.0410316.43316.39316.61316.55316.43316.39
02219611960.1257316.98316.35317.27316.64316.98316.35
03219901960.2049317.58316.28318.02316.71317.58316.28
..............................
201807432962018.5370408.90408.08409.43408.65408.90408.08
08433272018.6219407.10408.63407.33408.90407.10408.63
09433582018.7068405.59409.08405.66409.18405.59409.08
10433882018.7890405.99409.61405.84409.44405.99409.61
11434192018.8740408.12410.38407.48409.72408.12410.38
12434492018.9562409.23410.15409.07409.98409.23410.15
201901434802019.0411410.92410.87410.30410.24410.92410.87
02435112019.1260411.66410.90411.25410.48411.66410.90
03435392019.2027412.00410.46412.25410.69412.00410.46
04435702019.2877413.52410.72413.73410.92413.52410.72
05436002019.3699414.83411.42414.54411.14414.83411.42
06436312019.4548413.96411.38413.91411.36413.96411.38
07436612019.5370411.85411.03412.36411.57411.85411.03
08436922019.6219410.08411.62410.22411.79410.08411.62
09437232019.7068408.55412.06408.49412.02408.55412.06
10437532019.7890408.43412.06408.62412.23408.43412.06
11437842019.8740410.29412.56410.21412.46410.29412.56
12438142019.9562411.85412.78411.76412.67411.85412.78
202001438452020.0410413.37413.32412.95412.89413.37413.32
02438762020.1257414.09413.33413.87413.10414.09413.33
03439052020.2049414.51412.94414.89413.30414.51412.94
04439362020.2896416.18413.35416.35413.50416.18413.35
05439662020.3716417.16413.75-99.99-99.99417.16413.75
06439972020.4563-99.99-99.99-99.99-99.99-99.99-99.99
07440272020.5383-99.99-99.99-99.99-99.99-99.99-99.99
08440582020.6230-99.99-99.99-99.99-99.99-99.99-99.99
09440892020.7077-99.99-99.99-99.99-99.99-99.99-99.99
10441192020.7896-99.99-99.99-99.99-99.99-99.99-99.99
11441502020.8743-99.99-99.99-99.99-99.99-99.99-99.99
12441802020.9563-99.99-99.99-99.99-99.99-99.99-99.99
\n", "

759 rows × 1 columns

\n", "
" ], "text/plain": [ " \n", " Yr Mn Date Date CO2 seasonally fit seasonally CO2 seasonally \n", " adjusted adjusted fit filled adjusted filled \n", " Excel [ppm] [ppm] [ppm] [ppm] [ppm] [ppm] \n", "1958 01 21200 1958.0411 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", " 02 21231 1958.1260 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", " 03 21259 1958.2027 315.70 314.44 316.18 314.90 315.70 314.44 \n", " 04 21290 1958.2877 317.45 315.16 317.29 314.98 317.45 315.16 \n", " 05 21320 1958.3699 317.51 314.71 317.86 315.06 317.51 314.71 \n", " 06 21351 1958.4548 -99.99 -99.99 317.24 315.14 317.24 315.14 \n", " 07 21381 1958.5370 315.86 315.19 315.86 315.21 315.86 315.19 \n", " 08 21412 1958.6219 314.93 316.19 313.99 315.28 314.93 316.19 \n", " 09 21443 1958.7068 313.21 316.08 312.45 315.35 313.21 316.08 \n", " 10 21473 1958.7890 -99.99 -99.99 312.43 315.40 312.43 315.40 \n", " 11 21504 1958.8740 313.33 315.20 313.61 315.46 313.33 315.20 \n", " 12 21534 1958.9562 314.67 315.43 314.76 315.51 314.67 315.43 \n", "1959 01 21565 1959.0411 315.58 315.54 315.62 315.57 315.58 315.54 \n", " 02 21596 1959.1260 316.49 315.86 316.26 315.63 316.49 315.86 \n", " 03 21624 1959.2027 316.65 315.38 316.97 315.69 316.65 315.38 \n", " 04 21655 1959.2877 317.72 315.42 318.08 315.76 317.72 315.42 \n", " 05 21685 1959.3699 318.29 315.49 318.65 315.84 318.29 315.49 \n", " 06 21716 1959.4548 318.15 316.03 318.04 315.93 318.15 316.03 \n", " 07 21746 1959.5370 316.54 315.86 316.67 316.02 316.54 315.86 \n", " 08 21777 1959.6219 314.80 316.06 314.82 316.12 314.80 316.06 \n", " 09 21808 1959.7068 313.84 316.73 313.31 316.21 313.84 316.73 \n", " 10 21838 1959.7890 313.33 316.33 313.32 316.30 313.33 316.33 \n", " 11 21869 1959.8740 314.81 316.68 314.54 316.39 314.81 316.68 \n", " 12 21899 1959.9562 315.58 316.35 315.72 316.47 315.58 316.35 \n", "1960 01 21930 1960.0410 316.43 316.39 316.61 316.55 316.43 316.39 \n", " 02 21961 1960.1257 316.98 316.35 317.27 316.64 316.98 316.35 \n", " 03 21990 1960.2049 317.58 316.28 318.02 316.71 317.58 316.28 \n", "... ... \n", "2018 07 43296 2018.5370 408.90 408.08 409.43 408.65 408.90 408.08 \n", " 08 43327 2018.6219 407.10 408.63 407.33 408.90 407.10 408.63 \n", " 09 43358 2018.7068 405.59 409.08 405.66 409.18 405.59 409.08 \n", " 10 43388 2018.7890 405.99 409.61 405.84 409.44 405.99 409.61 \n", " 11 43419 2018.8740 408.12 410.38 407.48 409.72 408.12 410.38 \n", " 12 43449 2018.9562 409.23 410.15 409.07 409.98 409.23 410.15 \n", "2019 01 43480 2019.0411 410.92 410.87 410.30 410.24 410.92 410.87 \n", " 02 43511 2019.1260 411.66 410.90 411.25 410.48 411.66 410.90 \n", " 03 43539 2019.2027 412.00 410.46 412.25 410.69 412.00 410.46 \n", " 04 43570 2019.2877 413.52 410.72 413.73 410.92 413.52 410.72 \n", " 05 43600 2019.3699 414.83 411.42 414.54 411.14 414.83 411.42 \n", " 06 43631 2019.4548 413.96 411.38 413.91 411.36 413.96 411.38 \n", " 07 43661 2019.5370 411.85 411.03 412.36 411.57 411.85 411.03 \n", " 08 43692 2019.6219 410.08 411.62 410.22 411.79 410.08 411.62 \n", " 09 43723 2019.7068 408.55 412.06 408.49 412.02 408.55 412.06 \n", " 10 43753 2019.7890 408.43 412.06 408.62 412.23 408.43 412.06 \n", " 11 43784 2019.8740 410.29 412.56 410.21 412.46 410.29 412.56 \n", " 12 43814 2019.9562 411.85 412.78 411.76 412.67 411.85 412.78 \n", "2020 01 43845 2020.0410 413.37 413.32 412.95 412.89 413.37 413.32 \n", " 02 43876 2020.1257 414.09 413.33 413.87 413.10 414.09 413.33 \n", " 03 43905 2020.2049 414.51 412.94 414.89 413.30 414.51 412.94 \n", " 04 43936 2020.2896 416.18 413.35 416.35 413.50 416.18 413.35 \n", " 05 43966 2020.3716 417.16 413.75 -99.99 -99.99 417.16 413.75 \n", " 06 43997 2020.4563 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", " 07 44027 2020.5383 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", " 08 44058 2020.6230 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", " 09 44089 2020.7077 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", " 10 44119 2020.7896 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", " 11 44150 2020.8743 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", " 12 44180 2020.9563 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", "\n", "[759 rows x 1 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data = pd.read_csv(data_url, skiprows=53)\n", "raw_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On vérifie qu'il n'y a pas de données manquantes" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "'CO2'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2524\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2525\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2526\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: 'CO2'", "\nDuring handling of the above exception, another exception occurred:\n", "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mraw_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mraw_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'CO2'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m99.99\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2137\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2138\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2139\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2140\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2141\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\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/frame.py\u001b[0m in \u001b[0;36m_getitem_column\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2144\u001b[0m \u001b[0;31m# get column\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2145\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2146\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_item_cache\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2147\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2148\u001b[0m \u001b[0;31m# duplicate columns & possible reduce dimensionality\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/generic.py\u001b[0m in \u001b[0;36m_get_item_cache\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 1840\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1841\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1842\u001b[0;31m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1843\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_box_item_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1844\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/pandas/core/internals.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, item, fastpath)\u001b[0m\n\u001b[1;32m 3841\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3842\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3843\u001b[0;31m \u001b[0mloc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3844\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3845\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0misna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m)\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/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2525\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2526\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2527\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\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 2528\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2529\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: 'CO2'" ] } ], "source": [ "raw_data[raw_data['CO2'] == -99.99]" ] }, { "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 }