diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb index 0bbbe371b01e359e381e43239412d77bf53fb1fb..fe6605b0e39adc5da9c41cd52105f5dd55c06093 100644 --- a/module3/exo3/exercice.ipynb +++ b/module3/exo3/exercice.ipynb @@ -1,5 +1,962 @@ { - "cells": [], + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Suivis de l'évolution de la concentration en CO2 atmosphérique " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Sujet 1 " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Les données de concentration en CO2 atmosphérique sont issue de l'observatoire de Mauna Loa à partir de leur [site](https://scrippsco2.ucsd.edu/data/atmospheric_co2/primary_mlo_co2_record.html), les données sont récupérées le 24/02/2021 pour réalisé les calculs suivants. " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline \n", + "import pandas as pd \n", + "import matplotlib.pyplot as plt \n", + "import isoweek " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "raw_data = pd.read_csv(\"https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/monthly/monthly_in_situ_co2_mlo.csv\", skiprows=2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Vérification que les données chargées soit bien les bonnes. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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.43316.19314.90315.70314.43
04212901958.2877317.45315.16317.30314.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.22315.86315.19
08214121958.6219314.93316.19313.99315.29314.93316.19
09214431958.7068313.21316.08312.46315.35313.21316.08
10214731958.7890-99.99-99.99312.43315.41312.43315.41
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.27315.63316.49315.86
03216241959.2027316.65315.37316.98315.69316.65315.37
04216551959.2877317.72315.41318.09315.77317.72315.41
05216851959.3699318.29315.48318.66315.85318.29315.48
06217161959.4548318.15316.03318.04315.94318.15316.03
07217461959.5370316.54315.87316.67316.03316.54315.87
08217771959.6219314.80316.07314.82316.12314.80316.07
09218081959.7068313.84316.73313.31316.22313.84316.73
10218381959.7890313.33316.33313.32316.31313.33316.33
11218691959.8740314.81316.69314.54316.39314.81316.69
12218991959.9562315.58316.35315.72316.47315.58316.35
196001219301960.0410316.43316.39316.61316.56316.43316.39
02219611960.1257316.98316.35317.28316.64316.98316.35
03219901960.2049317.58316.27318.03316.71317.58316.27
..............................
201907436612019.5370411.78410.97412.28411.50411.78410.97
08436922019.6219410.01411.55410.15411.72410.01411.55
09437232019.7068408.48411.98408.43411.94408.48411.98
10437532019.7890408.37411.99408.55412.16408.37411.99
11437842019.8740410.22412.49410.13412.38410.22412.49
12438142019.9562411.78412.71411.67412.58411.78412.71
202001438452020.0410413.31413.26412.86412.80413.31413.26
02438762020.1257414.02413.26413.77413.00414.02413.26
03439052020.2049414.44412.87414.79413.19414.44412.87
04439362020.2896416.11413.28416.24413.39416.11413.28
05439662020.3716417.10413.68417.00413.59417.10413.68
06439972020.4563416.23413.68416.33413.80416.23413.68
07440272020.5383414.42413.63414.75414.01414.42413.63
08440582020.6230412.52414.09412.61414.22412.52414.09
09440892020.7077411.19414.70410.91414.44411.19414.70
10441192020.7896411.15414.78411.04414.66411.15414.78
11441502020.8743412.88415.15412.64414.88412.88415.15
12441802020.9563413.89414.82414.19415.10413.89414.82
202101442112021.0411415.16415.11415.39415.33415.16415.11
02442422021.1260-99.99-99.99-99.99-99.99-99.99-99.99
03442702021.2027-99.99-99.99-99.99-99.99-99.99-99.99
04443012021.2877-99.99-99.99-99.99-99.99-99.99-99.99
05443312021.3699-99.99-99.99-99.99-99.99-99.99-99.99
06443622021.4548-99.99-99.99-99.99-99.99-99.99-99.99
07443922021.5370-99.99-99.99-99.99-99.99-99.99-99.99
08444232021.6219-99.99-99.99-99.99-99.99-99.99-99.99
09444542021.7068-99.99-99.99-99.99-99.99-99.99-99.99
10444842021.7890-99.99-99.99-99.99-99.99-99.99-99.99
11445152021.8740-99.99-99.99-99.99-99.99-99.99-99.99
12445452021.9562-99.99-99.99-99.99-99.99-99.99-99.99
\n", + "

771 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.43 316.19 314.90 315.70 314.43 \n", + " 04 21290 1958.2877 317.45 315.16 317.30 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.22 315.86 315.19 \n", + " 08 21412 1958.6219 314.93 316.19 313.99 315.29 314.93 316.19 \n", + " 09 21443 1958.7068 313.21 316.08 312.46 315.35 313.21 316.08 \n", + " 10 21473 1958.7890 -99.99 -99.99 312.43 315.41 312.43 315.41 \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.27 315.63 316.49 315.86 \n", + " 03 21624 1959.2027 316.65 315.37 316.98 315.69 316.65 315.37 \n", + " 04 21655 1959.2877 317.72 315.41 318.09 315.77 317.72 315.41 \n", + " 05 21685 1959.3699 318.29 315.48 318.66 315.85 318.29 315.48 \n", + " 06 21716 1959.4548 318.15 316.03 318.04 315.94 318.15 316.03 \n", + " 07 21746 1959.5370 316.54 315.87 316.67 316.03 316.54 315.87 \n", + " 08 21777 1959.6219 314.80 316.07 314.82 316.12 314.80 316.07 \n", + " 09 21808 1959.7068 313.84 316.73 313.31 316.22 313.84 316.73 \n", + " 10 21838 1959.7890 313.33 316.33 313.32 316.31 313.33 316.33 \n", + " 11 21869 1959.8740 314.81 316.69 314.54 316.39 314.81 316.69 \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.56 316.43 316.39 \n", + " 02 21961 1960.1257 316.98 316.35 317.28 316.64 316.98 316.35 \n", + " 03 21990 1960.2049 317.58 316.27 318.03 316.71 317.58 316.27 \n", + "... ... \n", + "2019 07 43661 2019.5370 411.78 410.97 412.28 411.50 411.78 410.97 \n", + " 08 43692 2019.6219 410.01 411.55 410.15 411.72 410.01 411.55 \n", + " 09 43723 2019.7068 408.48 411.98 408.43 411.94 408.48 411.98 \n", + " 10 43753 2019.7890 408.37 411.99 408.55 412.16 408.37 411.99 \n", + " 11 43784 2019.8740 410.22 412.49 410.13 412.38 410.22 412.49 \n", + " 12 43814 2019.9562 411.78 412.71 411.67 412.58 411.78 412.71 \n", + "2020 01 43845 2020.0410 413.31 413.26 412.86 412.80 413.31 413.26 \n", + " 02 43876 2020.1257 414.02 413.26 413.77 413.00 414.02 413.26 \n", + " 03 43905 2020.2049 414.44 412.87 414.79 413.19 414.44 412.87 \n", + " 04 43936 2020.2896 416.11 413.28 416.24 413.39 416.11 413.28 \n", + " 05 43966 2020.3716 417.10 413.68 417.00 413.59 417.10 413.68 \n", + " 06 43997 2020.4563 416.23 413.68 416.33 413.80 416.23 413.68 \n", + " 07 44027 2020.5383 414.42 413.63 414.75 414.01 414.42 413.63 \n", + " 08 44058 2020.6230 412.52 414.09 412.61 414.22 412.52 414.09 \n", + " 09 44089 2020.7077 411.19 414.70 410.91 414.44 411.19 414.70 \n", + " 10 44119 2020.7896 411.15 414.78 411.04 414.66 411.15 414.78 \n", + " 11 44150 2020.8743 412.88 415.15 412.64 414.88 412.88 415.15 \n", + " 12 44180 2020.9563 413.89 414.82 414.19 415.10 413.89 414.82 \n", + "2021 01 44211 2021.0411 415.16 415.11 415.39 415.33 415.16 415.11 \n", + " 02 44242 2021.1260 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + " 03 44270 2021.2027 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + " 04 44301 2021.2877 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + " 05 44331 2021.3699 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + " 06 44362 2021.4548 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + " 07 44392 2021.5370 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + " 08 44423 2021.6219 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + " 09 44454 2021.7068 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + " 10 44484 2021.7890 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + " 11 44515 2021.8740 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + " 12 44545 2021.9562 -99.99 -99.99 -99.99 -99.99 -99.99 -99.99 \n", + "\n", + "[771 rows x 1 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "raw_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "On vérifie qu'il n'y ai pas de ligne non renseigner " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "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", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [ ]\n", + "Index: []" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " raw_data[raw_data.isnull().any(axis=1)]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "ename": "KeyError", + "evalue": "'Excel'", + "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: 'Excel'", + "\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[0;34m'period'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mconvert_week\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0myw\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0myw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mraw_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Excel'\u001b[0m\u001b[0;34m]\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: 'Excel'" + ] + } + ], + "source": [ + "raw_data['period'] = [convert_week(yw) for yw in raw_data['Excel']]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +973,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 } -