{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Ré-échantillonnage du temps\n", "\n", "Apprenons à échantillonner des données de séries temporelles ! Cela sera utile plus tard dans le cours !" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Saisir les données\n", "# Une alternative plus rapide\n", "# df = pd.read_csv('time_data/walmart_stock.csv',index_col='Date')\n", "df = pd.read_csv('time_data/walmart_stock.csv')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Date Open High Low Close Volume Adj Close\n", "0 2012-01-03 59.970001 61.060001 59.869999 60.330002 12668800 52.619235\n", "1 2012-01-04 60.209999 60.349998 59.470001 59.709999 9593300 52.078475\n", "2 2012-01-05 59.349998 59.619999 58.369999 59.419998 12768200 51.825539\n", "3 2012-01-06 59.419998 59.450001 58.869999 59.000000 8069400 51.459220\n", "4 2012-01-09 59.029999 59.549999 58.919998 59.180000 6679300 51.616215" ], "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
DateOpenHighLowCloseVolumeAdj Close
02012-01-0359.97000161.06000159.86999960.3300021266880052.619235
12012-01-0460.20999960.34999859.47000159.709999959330052.078475
22012-01-0559.34999859.61999958.36999959.4199981276820051.825539
32012-01-0659.41999859.45000158.86999959.000000806940051.459220
42012-01-0959.02999959.54999958.91999859.180000667930051.616215
\n
" }, "metadata": {}, "execution_count": 4 } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Créer un index de date à partir de la colonne Date" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "df['Date'] = df['Date'].apply(pd.to_datetime)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Date Open High Low Close Volume Adj Close\n", "0 2012-01-03 59.970001 61.060001 59.869999 60.330002 12668800 52.619235\n", "1 2012-01-04 60.209999 60.349998 59.470001 59.709999 9593300 52.078475\n", "2 2012-01-05 59.349998 59.619999 58.369999 59.419998 12768200 51.825539\n", "3 2012-01-06 59.419998 59.450001 58.869999 59.000000 8069400 51.459220\n", "4 2012-01-09 59.029999 59.549999 58.919998 59.180000 6679300 51.616215" ], "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
DateOpenHighLowCloseVolumeAdj Close
02012-01-0359.97000161.06000159.86999960.3300021266880052.619235
12012-01-0460.20999960.34999859.47000159.709999959330052.078475
22012-01-0559.34999859.61999958.36999959.4199981276820051.825539
32012-01-0659.41999859.45000158.86999959.000000806940051.459220
42012-01-0959.02999959.54999958.91999859.180000667930051.616215
\n
" }, "metadata": {}, "execution_count": 6 } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "df.set_index('Date',inplace=True)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Open High Low Close Volume Adj Close\n", "Date \n", "2012-01-03 59.970001 61.060001 59.869999 60.330002 12668800 52.619235\n", "2012-01-04 60.209999 60.349998 59.470001 59.709999 9593300 52.078475\n", "2012-01-05 59.349998 59.619999 58.369999 59.419998 12768200 51.825539\n", "2012-01-06 59.419998 59.450001 58.869999 59.000000 8069400 51.459220\n", "2012-01-09 59.029999 59.549999 58.919998 59.180000 6679300 51.616215" ], "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
OpenHighLowCloseVolumeAdj Close
Date
2012-01-0359.97000161.06000159.86999960.3300021266880052.619235
2012-01-0460.20999960.34999859.47000159.709999959330052.078475
2012-01-0559.34999859.61999958.36999959.4199981276820051.825539
2012-01-0659.41999859.45000158.86999959.000000806940051.459220
2012-01-0959.02999959.54999958.91999859.180000667930051.616215
\n
" }, "metadata": {}, "execution_count": 8 } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## resample()\n", "\n", "Une opération courante avec les données de séries temporelles est la restructuration basée sur l'indice de série temporelle. Voyons comment utiliser la méthode resample().\n", "\n", "#### Toutes les possibilités" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
AliasDescription
Bbusiness day frequency
Ccustom business day frequency (experimental)
Dcalendar day frequency
Wweekly frequency
Mmonth end frequency
SMsemi-month end frequency (15th and end of month)
BMbusiness month end frequency
CBMcustom business month end frequency
MSmonth start frequency
SMSsemi-month start frequency (1st and 15th)
BMSbusiness month start frequency
CBMScustom business month start frequency
Qquarter end frequency
BQbusiness quarter endfrequency
QSquarter start frequency
BQSbusiness quarter start frequency
Ayear end frequency
BAbusiness year end frequency
ASyear start frequency
BASbusiness year start frequency
BHbusiness hour frequency
Hhourly frequency
T, minminutely frequency
Ssecondly frequency
L, msmilliseconds
U, usmicroseconds
Nnanoseconds
" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "DatetimeIndex(['2012-01-03', '2012-01-04', '2012-01-05', '2012-01-06',\n", " '2012-01-09', '2012-01-10', '2012-01-11', '2012-01-12',\n", " '2012-01-13', '2012-01-17',\n", " ...\n", " '2016-12-16', '2016-12-19', '2016-12-20', '2016-12-21',\n", " '2016-12-22', '2016-12-23', '2016-12-27', '2016-12-28',\n", " '2016-12-29', '2016-12-30'],\n", " dtype='datetime64[ns]', name='Date', length=1258, freq=None)" ] }, "metadata": {}, "execution_count": 9 } ], "source": [ "# Notre index\n", "df.index" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vous devez appeler **resample** avec le paramètre **rule**, puis vous devez appeler une fonction d'agrégation. En effet, à cause du rééchantillonnage, nous avons besoin d'une règle mathématique pour joindre les lignes entre elles (moyenne, somme, décompte, etc...)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Open High Low Close Volume \\\n", "Date \n", "2012-12-31 67.158680 67.602120 66.786520 67.215120 9.239015e+06 \n", "2013-12-31 75.264048 75.729405 74.843055 75.320516 6.951496e+06 \n", "2014-12-31 77.274524 77.740040 76.864405 77.327381 6.515612e+06 \n", "2015-12-31 72.569405 73.064167 72.034802 72.491111 9.040769e+06 \n", "2016-12-31 69.481349 70.019643 69.023492 69.547063 9.371645e+06 \n", "\n", " Adj Close \n", "Date \n", "2012-12-31 59.389349 \n", "2013-12-31 68.147179 \n", "2014-12-31 71.709712 \n", "2015-12-31 68.831426 \n", "2016-12-31 68.054229 " ], "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
OpenHighLowCloseVolumeAdj Close
Date
2012-12-3167.15868067.60212066.78652067.2151209.239015e+0659.389349
2013-12-3175.26404875.72940574.84305575.3205166.951496e+0668.147179
2014-12-3177.27452477.74004076.86440577.3273816.515612e+0671.709712
2015-12-3172.56940573.06416772.03480272.4911119.040769e+0668.831426
2016-12-3169.48134970.01964369.02349269.5470639.371645e+0668.054229
\n
" }, "metadata": {}, "execution_count": 10 } ], "source": [ "# Moyennes annuelles\n", "df.resample(rule='A').mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ré-échantillonnage personnalisé\n", "\n", "Vous pouvez également créer techniquement votre propre fonction de rééchantillonnage personnalisé:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def first_day(entry):\n", " \"\"\"\n", " Retourne la première instance de la période, \n", " quel que soit le taux d'échantillonnage.\n", " \"\"\"\n", " return entry[0]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Open High Low Close Volume Adj Close\n", "Date \n", "2012-12-31 59.970001 61.060001 59.869999 60.330002 12668800 52.619235\n", "2013-12-31 68.930000 69.239998 68.449997 69.239998 10390800 61.879708\n", "2014-12-31 78.720001 79.470001 78.500000 78.910004 6878000 72.254228\n", "2015-12-31 86.269997 86.720001 85.550003 85.900002 4501800 80.624861\n", "2016-12-31 60.500000 61.490002 60.360001 61.459999 11989200 59.289713" ], "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
OpenHighLowCloseVolumeAdj Close
Date
2012-12-3159.97000161.06000159.86999960.3300021266880052.619235
2013-12-3168.93000069.23999868.44999769.2399981039080061.879708
2014-12-3178.72000179.47000178.50000078.910004687800072.254228
2015-12-3186.26999786.72000185.55000385.900002450180080.624861
2016-12-3160.50000061.49000260.36000161.4599991198920059.289713
\n
" }, "metadata": {}, "execution_count": 12 } ], "source": [ "df.resample(rule='A').apply(first_day)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Text(0.5, 1.0, 'Yearly Mean Close Price for Walmart')" ] }, "metadata": {}, "execution_count": 13 }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n 2020-12-01T21:52:31.538551\r\n image/svg+xml\r\n \r\n \r\n Matplotlib v3.3.1, https://matplotlib.org/\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "df['Close'].resample('A').mean().plot(kind='bar')\n", "plt.title('Yearly Mean Close Price for Walmart')" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Text(0.5, 1.0, 'Monthly Max Opening Price for Walmart')" ] }, "metadata": {}, "execution_count": 14 }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n 2020-12-01T21:52:32.294825\r\n image/svg+xml\r\n \r\n \r\n Matplotlib v3.3.1, https://matplotlib.org/\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "df['Open'].resample('M').max().plot(kind='bar',figsize=(16,6))\n", "plt.title('Monthly Max Opening Price for Walmart')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Voilà! Prochain notebook, nous apprendrons les décalages de temps !" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "name": "python3", "display_name": "Python 3.7.9 64-bit ('pyfinance': conda)", "metadata": { "interpreter": { "hash": "e89404a230d8800c54ad520c7b67d1bd9bb833a07b37dd3e521a178a3dc34904" } } }, "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.7.9-final" } }, "nbformat": 4, "nbformat_minor": 1 }