{ "cells": [ { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "# Estimation de la latence et de la capacité d’une connexion à partir de mesures asymétriques" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import isoweek\n", "import gzip\n", "import re as re\n", "from sklearn.linear_model import LinearRegression\n" ] }, { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "## Importation des données" ] }, { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "Deux jeux de données proviennent de connexions internet, permettent d'estimer la latence et la capacité associées. Une copie locale des données est effectuée." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [], "source": [ "data_url_1=\"http://mescal.imag.fr/membres/arnaud.legrand/teaching/2014/RICM4_EP_ping/liglab2.log.gz\"\n", "data_url_2=\"http://mescal.imag.fr/membres/arnaud.legrand/teaching/2014/RICM4_EP_ping/stackoverflow.log.gz\"\n", "\n", "data_file_1_gz = \"connexion_internet_1.gz\"\n", "data_file_2_gz = \"connexion_internet_2.gz\"\n", "\n", "import os\n", "import urllib.request\n", "if not os.path.exists(data_file_1_gz):\n", " urllib.request.urlretrieve(data_url_1, data_file_1_gz)\n", " \n", "if not os.path.exists(data_file_2_gz):\n", " urllib.request.urlretrieve(data_url_2, data_file_2_gz)\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Data set 1" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [], "source": [ "with gzip.open(data_file_1_gz) as f:\n", " file_content = f.read()\n", "f = open(\"data_file_1.txt\", \"w\")\n", "f.write(file_content.decode(\"utf-8\") )\n", "f.close()\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "hideCode": true, "hidePrompt": true }, "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", "
0123456789
0[1421761682.052172]665bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=22.5ms
1[1421761682.277315]1373bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=21.2ms
2[1421761682.502054]262bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=21.2ms
3[1421761682.729257]1107bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=23.3ms
4[1421761682.934648]1128bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.41ms
5[1421761683.160397]489bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=21.9ms
6[1421761683.443055]1759bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=78.7ms
7[1421761683.672157]1146bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=25.1ms
8[1421761683.899933]884bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=24.0ms
9[1421761684.122687]1422bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=19.5ms
10[1421761684.344135]1180bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=18.0ms
11[1421761684.566271]999bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=18.8ms
12[1421761684.770828]21bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
13[1421761684.998504]1020bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=24.3ms
14[1421761685.205172]71bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=3.45ms
15[1421761685.414106]34bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=5.85ms
16[1421761685.620117]1843bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.31ms
17[1421761685.824949]407bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.14ms
18[1421761686.029177]356bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.10ms
19[1421761686.234464]1511bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.18ms
20[1421761686.438772]587bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.27ms
21[1421761686.643208]809bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.33ms
22[1421761686.848323]1364bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.51ms
23[1421761687.053400]1153bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.44ms
24[1421761687.257704]853bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.30ms
25[1421761687.463275]1510bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.17ms
26[1421761687.668423]123bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.21ms
27[1421761687.874230]1966bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.20ms
28[1421761688.078667]933bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.34ms
29[1421761688.283655]922bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.42ms
.................................
44383[1421771180.743715]1772bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=28.8ms
44384[1421771180.949053]41bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.14ms
44385[1421771181.155685]1944bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.32ms
44386[1421771181.362095]400bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.98ms
44387[1421771181.569409]226bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=3.01ms
44388[1421771181.780805]466bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=7.45ms
44389[1421771181.998869]350bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=13.5ms
44390[1421771182.248969]1829bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=45.9ms
44391[1421771182.512386]1954bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=58.5ms
44392[1421771182.717961]1074bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.45ms
44393[1421771182.923292]46bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.11ms
44394[1421771183.129965]1844bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.26ms
44395[1421771183.335449]645bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.24ms
44396[1421771183.540901]444bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.25ms
44397[1421771183.747983]1940bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.46ms
44398[1421771183.954099]1411bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.47ms
44399[1421771184.159879]49bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.21ms
44400[1421771184.365815]420bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.55ms
44401[1421771184.571516]227bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.22ms
44402[1421771184.777325]947bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.34ms
44403[1421771184.983905]1960bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.43ms
44404[1421771185.188976]531bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.19ms
44405[1421771185.394275]374bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.14ms
44406[1421771185.600745]1503bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.19ms
44407[1421771185.805877]572bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.29ms
44408[1421771186.011910]1338bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.47ms
44409[1421771186.222729]1515bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=7.02ms
44410[1421771186.429007]1875bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.33ms
44411[1421771186.634747]1006bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.61ms
44412[1421771186.840222]1273bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.35ms
\n", "

44413 rows × 10 columns

\n", "
" ], "text/plain": [ " 0 1 2 3 4 \\\n", "0 [1421761682.052172] 665 bytes from lig-publig.imag.fr \n", "1 [1421761682.277315] 1373 bytes from lig-publig.imag.fr \n", "2 [1421761682.502054] 262 bytes from lig-publig.imag.fr \n", "3 [1421761682.729257] 1107 bytes from lig-publig.imag.fr \n", "4 [1421761682.934648] 1128 bytes from lig-publig.imag.fr \n", "5 [1421761683.160397] 489 bytes from lig-publig.imag.fr \n", "6 [1421761683.443055] 1759 bytes from lig-publig.imag.fr \n", "7 [1421761683.672157] 1146 bytes from lig-publig.imag.fr \n", "8 [1421761683.899933] 884 bytes from lig-publig.imag.fr \n", "9 [1421761684.122687] 1422 bytes from lig-publig.imag.fr \n", "10 [1421761684.344135] 1180 bytes from lig-publig.imag.fr \n", "11 [1421761684.566271] 999 bytes from lig-publig.imag.fr \n", "12 [1421761684.770828] 21 bytes from lig-publig.imag.fr \n", "13 [1421761684.998504] 1020 bytes from lig-publig.imag.fr \n", "14 [1421761685.205172] 71 bytes from lig-publig.imag.fr \n", "15 [1421761685.414106] 34 bytes from lig-publig.imag.fr \n", "16 [1421761685.620117] 1843 bytes from lig-publig.imag.fr \n", "17 [1421761685.824949] 407 bytes from lig-publig.imag.fr \n", "18 [1421761686.029177] 356 bytes from lig-publig.imag.fr \n", "19 [1421761686.234464] 1511 bytes from lig-publig.imag.fr \n", "20 [1421761686.438772] 587 bytes from lig-publig.imag.fr \n", "21 [1421761686.643208] 809 bytes from lig-publig.imag.fr \n", "22 [1421761686.848323] 1364 bytes from lig-publig.imag.fr \n", "23 [1421761687.053400] 1153 bytes from lig-publig.imag.fr \n", "24 [1421761687.257704] 853 bytes from lig-publig.imag.fr \n", "25 [1421761687.463275] 1510 bytes from lig-publig.imag.fr \n", "26 [1421761687.668423] 123 bytes from lig-publig.imag.fr \n", "27 [1421761687.874230] 1966 bytes from lig-publig.imag.fr \n", "28 [1421761688.078667] 933 bytes from lig-publig.imag.fr \n", "29 [1421761688.283655] 922 bytes from lig-publig.imag.fr \n", "... ... ... ... ... ... \n", "44383 [1421771180.743715] 1772 bytes from lig-publig.imag.fr \n", "44384 [1421771180.949053] 41 bytes from lig-publig.imag.fr \n", "44385 [1421771181.155685] 1944 bytes from lig-publig.imag.fr \n", "44386 [1421771181.362095] 400 bytes from lig-publig.imag.fr \n", "44387 [1421771181.569409] 226 bytes from lig-publig.imag.fr \n", "44388 [1421771181.780805] 466 bytes from lig-publig.imag.fr \n", "44389 [1421771181.998869] 350 bytes from lig-publig.imag.fr \n", "44390 [1421771182.248969] 1829 bytes from lig-publig.imag.fr \n", "44391 [1421771182.512386] 1954 bytes from lig-publig.imag.fr \n", "44392 [1421771182.717961] 1074 bytes from lig-publig.imag.fr \n", "44393 [1421771182.923292] 46 bytes from lig-publig.imag.fr \n", "44394 [1421771183.129965] 1844 bytes from lig-publig.imag.fr \n", "44395 [1421771183.335449] 645 bytes from lig-publig.imag.fr \n", "44396 [1421771183.540901] 444 bytes from lig-publig.imag.fr \n", "44397 [1421771183.747983] 1940 bytes from lig-publig.imag.fr \n", "44398 [1421771183.954099] 1411 bytes from lig-publig.imag.fr \n", "44399 [1421771184.159879] 49 bytes from lig-publig.imag.fr \n", "44400 [1421771184.365815] 420 bytes from lig-publig.imag.fr \n", "44401 [1421771184.571516] 227 bytes from lig-publig.imag.fr \n", "44402 [1421771184.777325] 947 bytes from lig-publig.imag.fr \n", "44403 [1421771184.983905] 1960 bytes from lig-publig.imag.fr \n", "44404 [1421771185.188976] 531 bytes from lig-publig.imag.fr \n", "44405 [1421771185.394275] 374 bytes from lig-publig.imag.fr \n", "44406 [1421771185.600745] 1503 bytes from lig-publig.imag.fr \n", "44407 [1421771185.805877] 572 bytes from lig-publig.imag.fr \n", "44408 [1421771186.011910] 1338 bytes from lig-publig.imag.fr \n", "44409 [1421771186.222729] 1515 bytes from lig-publig.imag.fr \n", "44410 [1421771186.429007] 1875 bytes from lig-publig.imag.fr \n", "44411 [1421771186.634747] 1006 bytes from lig-publig.imag.fr \n", "44412 [1421771186.840222] 1273 bytes from lig-publig.imag.fr \n", "\n", " 5 6 7 8 9 \n", "0 (129.88.11.7): icmp_seq=1 ttl=60 time=22.5 ms \n", "1 (129.88.11.7): icmp_seq=1 ttl=60 time=21.2 ms \n", "2 (129.88.11.7): icmp_seq=1 ttl=60 time=21.2 ms \n", "3 (129.88.11.7): icmp_seq=1 ttl=60 time=23.3 ms \n", "4 (129.88.11.7): icmp_seq=1 ttl=60 time=1.41 ms \n", "5 (129.88.11.7): icmp_seq=1 ttl=60 time=21.9 ms \n", "6 (129.88.11.7): icmp_seq=1 ttl=60 time=78.7 ms \n", "7 (129.88.11.7): icmp_seq=1 ttl=60 time=25.1 ms \n", "8 (129.88.11.7): icmp_seq=1 ttl=60 time=24.0 ms \n", "9 (129.88.11.7): icmp_seq=1 ttl=60 time=19.5 ms \n", "10 (129.88.11.7): icmp_seq=1 ttl=60 time=18.0 ms \n", "11 (129.88.11.7): icmp_seq=1 ttl=60 time=18.8 ms \n", "12 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "13 (129.88.11.7): icmp_seq=1 ttl=60 time=24.3 ms \n", "14 (129.88.11.7): icmp_seq=1 ttl=60 time=3.45 ms \n", "15 (129.88.11.7): icmp_seq=1 ttl=60 time=5.85 ms \n", "16 (129.88.11.7): icmp_seq=1 ttl=60 time=2.31 ms \n", "17 (129.88.11.7): icmp_seq=1 ttl=60 time=1.14 ms \n", "18 (129.88.11.7): icmp_seq=1 ttl=60 time=1.10 ms \n", "19 (129.88.11.7): icmp_seq=1 ttl=60 time=2.18 ms \n", "20 (129.88.11.7): icmp_seq=1 ttl=60 time=1.27 ms \n", "21 (129.88.11.7): icmp_seq=1 ttl=60 time=1.33 ms \n", "22 (129.88.11.7): icmp_seq=1 ttl=60 time=1.51 ms \n", "23 (129.88.11.7): icmp_seq=1 ttl=60 time=1.44 ms \n", "24 (129.88.11.7): icmp_seq=1 ttl=60 time=1.30 ms \n", "25 (129.88.11.7): icmp_seq=1 ttl=60 time=2.17 ms \n", "26 (129.88.11.7): icmp_seq=1 ttl=60 time=1.21 ms \n", "27 (129.88.11.7): icmp_seq=1 ttl=60 time=2.20 ms \n", "28 (129.88.11.7): icmp_seq=1 ttl=60 time=1.34 ms \n", "29 (129.88.11.7): icmp_seq=1 ttl=60 time=1.42 ms \n", "... ... ... ... ... ... \n", "44383 (129.88.11.7): icmp_seq=1 ttl=60 time=28.8 ms \n", "44384 (129.88.11.7): icmp_seq=1 ttl=60 time=1.14 ms \n", "44385 (129.88.11.7): icmp_seq=1 ttl=60 time=2.32 ms \n", "44386 (129.88.11.7): icmp_seq=1 ttl=60 time=1.98 ms \n", "44387 (129.88.11.7): icmp_seq=1 ttl=60 time=3.01 ms \n", "44388 (129.88.11.7): icmp_seq=1 ttl=60 time=7.45 ms \n", "44389 (129.88.11.7): icmp_seq=1 ttl=60 time=13.5 ms \n", "44390 (129.88.11.7): icmp_seq=1 ttl=60 time=45.9 ms \n", "44391 (129.88.11.7): icmp_seq=1 ttl=60 time=58.5 ms \n", "44392 (129.88.11.7): icmp_seq=1 ttl=60 time=1.45 ms \n", "44393 (129.88.11.7): icmp_seq=1 ttl=60 time=1.11 ms \n", "44394 (129.88.11.7): icmp_seq=1 ttl=60 time=2.26 ms \n", "44395 (129.88.11.7): icmp_seq=1 ttl=60 time=1.24 ms \n", "44396 (129.88.11.7): icmp_seq=1 ttl=60 time=1.25 ms \n", "44397 (129.88.11.7): icmp_seq=1 ttl=60 time=2.46 ms \n", "44398 (129.88.11.7): icmp_seq=1 ttl=60 time=1.47 ms \n", "44399 (129.88.11.7): icmp_seq=1 ttl=60 time=1.21 ms \n", "44400 (129.88.11.7): icmp_seq=1 ttl=60 time=1.55 ms \n", "44401 (129.88.11.7): icmp_seq=1 ttl=60 time=1.22 ms \n", "44402 (129.88.11.7): icmp_seq=1 ttl=60 time=1.34 ms \n", "44403 (129.88.11.7): icmp_seq=1 ttl=60 time=2.43 ms \n", "44404 (129.88.11.7): icmp_seq=1 ttl=60 time=1.19 ms \n", "44405 (129.88.11.7): icmp_seq=1 ttl=60 time=1.14 ms \n", "44406 (129.88.11.7): icmp_seq=1 ttl=60 time=2.19 ms \n", "44407 (129.88.11.7): icmp_seq=1 ttl=60 time=1.29 ms \n", "44408 (129.88.11.7): icmp_seq=1 ttl=60 time=1.47 ms \n", "44409 (129.88.11.7): icmp_seq=1 ttl=60 time=7.02 ms \n", "44410 (129.88.11.7): icmp_seq=1 ttl=60 time=2.33 ms \n", "44411 (129.88.11.7): icmp_seq=1 ttl=60 time=1.61 ms \n", "44412 (129.88.11.7): icmp_seq=1 ttl=60 time=1.35 ms \n", "\n", "[44413 rows x 10 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data_1 = pd.read_csv(\"data_file_1.txt\",sep=' ',header=None)\n", "raw_data_1" ] }, { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "On repère les lignes où les données sont incomplètes" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "hideCode": true, "hidePrompt": true }, "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", "
0123456789
12[1421761684.770828]21bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
116[1421761706.146320]9bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
314[1421761748.647974]9bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
508[1421761788.500516]9bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
590[1421761805.331125]18bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
647[1421761817.308839]18bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
1087[1421761907.694059]18bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
1091[1421761908.512826]13bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
1131[1421761916.713419]20bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
1153[1421761921.229704]21bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
1350[1421761962.174859]15bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
1542[1421762001.590195]17bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
1691[1421762032.199394]19bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
1765[1421762047.397821]9bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
1957[1421762088.369820]21bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
2099[1421762117.516869]8bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
2182[1421762134.551193]23bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
2209[1421762140.101009]10bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
2455[1421762191.278531]21bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
2478[1421762196.022695]16bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
2722[1421762246.169992]19bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
2734[1421762248.634005]21bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
3042[1421762311.874238]10bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
3064[1421762316.560968]9bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
3185[1421762342.293065]22bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
3222[1421762349.889838]10bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
3318[1421762369.740243]10bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
3333[1421762372.892510]10bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
3494[1421762406.232258]8bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
3689[1421762447.771797]9bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
.................................
39760[1421770202.098919]14bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
39929[1421770236.857197]22bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
40039[1421770260.878994]22bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
40398[1421770347.170294]12bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
40659[1421770401.425936]8bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
40704[1421770410.677288]20bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
40882[1421770447.286588]15bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
41276[1421770528.785624]12bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
41421[1421770558.624793]16bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
41494[1421770573.778775]22bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
41689[1421770614.039516]15bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
41833[1421770643.752354]17bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42094[1421770697.673096]10bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42119[1421770702.820645]21bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42165[1421770712.292955]18bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42171[1421770713.526885]9bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42216[1421770722.770927]17bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42290[1421770737.986337]17bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42391[1421770758.905166]17bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42440[1421770768.998916]14bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42648[1421770811.776268]19bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42772[1421770837.307423]17bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
42964[1421770877.106153]15bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
43267[1421770939.684446]11bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
43570[1421771013.105688]23bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
43730[1421771046.094241]14bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
43985[1421771098.507878]12bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
44024[1421771106.522134]8bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
44170[1421771136.918078]8bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
44359[1421771175.771771]23bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60NaNNaN
\n", "

377 rows × 10 columns

\n", "
" ], "text/plain": [ " 0 1 2 3 4 \\\n", "12 [1421761684.770828] 21 bytes from lig-publig.imag.fr \n", "116 [1421761706.146320] 9 bytes from lig-publig.imag.fr \n", "314 [1421761748.647974] 9 bytes from lig-publig.imag.fr \n", "508 [1421761788.500516] 9 bytes from lig-publig.imag.fr \n", "590 [1421761805.331125] 18 bytes from lig-publig.imag.fr \n", "647 [1421761817.308839] 18 bytes from lig-publig.imag.fr \n", "1087 [1421761907.694059] 18 bytes from lig-publig.imag.fr \n", "1091 [1421761908.512826] 13 bytes from lig-publig.imag.fr \n", "1131 [1421761916.713419] 20 bytes from lig-publig.imag.fr \n", "1153 [1421761921.229704] 21 bytes from lig-publig.imag.fr \n", "1350 [1421761962.174859] 15 bytes from lig-publig.imag.fr \n", "1542 [1421762001.590195] 17 bytes from lig-publig.imag.fr \n", "1691 [1421762032.199394] 19 bytes from lig-publig.imag.fr \n", "1765 [1421762047.397821] 9 bytes from lig-publig.imag.fr \n", "1957 [1421762088.369820] 21 bytes from lig-publig.imag.fr \n", "2099 [1421762117.516869] 8 bytes from lig-publig.imag.fr \n", "2182 [1421762134.551193] 23 bytes from lig-publig.imag.fr \n", "2209 [1421762140.101009] 10 bytes from lig-publig.imag.fr \n", "2455 [1421762191.278531] 21 bytes from lig-publig.imag.fr \n", "2478 [1421762196.022695] 16 bytes from lig-publig.imag.fr \n", "2722 [1421762246.169992] 19 bytes from lig-publig.imag.fr \n", "2734 [1421762248.634005] 21 bytes from lig-publig.imag.fr \n", "3042 [1421762311.874238] 10 bytes from lig-publig.imag.fr \n", "3064 [1421762316.560968] 9 bytes from lig-publig.imag.fr \n", "3185 [1421762342.293065] 22 bytes from lig-publig.imag.fr \n", "3222 [1421762349.889838] 10 bytes from lig-publig.imag.fr \n", "3318 [1421762369.740243] 10 bytes from lig-publig.imag.fr \n", "3333 [1421762372.892510] 10 bytes from lig-publig.imag.fr \n", "3494 [1421762406.232258] 8 bytes from lig-publig.imag.fr \n", "3689 [1421762447.771797] 9 bytes from lig-publig.imag.fr \n", "... ... .. ... ... ... \n", "39760 [1421770202.098919] 14 bytes from lig-publig.imag.fr \n", "39929 [1421770236.857197] 22 bytes from lig-publig.imag.fr \n", "40039 [1421770260.878994] 22 bytes from lig-publig.imag.fr \n", "40398 [1421770347.170294] 12 bytes from lig-publig.imag.fr \n", "40659 [1421770401.425936] 8 bytes from lig-publig.imag.fr \n", "40704 [1421770410.677288] 20 bytes from lig-publig.imag.fr \n", "40882 [1421770447.286588] 15 bytes from lig-publig.imag.fr \n", "41276 [1421770528.785624] 12 bytes from lig-publig.imag.fr \n", "41421 [1421770558.624793] 16 bytes from lig-publig.imag.fr \n", "41494 [1421770573.778775] 22 bytes from lig-publig.imag.fr \n", "41689 [1421770614.039516] 15 bytes from lig-publig.imag.fr \n", "41833 [1421770643.752354] 17 bytes from lig-publig.imag.fr \n", "42094 [1421770697.673096] 10 bytes from lig-publig.imag.fr \n", "42119 [1421770702.820645] 21 bytes from lig-publig.imag.fr \n", "42165 [1421770712.292955] 18 bytes from lig-publig.imag.fr \n", "42171 [1421770713.526885] 9 bytes from lig-publig.imag.fr \n", "42216 [1421770722.770927] 17 bytes from lig-publig.imag.fr \n", "42290 [1421770737.986337] 17 bytes from lig-publig.imag.fr \n", "42391 [1421770758.905166] 17 bytes from lig-publig.imag.fr \n", "42440 [1421770768.998916] 14 bytes from lig-publig.imag.fr \n", "42648 [1421770811.776268] 19 bytes from lig-publig.imag.fr \n", "42772 [1421770837.307423] 17 bytes from lig-publig.imag.fr \n", "42964 [1421770877.106153] 15 bytes from lig-publig.imag.fr \n", "43267 [1421770939.684446] 11 bytes from lig-publig.imag.fr \n", "43570 [1421771013.105688] 23 bytes from lig-publig.imag.fr \n", "43730 [1421771046.094241] 14 bytes from lig-publig.imag.fr \n", "43985 [1421771098.507878] 12 bytes from lig-publig.imag.fr \n", "44024 [1421771106.522134] 8 bytes from lig-publig.imag.fr \n", "44170 [1421771136.918078] 8 bytes from lig-publig.imag.fr \n", "44359 [1421771175.771771] 23 bytes from lig-publig.imag.fr \n", "\n", " 5 6 7 8 9 \n", "12 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "116 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "314 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "508 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "590 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "647 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "1087 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "1091 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "1131 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "1153 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "1350 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "1542 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "1691 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "1765 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "1957 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "2099 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "2182 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "2209 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "2455 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "2478 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "2722 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "2734 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "3042 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "3064 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "3185 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "3222 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "3318 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "3333 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "3494 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "3689 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "... ... ... ... ... ... \n", "39760 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "39929 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "40039 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "40398 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "40659 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "40704 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "40882 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "41276 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "41421 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "41494 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "41689 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "41833 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42094 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42119 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42165 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42171 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42216 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42290 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42391 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42440 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42648 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42772 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "42964 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "43267 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "43570 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "43730 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "43985 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "44024 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "44170 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "44359 (129.88.11.7): icmp_seq=1 ttl=60 NaN NaN \n", "\n", "[377 rows x 10 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data_1[raw_data_1.isnull().any(axis=1)]" ] }, { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "On retire les lignes associées à des données incomplètes" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "hideCode": true, "hidePrompt": true }, "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", "
0123456789
0[1421761682.052172]665bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=22.5ms
1[1421761682.277315]1373bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=21.2ms
2[1421761682.502054]262bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=21.2ms
3[1421761682.729257]1107bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=23.3ms
4[1421761682.934648]1128bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.41ms
5[1421761683.160397]489bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=21.9ms
6[1421761683.443055]1759bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=78.7ms
7[1421761683.672157]1146bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=25.1ms
8[1421761683.899933]884bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=24.0ms
9[1421761684.122687]1422bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=19.5ms
10[1421761684.344135]1180bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=18.0ms
11[1421761684.566271]999bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=18.8ms
13[1421761684.998504]1020bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=24.3ms
14[1421761685.205172]71bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=3.45ms
15[1421761685.414106]34bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=5.85ms
16[1421761685.620117]1843bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.31ms
17[1421761685.824949]407bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.14ms
18[1421761686.029177]356bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.10ms
19[1421761686.234464]1511bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.18ms
20[1421761686.438772]587bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.27ms
21[1421761686.643208]809bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.33ms
22[1421761686.848323]1364bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.51ms
23[1421761687.053400]1153bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.44ms
24[1421761687.257704]853bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.30ms
25[1421761687.463275]1510bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.17ms
26[1421761687.668423]123bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.21ms
27[1421761687.874230]1966bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.20ms
28[1421761688.078667]933bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.34ms
29[1421761688.283655]922bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.42ms
30[1421761688.488688]24bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.12ms
.................................
44383[1421771180.743715]1772bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=28.8ms
44384[1421771180.949053]41bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.14ms
44385[1421771181.155685]1944bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.32ms
44386[1421771181.362095]400bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.98ms
44387[1421771181.569409]226bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=3.01ms
44388[1421771181.780805]466bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=7.45ms
44389[1421771181.998869]350bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=13.5ms
44390[1421771182.248969]1829bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=45.9ms
44391[1421771182.512386]1954bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=58.5ms
44392[1421771182.717961]1074bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.45ms
44393[1421771182.923292]46bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.11ms
44394[1421771183.129965]1844bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.26ms
44395[1421771183.335449]645bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.24ms
44396[1421771183.540901]444bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.25ms
44397[1421771183.747983]1940bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.46ms
44398[1421771183.954099]1411bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.47ms
44399[1421771184.159879]49bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.21ms
44400[1421771184.365815]420bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.55ms
44401[1421771184.571516]227bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.22ms
44402[1421771184.777325]947bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.34ms
44403[1421771184.983905]1960bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.43ms
44404[1421771185.188976]531bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.19ms
44405[1421771185.394275]374bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.14ms
44406[1421771185.600745]1503bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.19ms
44407[1421771185.805877]572bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.29ms
44408[1421771186.011910]1338bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.47ms
44409[1421771186.222729]1515bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=7.02ms
44410[1421771186.429007]1875bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=2.33ms
44411[1421771186.634747]1006bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.61ms
44412[1421771186.840222]1273bytesfromlig-publig.imag.fr(129.88.11.7):icmp_seq=1ttl=60time=1.35ms
\n", "

44036 rows × 10 columns

\n", "
" ], "text/plain": [ " 0 1 2 3 4 \\\n", "0 [1421761682.052172] 665 bytes from lig-publig.imag.fr \n", "1 [1421761682.277315] 1373 bytes from lig-publig.imag.fr \n", "2 [1421761682.502054] 262 bytes from lig-publig.imag.fr \n", "3 [1421761682.729257] 1107 bytes from lig-publig.imag.fr \n", "4 [1421761682.934648] 1128 bytes from lig-publig.imag.fr \n", "5 [1421761683.160397] 489 bytes from lig-publig.imag.fr \n", "6 [1421761683.443055] 1759 bytes from lig-publig.imag.fr \n", "7 [1421761683.672157] 1146 bytes from lig-publig.imag.fr \n", "8 [1421761683.899933] 884 bytes from lig-publig.imag.fr \n", "9 [1421761684.122687] 1422 bytes from lig-publig.imag.fr \n", "10 [1421761684.344135] 1180 bytes from lig-publig.imag.fr \n", "11 [1421761684.566271] 999 bytes from lig-publig.imag.fr \n", "13 [1421761684.998504] 1020 bytes from lig-publig.imag.fr \n", "14 [1421761685.205172] 71 bytes from lig-publig.imag.fr \n", "15 [1421761685.414106] 34 bytes from lig-publig.imag.fr \n", "16 [1421761685.620117] 1843 bytes from lig-publig.imag.fr \n", "17 [1421761685.824949] 407 bytes from lig-publig.imag.fr \n", "18 [1421761686.029177] 356 bytes from lig-publig.imag.fr \n", "19 [1421761686.234464] 1511 bytes from lig-publig.imag.fr \n", "20 [1421761686.438772] 587 bytes from lig-publig.imag.fr \n", "21 [1421761686.643208] 809 bytes from lig-publig.imag.fr \n", "22 [1421761686.848323] 1364 bytes from lig-publig.imag.fr \n", "23 [1421761687.053400] 1153 bytes from lig-publig.imag.fr \n", "24 [1421761687.257704] 853 bytes from lig-publig.imag.fr \n", "25 [1421761687.463275] 1510 bytes from lig-publig.imag.fr \n", "26 [1421761687.668423] 123 bytes from lig-publig.imag.fr \n", "27 [1421761687.874230] 1966 bytes from lig-publig.imag.fr \n", "28 [1421761688.078667] 933 bytes from lig-publig.imag.fr \n", "29 [1421761688.283655] 922 bytes from lig-publig.imag.fr \n", "30 [1421761688.488688] 24 bytes from lig-publig.imag.fr \n", "... ... ... ... ... ... \n", "44383 [1421771180.743715] 1772 bytes from lig-publig.imag.fr \n", "44384 [1421771180.949053] 41 bytes from lig-publig.imag.fr \n", "44385 [1421771181.155685] 1944 bytes from lig-publig.imag.fr \n", "44386 [1421771181.362095] 400 bytes from lig-publig.imag.fr \n", "44387 [1421771181.569409] 226 bytes from lig-publig.imag.fr \n", "44388 [1421771181.780805] 466 bytes from lig-publig.imag.fr \n", "44389 [1421771181.998869] 350 bytes from lig-publig.imag.fr \n", "44390 [1421771182.248969] 1829 bytes from lig-publig.imag.fr \n", "44391 [1421771182.512386] 1954 bytes from lig-publig.imag.fr \n", "44392 [1421771182.717961] 1074 bytes from lig-publig.imag.fr \n", "44393 [1421771182.923292] 46 bytes from lig-publig.imag.fr \n", "44394 [1421771183.129965] 1844 bytes from lig-publig.imag.fr \n", "44395 [1421771183.335449] 645 bytes from lig-publig.imag.fr \n", "44396 [1421771183.540901] 444 bytes from lig-publig.imag.fr \n", "44397 [1421771183.747983] 1940 bytes from lig-publig.imag.fr \n", "44398 [1421771183.954099] 1411 bytes from lig-publig.imag.fr \n", "44399 [1421771184.159879] 49 bytes from lig-publig.imag.fr \n", "44400 [1421771184.365815] 420 bytes from lig-publig.imag.fr \n", "44401 [1421771184.571516] 227 bytes from lig-publig.imag.fr \n", "44402 [1421771184.777325] 947 bytes from lig-publig.imag.fr \n", "44403 [1421771184.983905] 1960 bytes from lig-publig.imag.fr \n", "44404 [1421771185.188976] 531 bytes from lig-publig.imag.fr \n", "44405 [1421771185.394275] 374 bytes from lig-publig.imag.fr \n", "44406 [1421771185.600745] 1503 bytes from lig-publig.imag.fr \n", "44407 [1421771185.805877] 572 bytes from lig-publig.imag.fr \n", "44408 [1421771186.011910] 1338 bytes from lig-publig.imag.fr \n", "44409 [1421771186.222729] 1515 bytes from lig-publig.imag.fr \n", "44410 [1421771186.429007] 1875 bytes from lig-publig.imag.fr \n", "44411 [1421771186.634747] 1006 bytes from lig-publig.imag.fr \n", "44412 [1421771186.840222] 1273 bytes from lig-publig.imag.fr \n", "\n", " 5 6 7 8 9 \n", "0 (129.88.11.7): icmp_seq=1 ttl=60 time=22.5 ms \n", "1 (129.88.11.7): icmp_seq=1 ttl=60 time=21.2 ms \n", "2 (129.88.11.7): icmp_seq=1 ttl=60 time=21.2 ms \n", "3 (129.88.11.7): icmp_seq=1 ttl=60 time=23.3 ms \n", "4 (129.88.11.7): icmp_seq=1 ttl=60 time=1.41 ms \n", "5 (129.88.11.7): icmp_seq=1 ttl=60 time=21.9 ms \n", "6 (129.88.11.7): icmp_seq=1 ttl=60 time=78.7 ms \n", "7 (129.88.11.7): icmp_seq=1 ttl=60 time=25.1 ms \n", "8 (129.88.11.7): icmp_seq=1 ttl=60 time=24.0 ms \n", "9 (129.88.11.7): icmp_seq=1 ttl=60 time=19.5 ms \n", "10 (129.88.11.7): icmp_seq=1 ttl=60 time=18.0 ms \n", "11 (129.88.11.7): icmp_seq=1 ttl=60 time=18.8 ms \n", "13 (129.88.11.7): icmp_seq=1 ttl=60 time=24.3 ms \n", "14 (129.88.11.7): icmp_seq=1 ttl=60 time=3.45 ms \n", "15 (129.88.11.7): icmp_seq=1 ttl=60 time=5.85 ms \n", "16 (129.88.11.7): icmp_seq=1 ttl=60 time=2.31 ms \n", "17 (129.88.11.7): icmp_seq=1 ttl=60 time=1.14 ms \n", "18 (129.88.11.7): icmp_seq=1 ttl=60 time=1.10 ms \n", "19 (129.88.11.7): icmp_seq=1 ttl=60 time=2.18 ms \n", "20 (129.88.11.7): icmp_seq=1 ttl=60 time=1.27 ms \n", "21 (129.88.11.7): icmp_seq=1 ttl=60 time=1.33 ms \n", "22 (129.88.11.7): icmp_seq=1 ttl=60 time=1.51 ms \n", "23 (129.88.11.7): icmp_seq=1 ttl=60 time=1.44 ms \n", "24 (129.88.11.7): icmp_seq=1 ttl=60 time=1.30 ms \n", "25 (129.88.11.7): icmp_seq=1 ttl=60 time=2.17 ms \n", "26 (129.88.11.7): icmp_seq=1 ttl=60 time=1.21 ms \n", "27 (129.88.11.7): icmp_seq=1 ttl=60 time=2.20 ms \n", "28 (129.88.11.7): icmp_seq=1 ttl=60 time=1.34 ms \n", "29 (129.88.11.7): icmp_seq=1 ttl=60 time=1.42 ms \n", "30 (129.88.11.7): icmp_seq=1 ttl=60 time=1.12 ms \n", "... ... ... ... ... .. \n", "44383 (129.88.11.7): icmp_seq=1 ttl=60 time=28.8 ms \n", "44384 (129.88.11.7): icmp_seq=1 ttl=60 time=1.14 ms \n", "44385 (129.88.11.7): icmp_seq=1 ttl=60 time=2.32 ms \n", "44386 (129.88.11.7): icmp_seq=1 ttl=60 time=1.98 ms \n", "44387 (129.88.11.7): icmp_seq=1 ttl=60 time=3.01 ms \n", "44388 (129.88.11.7): icmp_seq=1 ttl=60 time=7.45 ms \n", "44389 (129.88.11.7): icmp_seq=1 ttl=60 time=13.5 ms \n", "44390 (129.88.11.7): icmp_seq=1 ttl=60 time=45.9 ms \n", "44391 (129.88.11.7): icmp_seq=1 ttl=60 time=58.5 ms \n", "44392 (129.88.11.7): icmp_seq=1 ttl=60 time=1.45 ms \n", "44393 (129.88.11.7): icmp_seq=1 ttl=60 time=1.11 ms \n", "44394 (129.88.11.7): icmp_seq=1 ttl=60 time=2.26 ms \n", "44395 (129.88.11.7): icmp_seq=1 ttl=60 time=1.24 ms \n", "44396 (129.88.11.7): icmp_seq=1 ttl=60 time=1.25 ms \n", "44397 (129.88.11.7): icmp_seq=1 ttl=60 time=2.46 ms \n", "44398 (129.88.11.7): icmp_seq=1 ttl=60 time=1.47 ms \n", "44399 (129.88.11.7): icmp_seq=1 ttl=60 time=1.21 ms \n", "44400 (129.88.11.7): icmp_seq=1 ttl=60 time=1.55 ms \n", "44401 (129.88.11.7): icmp_seq=1 ttl=60 time=1.22 ms \n", "44402 (129.88.11.7): icmp_seq=1 ttl=60 time=1.34 ms \n", "44403 (129.88.11.7): icmp_seq=1 ttl=60 time=2.43 ms \n", "44404 (129.88.11.7): icmp_seq=1 ttl=60 time=1.19 ms \n", "44405 (129.88.11.7): icmp_seq=1 ttl=60 time=1.14 ms \n", "44406 (129.88.11.7): icmp_seq=1 ttl=60 time=2.19 ms \n", "44407 (129.88.11.7): icmp_seq=1 ttl=60 time=1.29 ms \n", "44408 (129.88.11.7): icmp_seq=1 ttl=60 time=1.47 ms \n", "44409 (129.88.11.7): icmp_seq=1 ttl=60 time=7.02 ms \n", "44410 (129.88.11.7): icmp_seq=1 ttl=60 time=2.33 ms \n", "44411 (129.88.11.7): icmp_seq=1 ttl=60 time=1.61 ms \n", "44412 (129.88.11.7): icmp_seq=1 ttl=60 time=1.35 ms \n", "\n", "[44036 rows x 10 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_1 = raw_data_1.dropna().copy()\n", "data_1" ] }, { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "On récupère les données des tailles de fichiers envoyés dans size_1, les temps associés dans time_1, et les dates dans date_1" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "hideCode": true, "hidePrompt": true, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "0 665\n", "1 1373\n", "2 262\n", "3 1107\n", "4 1128\n", "5 489\n", "6 1759\n", "7 1146\n", "8 884\n", "9 1422\n", "10 1180\n", "11 999\n", "13 1020\n", "14 71\n", "15 34\n", "16 1843\n", "17 407\n", "18 356\n", "19 1511\n", "20 587\n", "21 809\n", "22 1364\n", "23 1153\n", "24 853\n", "25 1510\n", "26 123\n", "27 1966\n", "28 933\n", "29 922\n", "30 24\n", " ... \n", "44383 1772\n", "44384 41\n", "44385 1944\n", "44386 400\n", "44387 226\n", "44388 466\n", "44389 350\n", "44390 1829\n", "44391 1954\n", "44392 1074\n", "44393 46\n", "44394 1844\n", "44395 645\n", "44396 444\n", "44397 1940\n", "44398 1411\n", "44399 49\n", "44400 420\n", "44401 227\n", "44402 947\n", "44403 1960\n", "44404 531\n", "44405 374\n", "44406 1503\n", "44407 572\n", "44408 1338\n", "44409 1515\n", "44410 1875\n", "44411 1006\n", "44412 1273\n", "Name: 1, Length: 44036, dtype: int64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "size_1=data_1[1]\n", "size_1" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "hideCode": true, "hidePrompt": true, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "0 22.50\n", "1 21.20\n", "2 21.20\n", "3 23.30\n", "4 1.41\n", "5 21.90\n", "6 78.70\n", "7 25.10\n", "8 24.00\n", "9 19.50\n", "10 18.00\n", "11 18.80\n", "13 24.30\n", "14 3.45\n", "15 5.85\n", "16 2.31\n", "17 1.14\n", "18 1.10\n", "19 2.18\n", "20 1.27\n", "21 1.33\n", "22 1.51\n", "23 1.44\n", "24 1.30\n", "25 2.17\n", "26 1.21\n", "27 2.20\n", "28 1.34\n", "29 1.42\n", "30 1.12\n", " ... \n", "44383 28.80\n", "44384 1.14\n", "44385 2.32\n", "44386 1.98\n", "44387 3.01\n", "44388 7.45\n", "44389 13.50\n", "44390 45.90\n", "44391 58.50\n", "44392 1.45\n", "44393 1.11\n", "44394 2.26\n", "44395 1.24\n", "44396 1.25\n", "44397 2.46\n", "44398 1.47\n", "44399 1.21\n", "44400 1.55\n", "44401 1.22\n", "44402 1.34\n", "44403 2.43\n", "44404 1.19\n", "44405 1.14\n", "44406 2.19\n", "44407 1.29\n", "44408 1.47\n", "44409 7.02\n", "44410 2.33\n", "44411 1.61\n", "44412 1.35\n", "Name: 8, Length: 44036, dtype: float64" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "time_1_str=data_1[8]\n", "time_1 = pd.Series(time_1_str)\n", "time_1=time_1.str.replace('^[^\\d]*', '').astype(float)\n", "time_1" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [], "source": [ "date_1_str=data_1[0]\n", "def find_number(text):\n", " num = re.findall(r'[0-9]+',text)\n", " return \".\".join(num)\n", "date_1=date_1_str.apply(lambda x: find_number(x))\n" ] }, { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "## Exploitation des données" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3X98VPWd7/HXZzLJJJAEERJ+Q7QiW8AKmgt2rV1/rKviD9A+aq0/2t56H3a3um0f3b2KK3vr3UJXu9vuXtbeLu7W1pWqtdfSugVqlbUt9GFBUCqCIlgw/JKEH5IgZEgy3/vHzITJMJPMZObMj8P7+XjkkcnJmZnPnHPmc77n++uYcw4REfGvQLEDEBERbynRi4j4nBK9iIjPKdGLiPicEr2IiM8p0YuI+JwSvYiIzynRi4j4nBK9iIjPBYsdAMDIkSNdU1NTscMQESkrGzZsOOCcaxhovZJI9E1NTaxfv77YYYiIlBUzezeT9VR1IyLic0r0IiI+p0QvIuJzSvQiIj6nRC8i4nNK9FIwre2d3LzkZVo7OosdishpRYleCmbxqm28svMQi1/cVuxQRE4rJdGPXvxtyoKVhLsjvX8vXdvC0rUthIIBti68poiRiZweVKIXz62+9zJumDGW6sro4VZdGWDujLGsvu+yIkcmcnpQohfPNdZXUxcKEu6OEAoGCHdHqAsFaayrLnZoIqcFVd1IQRw4Gua22ZO4ddZEnlzXQpsaZEUKxpxzxY6B5uZmp7luRESyY2YbnHPNA62nqhsREZ9TohcR8TklehERn1OiFxHxOSV6ERGfU6IXEfE5JXoREZ9TohcR8TklehERn1OiFxHxOSV6ERGfGzDRm9kEM3vJzN40s81m9uXY8gfNbI+ZbYz9zEl4zv1mtt3MtprZVV5+ABER6V8ms1d2A3/lnHvVzOqADWb2Qux//+Sc+8fElc1sKnALMA0YC7xoZuc653ryGbiIiGRmwBK9c26fc+7V2OMO4E1gXD9PmQs87ZwLO+d2ANuBWfkIVkREspdVHb2ZNQEzgbWxRfeY2etm9piZDY8tGwfsSnjabvo/MYiIiIcyTvRmVgs8C3zFOdcOfBf4EDAD2Ad8K75qiqefMum9md1lZuvNbH1bW1vWgYuISGYySvRmVkk0yf/QOfcTAOfcfudcj3MuAvwbJ6tndgMTEp4+Htib/JrOuUedc83OueaGhoZcPoOIiPQjk143BnwPeNM59+2E5WMSVrsReCP2+DngFjMLmdlZwGRgXf5CFhGRbGTS6+Zi4A5gk5ltjC37G+DTZjaDaLXMTuALAM65zWb2DLCFaI+du9XjRkSkeAZM9M65NaSud1/Rz3MWAYtyiEtERPJEI2NFRHxOiV5ExOeU6EVEfE6JXkTE55ToRUR8ToleRMTnlOhFRHxOiV5ExOeU6EVEfE6JXkTE55ToRUR8ToleRMTnlOhFRHxOiV5ExOeU6EVEfE6JXkTE55ToRUR8ToleRMTnlOhFRHxOiV5ExOeU6EVEfE6JXkTE55ToRUR8ToleRMTnlOhLXGt7JzcveZnWjs5ihyIiZUqJvsQtXrWNV3YeYvGL24odioiUqWCxA5DUpixYSbg70vv30rUtLF3bQigYYOvCa4oYmYiUmwFL9GY2wcxeMrM3zWyzmX05tvxMM3vBzLbFfg9PeM79ZrbdzLaa2VVefgC/Wn3vZdwwYyzVldFdVF0ZYO6Msay+77IiRyYi5SaTqptu4K+ccx8GLgLuNrOpwHxglXNuMrAq9jex/90CTAOuBv6vmVV4EbyfNdZXUxcKEu6OEAoGCHdHqAsFaayrLnZoIlJmBkz0zrl9zrlXY487gDeBccBc4PHYao8D82KP5wJPO+fCzrkdwHZgVr4DPx0cOBrmttmTWPbFi7lt9iTajoaLHZKIlKGs6ujNrAmYCawFRjnn9kH0ZGBmjbHVxgG/S3ja7tgyydKSO5p7Hy+cN72IkYhIOcu4142Z1QLPAl9xzrX3t2qKZS7F691lZuvNbH1bW1umYYiISJYySvRmVkk0yf/QOfeT2OL9ZjYm9v8xQGts+W5gQsLTxwN7k1/TOfeoc67ZOdfc0NAw2PhFRGQAmfS6MeB7wJvOuW8n/Os54LOxx58Ffpaw/BYzC5nZWcBkYF3+QhYRkWxkUkd/MXAHsMnMNsaW/Q3wEPCMmd0JtACfBHDObTazZ4AtRHvs3O2c68l75CIikpEBE71zbg2p690BrkjznEXAohziEhGRPNEUCCIiPqdELyK+pAkBT1KiFxFf0oSAJ2lSMxHxFU0IeCqV6EXEVzQh4KmU6EXEVzQh4KlUdSMivhOfEPDWWRN5cl0Lbad5g6w5d8o0NAXX3Nzs1q9fX+wwRETKipltcM41D7Seqm5ERHxOiV5ExOeU6EVEfE6JXkTE55ToRUR8ToleRMTnlOhFRHxOiV5ExOeU6EVEfE6JXkTE55ToRUR8ToleRMTnlOhFRHxOiV5ExOeU6EVEfE6JXkTE55ToRUR8ToleRMTnlOjltNXa3snNS16m9TS/n6j434CJ3sweM7NWM3sjYdmDZrbHzDbGfuYk/O9+M9tuZlvN7CqvAhfJ1eJV23hl5yEWv7it2KGIeCqYwTo/AB4B/iNp+T855/4xcYGZTQVuAaYBY4EXzexc51xPHmIVyYspC1YS7o70/r10bQtL17YQCgbYuvCaIkYm4o0BS/TOud8AhzJ8vbnA0865sHNuB7AdmJVDfCJ5t/rey7hhxliqK6OHf3VlgLkzxrL6vsuKHJmIN3Kpo7/HzF6PVe0Mjy0bB+xKWGd3bJlIyWisr6YuFCTcHSEUDBDujlAXCtJYV13s0EQ8MdhE/13gQ8AMYB/wrdhyS7GuS/UCZnaXma03s/VtbW2DDENkcA4cDXPb7Eks++LF3DZ7Em1Hw8UOScQzmdTRn8I5tz/+2Mz+Dfh57M/dwISEVccDe9O8xqPAowDNzc0pTwYiXllyR3Pv44XzphcxEhHvDapEb2ZjEv68EYj3yHkOuMXMQmZ2FjAZWJdbiCIikosBS/Rm9hRwKTDSzHYDXwMuNbMZRKtldgJfAHDObTazZ4AtQDdwt3rciIgUlzlX/FqT5uZmt379+mKHISJSVsxsg3OueaD1NDJWRMTnlOhFRHxOiV5ExOeU6EVEPFBKk+Yp0YuIeKCUJs0b1IApERFJrRQnzVOJXkQkj0px0jwlehGRPCrFSfNUdSMikmfxSfNunTWRJ9e10FbkBlmNjBURKVMaGSsiIoASvYiI7ynRi4j4nBK9iIjPKdGLiPicEr2IiM8p0YuI+JwSvYiIzynRi4j4nBK9iIjPKdGLiPicEr2IiM8p0YuI+JwSvYiIzynRi4j4nBK9iIjPKdGLSElobe/k5iUv01rkuzH50YCJ3sweM7NWM3sjYdmZZvaCmW2L/R6e8L/7zWy7mW01s6u8ClxE/GXxqm28svMQi1/cVuxQfGfAWwma2ceBo8B/OOemx5Z9EzjknHvIzOYDw51z95nZVOApYBYwFngRONc519Pfe+hWgiKnrykLVhLujpyyPBQMsHXhNUWIqHzk7VaCzrnfAIeSFs8FHo89fhyYl7D8aedc2Dm3A9hONOmLiKS0+t7LuGHGWKoro+moujLA3BljWX3fZUWOzD8GW0c/yjm3DyD2uzG2fBywK2G93bFlIiIpNdZXUxcKEu6OEAoGCHdHqAsFaayrLnZovpHvxlhLsSxl3ZCZ3WVm681sfVtbW57DkHKkxrjT14GjYW6bPYllX7yY22ZPou1ouNgheaYYx/lgE/1+MxsDEPvdGlu+G5iQsN54YG+qF3DOPeqca3bONTc0NAwyDPETvzbG6QQ2sCV3NLNw3nSmjq1n4bzpLLljwGrnslWM43zAxlgAM2sCfp7QGPsPwMGExtgznXP3mtk04ElONsauAiaXYmNsa3sn9zz1Go/cOlOXiEXm98a4Bcs28cN1Ldw2ayILbzyv2OFIkXhxnOetMdbMngJeBqaY2W4zuxN4CLjSzLYBV8b+xjm3GXgG2AL8Arh7oCRfLH4tPZYjvzbGTVmwkqb5y1m6tgXnYOnaFprmL2fKgpXFDk2KoJjHeXCgFZxzn07zryvSrL8IWJRLUF5KPqsuXdvC0rUtvik9liO/NsatvvcyFq54k19ufo/OrgjVlQGumjaaB679cLFDK4psrqL9eMVdzOP8tBsZ69fSY6nJtl7aj41xfj2BDVY2V9H5uuIutfaRYh3nA5bo/UZfvsJI/KJmUi+d2Pi2cN50L0MrqPgX+9ZZE3lyXQttJZJwCiFeKt/YcpgTPSfbAvu7ih7oijvbkn6647BYVwxL7mimtb2TLzyxAQc8+pkLC/K+GTXGeq3QjbFfeGI9DXXVfb58fm7lLyQvG1b9eDnvF63tndz1xAbMYMkdF9JYV93bCH3TzHF0RVzKKqzGuuo++xUHC1e8yfNv7CPc7QgFjaunj+GTF47nL5a+yiXnjmTlG+9x26yJfOmKyb3vuWjedB78zy08cutMDnSEmbN4Tco4q4IB3l54DQuWbWLp2hZGDK1izLBqghUBHv3MhX2Oq1THW7pjML78weun9saR/Nnif1/3L2to7YiW5G+fnVsDfaaNsadlohfvtLZ3pq2XzjU5q/dKaWpt7+Sa/7Oagx+cAKDCoGeAtDJiaBVP3DmLB/9zC3WhCla91ca1543ma9dP6/Na8XUT/05lcmMt29uO0lAboroyQMuh41QEoCepzGGkGdhDNOneOnsin1ryO757+wV89Znf03Y0zE0zx7Hr8HEevH4qn/v+K7R2hHsTdDyRTzijhp9s3MM5DSfj+PbN5/O5779Cd8QxsraKI8dO0HVqGQgYfEFIiV6K5oFlm3hyXQtVFQFO9ERyTsx+735Zzs59YEWfahnJ3oUTz+C7d1w4qIJQ3rpXimQr3w1OakAvTVMWrFSSz4PX9xzxvCrytGuMFe/lu2G1XBvQ/dymkO4qS7LX1eNomr8cgJ0PXevJe6hEL2WhHLtf+nlQ3up7dTWVb0v/h3cT/aqOXiTPToc2BZXo828wpXnV0UvOSm2wSbnwe5uCknz5UaIvMaWUXP1c9eClcm1TyNTqey/jz6aNKnYYvtM0f3lvXX2+qTG2xGQ7otQLmg8od34eEdtYX80vN+8vdhi+5FU9veroS0Qp1et6OehJ/OHTj77My39IvsOo5CrbenrV0ZeZUqrX9XvVg+Tu1Zb3ix2C71RWpLpBX34o0ZeIUkuu5didUQpn9b2XUVlR7Cj8ZduiOZ69turoS0gp1ev6dTZJyY9LvvkSXSV5S6Hy1TR/uWdVtaqjF5GstbZ3Musbq4odhu/EZ9fMVKZ19CrRi0hW+utHX2HR2SEjLjpTZGN9iP3t6av9aioDHE83peNpaI1HbXKqoxeRrMQ7DgRStB1WV1bgiPYWw6CqIkCwnyyTaZJvGjGkt6NCubl2+mhCwQABg+E1lWnXG1Uf8qxNrjy3nHiilAZrZaLc4i22fG2veMcBB73J/oopDZw5pJIPTvQw57zRLPvixTgHuw4fJx+DaHcePEZnAUr+l3xoBMNq8lPRUVlh3H7RJLqd45MXjscBtdVBbr9oEhOH1/RZd1h1kBkTzsjL+6aiRC+9ym0kbKbx5pLg/HQyyef+jXcc+PlfXsLtF03i7dajHDrWBcCWPR38zbJNOb9HsqoKw6seiNdOH02FGavfOciR4905v151ZYBpY4fxzCstPL95P0vXtvSe+Jb+7l1aDh9nWE0QA4bVBAlVVnh6lzvfN8b6earYfCmlwVqZyDbeXO5M5Ye7Wnm5fwea9yYYIC8l+kzVVAaIRByBgGVd9z9tbD1b9rWTbUocWlXBBydSd0EKGFx3/tjewYf9Gcz+0B2mYvzwRfVaMUbC5nICzjTeXBJcKZz8Ut2HdbCv49X+3bL3CPO+89ui34AkAESAMcOqefn+K7jy279mW+vRvutYtJE4WaFPRsly2R+n/cjYKQtW0jR/ee8l09K1LTTNX86UBSv7rOenS/PBKsZgrVyqETKNN5fRxqUwUnnxqm1s3PU+r7W8n1N1i1f7d8qClcxZvCbjJF8RMIZUnTrKqioP9THxPL3vSCdN85ezrfUooWCASSOGUFMZwEid5CE/ST5Vw3SiIVUVadfp7Irw89/v9fT75tvulavvvSxtKSZRKUwiVgoKNVgrXxOmZRJvLgmumCOVU11N5DqxXL73b7ZTFVdVGF0Rx4ihVRw7cbzP/7y4GjAg3B3h3YPHmNxYe0rpPt8iLv0VA8CxNFU7EI31kskjvQks/h5+rrrp7ybVpXBpPli5tjsUs92i0NVEX3hiPQ111X0SXKaNXrk8Nxet7Z0s+NkbvLhlf2/iqDC4cuoo/m7e9JJoa4rvx5//fm/a5JZoznljOHNoFW0dnXx97nQWrniT59/YR7g7s/xTEwwQqqwgFAxgAeO9I6V3BW7A+OE17Dp8HCM6niAbXt54xLcleui/FJNpib8U5XoV0t/zvT4JFLqknMtUDsWaBqKxvpqG2lCfBNrjYGStd/2ss9VYX81zG/dmvP6KTfuAaEGqsb464xNE3PHuCMe7I9w+eyIHPzjByiPvZRtyXlRWGF0prkAmDK9h9/vHOfTBCQCuOW9M72fOhJe3EYQcE72Z7QQ6gB6g2znXbGZnAj8CmoCdwM3OucO5hTk4/X1RS20SsUzkWu2RyfNzPYlkcqLwopoo2xNUqffGOnA0zIThNXxkfLRv9eu73y+pieWS27oyYcDUsfW0dnTy8ckj2XnwGC2HjmWV8Jeubel9XOhRtZdOaWDcGTX8MCGGuF2Ho9VR8d432SR5gNv/fZ2ntQk5Vd3EEn2zc+5AwrJvAoeccw+Z2XxguHPuvv5ep1hz3RTr0nywcq326O/5lzz8Ul6qsgrdyymesCcMr+Enr+3J+H3VGys35z6wkhM92SXZoVUVHOvq6d3m8arVEqg9LhnZft8K0r0yTaLfClzqnNtnZmOAXznnpvT3OprULCqTUmZ/7Q6ZSPf8XE8ixWrz+ND9y0nVlpfufb2Os9SvFPIl3ltt58FjxQ6loCYMr6G1I5zTPXPHnlHN4aNhjie0T1QEjOs+MibrtqpCda90wC/NbIOZ3RVbNso5tw8g9rsxx/c4bWTS5TDXeeLTPT/XqqxCd0eMd59NleT7e998x5ncPbfcRhcPVmN9Nd3Z1LkkqQ1Fa43HD68hsddhPga+fvTsEXl4ldR2HT6e843R3zvSycenNDK5sRYj2tDeE3GeVh3n2hh7sXNur5k1Ai+Y2VuZPjF2YrgLYOLEiTmGUZ7ipb+NLYf7dDHrr+491wbC+PNb2zt5e38Hj9w6s/d/udSdZ3qiyFeJN7kxHaLd2xz0+4XJ9YSWHH88sX/0G6v6nHT8fp/dbLtXJjsajk4zsPtw366W15w3hm37O7LuDhkAamIjVN9rz1+PnOqg0Zlhz6BMBQPGl6+YzG3/vpabLhjPnR87y/P7T+RUonfO7Y39bgWWAbOA/bEqG2K/W9M891HnXLNzrrmhoSGXMFLKZCBUfJ0te48UZdBUPElcf/5Yz0vDmZQ8l9zRzMJ50xlZW8Xb+zv4epYnkkyuNvJV4k1M2PGBKNdMG93nfdMdA7lcFcXjv+gbq/oMyEu+sijGAKtCDv5LvjKKa6yryul1V2zaN6g+7xFONoTuOPBBTjEkyneSh+i4gTmL13D4WBc1lQGmjq1n4bzppTnXjZkNBQLOuY7Y4xeAvwOuAA4mNMae6Zy7t7/X8qKOPpPGtvg65zTUsr3taMEa5vorDVUFA3QNou59IPHPmm6EYGLJ04uGSi/qxlM1pn997vTeEvfiF7fl7XMMVIKtrgwwur6adw8dG3T7Sa4S99uXrpic9ZVTtldbZ9+/PKseM5kKBY1wtyNg0e167ER+etbMOW8Mb+49wo4SbFcY7PfA88ZYMzubaCkeolVATzrnFpnZCOAZYCLQAnzSOdfv7eLzmejTfSGrKgLMmHgGj9w6M20PkzivL7dTNXwGMI519XDt9NEMrw0NqgdQqi9qJgkq3z1v0sWWXNXSNGIIz/z5R/NaL7lg2aY+XfAS5fI5Uu2z0fXV7Dx4jFAwmtjHn1HDn0xpTNuLy6uG2v728e2zMz/ZpDrB9xfz5x5by6/ePpDqpfp15pDK3pkuk9WFgnSEu3sHHFUFA4w7o5odB9In52AARg+rOaUaKC7+nXpy7buenJhyETC4/vyxgx4weNpOapau90jQjJ9s3NNb2kk1Mi8UDHD1dG8n84obqGvZYJJSui/qQAkqXz1vBpKuBOj1LIr5+hzJPZbiif3qaaP56jMbmTqmjh98fnba53vVpTPVSTRZf9v43AdWpJyGIBQM8MkLx6eNeTD19GOHVXPZHzWm7IuerC5UQUe4h8qAUVcdJFgRoLWj/2q2YIXRnfBZJg6v4UhnF2eNrOUbN07nm794a1AnJ695XaL33cjY5Ma2zq4IP0sYwRdvJIs33MXnp6gwONFTuEFT8Xri2WcN569//DonuiM4GNQI3YEGQsW3R1WF0dkV4UR3hNsvOrXR1etBZPFBMvuOdPbWrcdLM7lKbpytCBg9EUdVheXtc6RqrF44bzoLlm2i7WiY8cNHpXxevub3SVe6TtxvVcEAJ7oj0Z4cLrPj6frzx/Lsq3v6POdEd4Rwd6T36ihVzMu++MfMWbwm4/gB9h7pzCjJA3SEo3XuXRGX9gogWXfSCaslVsrfuOt95j7yW66clnof5UN8Bs1EibdWTGdIVQW/+p+XehYX+HT2ysTGtk9cMI7Rw6qjtzYDzODqaaP4+OSR3DRzHENDQc4eOZRZZ585qO6KgxVv+Fz7h0OEY0l+sMl1oC6D8e3xp1NHA9E+uwvnTU/ZCHTgaJgbZ45jcmMtN80cn9ft8YPPz+bic0Zyoid6InFEeyDc8+RrebvrUfwk1RNxTG6s5ad3fyxv+zW+z+Lb7Vdb2zKaITXbLp3pGlXjDcHXLV6TtoH5p1+8mMmNtfS4gY+neBfVZ1/dA5xsUO7sijBvxrgBY34yw4SdLNUMloXQFXGs2BSdOiFfNzAJJkxJmerapsf1n+QhOuHZrEWrBjXaOFO+K9FD3y6I37p5Bg8s29RbinAO3mn7gBe++icsWLaJo+FurvzwKHa/f5wvXXFOwQa5pLrsDXdHqDDLOikNVBL/1da2Pu+16/BxmuYvT9t9c8GyTWze186MCWfwrZvz2xMguVT8662t7H7/+KCmXEgu4aYqcceTshcynS8pmyul1vZOrvuXNbR2hHu3SfKx0toRZtaiVX32X+Ixf3bDUGafPWLAbrKproIumTySEUNDHA13MbI2lDLmXLtW9jeTY6Hka8LMXMYSJLp6WnTCOq/4ro4+WTYHZcDgD3+f/Qxy2Wpt7+QLT2ygoT7Eb95uy7k+vLW9k6v++Tdc/uFG7rz47FMaAgtxo45s5eO9SmEag0xHKn/usXVs2dfOtz91Pr94Y3/Kxvb0HQmiE2ml+qbGt9dgG3qT479p5jh2HT7OI7fO5G9/+kbKKUJa2zu56O9XlVzDZjFVBCDLGSH6mNxYywtf/ZOsn3fa33gkbvW9l3HVtFF9LtUCBqPrT/0yRBwpL72T5dpf+eFfvMVru97n17GSdq714YtXbeP9413UBCtOqY6JJ4BgwDy9UUe2cnmvTG8q058te49w3teeZ8u+I4P+DJB5n/zxw2toOxrmF5veS9lnOl2SN2DN/MtpGjG0z/IK6zsC+OFfvMW6HYd48LnNWR2byfGv23God5zD1+dO5+39HYysq+oTc2N9NfNmjMvo9U8XAyX5y/+osU81T7JtrUezPoaz4cuqm0SN9dWMrA31uVSLOKirDvJee9+bBWTaEDrYGR6Tv8zxxxHnokkiyxNHNrNR7nu/xtMbdWQr8b3MyOq9sp1iOn6ye/D6qTz4n1t45NaZfPnpjXSEu/nyUxt7S1KpSsUDlZQHGqmcaUNs/DMlT/3rgFmLVp3yuj0u2hUxuUtsvA76okWraD7rzAFL+PH408UJpDzOPziR+w20TwcGXDhpOGOHnZwyIhQM8K1PfoRFK95iX2xefa+nSfdtiT6x1B2f8vXa88Zw7XljmDC8hiPHu7jpgnEMq6kEogm/v2H7Ny95mXMfWJFVSTK55B+JpD7td/U4frx+V9b95uOl4lAwWlIIBa23lJdc6o3ffX7ed37bZ9RrcozZjBrNZvRxqnUOHA0zuaEW52ByQ23GbROpTkgvv3Mw7frxk92Xn97Iuh2HmLVoVe/oy3hJqmn+8pSjdrMdyZv8eU/uo+hXLRRMf+Xy8jundvszYNwZNb3PrwgYl05p4BMXRBvK01W9RoB1O6IjeDOJeeqYev5s2qhTRrpC6uN8yR3NXHruSJpGDEn5mtVB36aWrDhg/buH+4ztCHdHuOepjb1JPr7Myx5/vtkb8S/Ymm1tnPe15/nfz23u/YIuuaOZ1fddznduu4Dv3HYBq++7nHUP/ClDKis4fKyLyY21/PwvLxlw2H7yVAVmcNW0Ub1f2oGmGbhy2uiUsV967sjeebqzcTLhRb/s4W5H0IzGumqWffGPGTG0ingHh6oKGDG0iis/3NgnpuQYk3uWJA/4yXYCr/g6D614ixu/81vmfee3tHZ0MmXBSp7fvJ+3Ywn37dajPL95f8aXroknpMkNtb2Nl4mST3YDDa1PPoEPdFJPrv6JN6Su2xHdJsnVZtD3C504Bcd1/7KGto4TnNtYy5zp0eMkPmjoQEdnn95Ev91+gDsvaWLJHc2sue9yJqVJtnCyOvKs+5fT2tHZZx/GHz+88i027n6fHW0f9HbDhZM9U1KdnFrbO/n1tgNpZ68cM8y/M3d6IX6MecU3jbHxhrlMBiBl2hDYX0NuvMonsRHlr57ZyLOv7knZn7Y/kxujUzBcM300q98+wHdvv4DF/7W997I7sfoAR281xLWL16RsoKusMG6I9Y3OVlUwwNsJ2yDxvR9a8RY/eW1P2ntjVlUYby+aA/S/7T5xwTjeeq+Dve8f58jxrt7Xio+Uffu9Dj772Doev3MWHzvn5DxIyVUwyZPBJcYxY+IYJtOUAAAJwUlEQVRwHrx+Kv/6mz8MeMu6CWfWcCzcw9FwF+FuRyhoDKkKcv74Yfxux6GUI3m37D3Su/3PGjGEnQePZX3ruGvPG83yTanvlBQwGD2smr3vR0+qE8+soTIQ4J3YPC7x4661vZOPffMlTnRHUt6+LhQMMGJoFXuPdDK8ppLLP9zYO2//D9e2pD1+mkYM7XNiTB5h298IZIhWRYS7Illvk3I0mNsGJhtaVcGP/+KjTB0zLLv3Pl1GxmbSq6YiAI9/Ppo0Wts7ueuJDbS2d7I3dukUCgYYUlVBQ12IqmCAyooAi+ZN597/9zq7Dh/jyPHi1Ec21oX4wX//b3zu+6/Q2hHm9tnRWT7j8/PkesPjcWfUsO/I8T5Ju666gu6IY1RtiHcPHaeuOkh7Z2aff2RtFf/8qRn8xdJX+e7tF/DE797l+c37c4px6Z2zWPxf23nw+ql87vuv0HY03PvZgwHj4nNGsDYhGY8cWsWB2O3crp0+mpWb30vbO+RTF47nRxt2UxmA+IDSeFWQV6orA2lHr+aiqsLycpPt6FVDBA83gfSjJG88ki+5JPo129r4zPfWDViCPmvEUBrqQ6zfeSijbmGj60O81+7t4Kmld87iL596jcMZjvoTKQWpTirBAKflyWHC8BqW3HFh1iOE4xK329wZ2c95c9pMgfC3P92cUTXJjoMfsONg5tOXep3kAW7/3jrP30Mk31JdOZyOSR6inRzSJfl0VZyJuiP0zjlVyjceKZqm+cuLHYKISFoRF+3tMnVsPW/sbU+73mBHxGejbBN9ZcDo0tA8kZLwkXH1vL4nfTLzszHDqjl2ojtlW14EeGNvO2OHVRMI2ClTKRvRnnt/N2+6p9OvlG2iN8tHW7eI5MPpmOTjvesS+8OnszfNOg4YWRvyfI6tsu1HfyKXiSVERHIQqjBcnmbAXLq2hXM9nLkSyjjRV+ZrnlERkSyFexxr77+CG2aMzcvrXX/emLy8TjrlW3VT7ABEpKRk0ssln2ZlML1Epp59bQ/PvrbHs9uYlm2JPh+DQ0SkvPQzASSO8i4ABgxPZoqFMk70K770sfINXkQGpb8Su3PZdc8YVR8qqRPDjTPGqR99ssGORBMRAdifp0GRuVQZxU805zTWctTDqZ/LtlC84ksfK3YIIiI5tQs44LaLJnF2w9CspynPRtmW6KeOHcZZI4awI800qSIi5WDp797tvd+AV8q2RA8oyYtI2ZswvMazRti4sk70IiLlbtfh48xatMqz+8VCGVfdeLlRREQKKT5FsVfKtkRfAtPoi4jkxc827uWSh1/y7PU9S/RmdrWZbTWz7WY2P//voEwvIv7h5U2gPEn0ZlYBfAe4BpgKfNrMpubzPdbcd3k+X05EpKhO9DjP7rPhVYl+FrDdOfcH59wJ4Glgbl7fII/zTIiI+JlXiX4csCvh792xZSIiksbOh6715HW9SvSpppDoUwFlZneZ2XozW9/W1pb1G3i1QURE/Mar7pW7gQkJf48H9iau4Jx7FHgUoLm5WS2rImVOha/S5VWifwWYbGZnAXuAW4Bb8/0mOrBERAbmSaJ3znWb2T3A80AF8JhzbrMX7yUiIv3zbGSsc24FsMKr1xcRkcyU7chYERHJjBK9iIjPKdGLiPicEr2IiM+ZlxPpZByEWRvwbhZPGQkc8CicXJRqXFC6sSmu7JVqbIore7nGNsk51zDQSiWR6LNlZuudc97dYHGQSjUuKN3YFFf2SjU2xZW9QsWmqhsREZ9TohcR8blyTfSPFjuANEo1Lijd2BRX9ko1NsWVvYLEVpZ19CIikrlyLdGLiEiGyirRe38f2n7fe4KZvWRmb5rZZjP7cmz5g2a2x8w2xn7mJDzn/lisW83sKo/j22lmm2IxrI8tO9PMXjCzbbHfwwsZm5lNSdguG82s3cy+UqxtZmaPmVmrmb2RsCzrbWRmF8a29XYzW2xmqe6/kGtc/2Bmb5nZ62a2zMzOiC1vMrPjCdvuXwscV9b7Lt9x9RPbjxLi2mlmG2PLC7nN0uWJ4h5nzrmy+CE6C+Y7wNlAFfB7YGoB338McEHscR3wNtH74T4I/HWK9afGYgwBZ8Vir/Awvp3AyKRl3wTmxx7PBx4uRmwJ++89YFKxthnwceAC4I1cthGwDvgo0RvsrASu8SCuPwOCsccPJ8TVlLhe0usUIq6s912+40oXW9L/vwX8ryJss3R5oqjHWTmV6D2/D21/nHP7nHOvxh53AG/S/+0R5wJPO+fCzrkdwHain6GQ5gKPxx4/DswrYmxXAO845/obGOdpXM653wCHUrxnxtvIzMYA9c65l1302/gfCc/JW1zOuV8657pjf/6O6M170ipUXP0o2PYaKLZYyfdm4Kn+XsOjbZYuTxT1OCunRF8y96E1syZgJrA2tuie2CX2YwmXZIWO1wG/NLMNZnZXbNko59w+iB6AQGORYoPozWcSv3ilsM0g+200Lva4kDF+nmiJLu4sM3vNzH5tZpfElhUyrmz2XTG21yXAfufctoRlBd9mSXmiqMdZOSX6Ae9DW5AgzGqBZ4GvOOfage8CHwJmAPuIXjJC4eO92Dl3AXANcLeZfbyfdQsam5lVATcAP44tKpVt1p90sRR62z0AdAM/jC3aB0x0zs0Evgo8aWb1BYwr231XjH36afoWKgq+zVLkibSrpokhr7GVU6If8D60XjOzSqI774fOuZ8AOOf2O+d6nHMR4N84WdVQ0Hidc3tjv1uBZbE49scuAeOXqa3FiI3oyedV59z+WIwlsc1ist1Gu+lbjeJZjGb2WeA64LbY5TuxS/yDsccbiNbpnluouAax7wq2vQDMLAjcBPwoIeaCbrNUeYIiH2fllOh770MbKyHeAjxXqDeP1ft9D3jTOffthOVjEla7EYj3AngOuMXMQha9d+5koo0rXsQ21Mzq4o+JNuS9EYvhs7HVPgv8rNCxxfQpYZXCNkuQ1TaKXXZ3mNlFsWPiMwnPyRszuxq4D7jBOXcsYXmDmVXEHp8di+sPBYwrq31XqLgS/CnwlnOut9qjkNssXZ6g2MdZLi3Mhf4B5hBtxX4HeKDA7/0xopdOrwMbYz9zgCeATbHlzwFjEp7zQCzWreShp0E/sZ1NtOX+98Dm+LYBRgCrgG2x32cWIbYhwEFgWMKyomwzoiebfUAX0RLTnYPZRkAz0QT3DvAIsYGHeY5rO9G62/ix9q+xdT8R28e/B14Fri9wXFnvu3zHlS622PIfAH+etG4ht1m6PFHU40wjY0VEfK6cqm5ERGQQlOhFRHxOiV5ExOeU6EVEfE6JXkTE55ToRUR8ToleRMTnlOhFRHzu/wN8VxCgox6tdgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(size_1,time_1,'*')" ] }, { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "La durée d'envoi des données ne semble pas linéairement dépendante de la taille. On voit un seuil aux alentours de 1500 octets, à partir duquel le temps d'envoi des données augmente brutalement. On sépare les données en deux et on effectue une régression linéaire sur les deux jeux parties séparées" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [], "source": [ "ind_low=size_1<1500\n", "ind_high=size_1>=1500\n", "\n", "size_low=size_1[ind_low]\n", "size_high=size_1[ind_high]\n", "\n", "time_low=time_1[ind_low]\n", "time_high=time_1[ind_high]\n", "\n", "reg_low = LinearRegression() # create object for the class\n", "reg_low.fit(size_low.values.reshape(-1,1), time_low.values.reshape(-1,1)) # perform linear regression\n", "\n", "time_low_reg = reg_low.predict(size_low.values.reshape(-1,1)) # make predictions\n", "\n", "reg_high = LinearRegression() # create object for the class\n", "reg_high.fit(size_high.values.reshape(-1,1), time_high.values.reshape(-1,1)) # perform linear regression\n", "\n", "time_high_reg = reg_high.predict(size_high.values.reshape(-1,1)) # make predictions" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [ { "data": { "text/plain": [ "[,\n", " ,\n", " ]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(size_1,time_1,'*',size_low.values.reshape(-1,1),time_low_reg,'r',size_high.values.reshape(-1,1),time_high_reg,'r')" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [ { "data": { "text/plain": [ "array([[1620.05083396]])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C_low=1/reg_low.coef_\n", "C_low" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [ { "data": { "text/plain": [ "array([3.12808083])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L_low=reg_low.intercept_\n", "L_low" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [ { "data": { "text/plain": [ "array([[349.48639641]])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C_high=1/reg_high.coef_\n", "C_high" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "hideCode": true, "hidePrompt": true }, "outputs": [ { "data": { "text/plain": [ "array([4.77022699])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L_high=reg_high.intercept_\n", "L_high" ] }, { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "La latence semble concorder dans les deux catégories (3 à 5 secondesn selon la taille des fichiers). Le coefficient linéaire passe de 350 à 1600 selon la catégorie, montrant les limites du modèle linéaire dans ce cas." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now perform the same operations with the second set of data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Data set 2" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gzip.open(data_file_2_gz) as f:\n", " file_content = f.read()\n", "f = open(\"data_file_2.txt\", \"w\")\n", "f.write(file_content.decode(\"utf-8\") )\n", "f.close()\n", "\n", "raw_data_2 = pd.read_csv(\"data_file_2.txt\",sep=' ',header=None)\n", "\n", "\n", "data_2 = raw_data_2.dropna().copy()\n", "\n", "size_2=data_2[1]\n", "\n", "time_2_str=data_2[8]\n", "time_2 = pd.Series(time_2_str)\n", "time_2=time_2.str.replace('^[^\\d]*', '').astype(float)\n", "\n", "date_2_str=data_1[0]\n", "def find_number(text):\n", " num = re.findall(r'[0-9]+',text)\n", " return \".\".join(num)\n", "date_2=date_2_str.apply(lambda x: find_number(x))\n", "\n", "plt.plot(size_2,time_2,'*')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La même limite de 1500 octets est trouvée avec ce jeu de données" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "ind_low=size_2<1500\n", "ind_high=size_2>=1500\n", "\n", "size_low=size_2[ind_low]\n", "size_high=size_2[ind_high]\n", "\n", "time_low=time_2[ind_low]\n", "time_high=time_2[ind_high]\n", "\n", "reg_low = LinearRegression() # create object for the class\n", "reg_low.fit(size_low.values.reshape(-1,1), time_low.values.reshape(-1,1)) # perform linear regression\n", "\n", "time_low_reg = reg_low.predict(size_low.values.reshape(-1,1)) # make predictions\n", "\n", "reg_high = LinearRegression() # create object for the class\n", "reg_high.fit(size_high.values.reshape(-1,1), time_high.values.reshape(-1,1)) # perform linear regression\n", "\n", "time_high_reg = reg_high.predict(size_high.values.reshape(-1,1)) # make predictions" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ,\n", " ]" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(size_2,time_2,'*',size_low.values.reshape(-1,1),time_low_reg,'r',size_high.values.reshape(-1,1),time_high_reg,'r')" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[3773.18876229]])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C_low=1/reg_low.coef_\n", "C_low" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([113.11755777])" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L_low=reg_low.intercept_\n", "L_low" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-543.43256079]])" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C_high=1/reg_high.coef_\n", "C_high" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([120.12342616])" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L_high=reg_high.intercept_\n", "L_high" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cette connexion semble avoir une latence plus élevée, de l'ordre de 100ms. Le coefficient change drastiquement selon la taille des données, et est même négatif pour les données de taille importantes." ] } ], "metadata": { "hide_code_all_hidden": true, "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 }