From e8c552bfc655bc97b7a2b7bfb77d6bee04fcbed9 Mon Sep 17 00:00:00 2001
From: Jaber Askari <m2947@student.jamk.fi>
Date: Mon, 22 Jun 2020 12:37:49 +0300
Subject: [PATCH] province code for lam raw data

---
 Tavara- raskaan liikenne/README.md            |  32 ++++-
 .../backend/routes/api/vehicles/vehicle.js    |   2 +-
 .../frontend/traffic/public/index.html        |  26 +---
 .../frontend/traffic/src/App.js               |   7 +-
 .../traffic/src/components/LAMpoints.js       |  28 ++--
 .../traffic/src/components/OneDayGraph_v2.js  | 123 +++++++++++-------
 .../LAM_rawData_analysis-checkpoint.ipynb     |  84 ++++++------
 .../python/LAM_rawData_analysis.ipynb         |  84 ++++++------
 .../python/cars/lamData.py                    |   3 +-
 9 files changed, 221 insertions(+), 168 deletions(-)

diff --git a/Tavara- raskaan liikenne/README.md b/Tavara- raskaan liikenne/README.md
index a3afb66..35611d2 100644
--- a/Tavara- raskaan liikenne/README.md	
+++ b/Tavara- raskaan liikenne/README.md	
@@ -32,7 +32,8 @@ https://aineistot.vayla.fi/lam/rawdata/[year]/[ELY]/lamraw_[lam_id]_[yearshort]_
 
 where: 
 * year = year starting from 1995
-* ELY = ELY-L area number in 2 digits. Area numbers can be found from the address : http://www.tilastokeskus.fi/meta/luokitukset/ely/001-2019/index.html
+* ELY = ELY-L area number in 2 digits. 
+ note that Area numbers are different from the: http://www.tilastokeskus.fi/meta/luokitukset/ely/001-2019/index.html
 
 01  Uusimaa  (contains also: Häme)<br>
 02  Varsinais-Suomi (contains also: Satakunta)<br>
@@ -86,7 +87,7 @@ https://www.digitraffic.fi/en/road-traffic/
 
 
 ## Road Traffic
-Digitraffic provides free information about road traffic through API.  
+Digitraffic.fi provides free information about road traffic through API.  
 #### Current data from LAM stations
 
 https://tie.digitraffic.fi/api/v1/data/tms-data
@@ -103,4 +104,29 @@ Related metadata:
 
 https://tie.digitraffic.fi/api/v3/metadata/tms-stations
 
-https://tie.digitraffic.fi/api/v3/metadata/tms-sensors
\ No newline at end of file
+https://tie.digitraffic.fi/api/v3/metadata/tms-sensors
+
+
+
+# TMS point(LAM points) information
+TMS information can be found from the following url:
+https://tie.digitraffic.fi/api/v3/metadata/tms-stations
+
+note : The province code in  TMS information API are different from the province code that is the raw data url.
+please make sure to use the right province code to get right data.
+Province codes in raw data url and its equivalent in TMS station API are as follow:
+
+|Province name|code in raw data URL|code in digitraffic.fi TMS station API|
+| --- | --- | --- |
+| Uusimaa, Häme | 01 | 01, 05, 07 |
+| Varsinais-Suomi , Satakunta | 02  | 02, 04 |
+| Kaakkois-Suomi| 03 | 08 , 09 |
+| Pirkanmaa | 04 | 06 |
+| Pohjois-Savo, Etelä-Savo, Pohjois-Karjala  | 08 | 11, 10,12 |
+| Keski-Suomi| 09 | 13 |
+| Etelä-Pohjanmaa, Pohjanmaa, Keski-Pohjanmaa | 10 | 14, 15, 16 |
+| Pohjois-Pohjanmaa, Kainuu | 12 | 17, 18 |
+| Lappi| 14 | 19 |
+
+
+
diff --git a/Tavara- raskaan liikenne/backend/routes/api/vehicles/vehicle.js b/Tavara- raskaan liikenne/backend/routes/api/vehicles/vehicle.js
index bbae438..f84cd56 100644
--- a/Tavara- raskaan liikenne/backend/routes/api/vehicles/vehicle.js	
+++ b/Tavara- raskaan liikenne/backend/routes/api/vehicles/vehicle.js	
@@ -58,7 +58,7 @@ router.get('/',function (req, res) {
     childProcess.stderr.on('data', (data) => {
         //As said before, convert the Uint8Array to a readable string.
         console.log(uint8arrayToString(data));
-        //res.json(data)
+
     });
     
     childProcess.on('exit', (code) => {
diff --git a/Tavara- raskaan liikenne/frontend/traffic/public/index.html b/Tavara- raskaan liikenne/frontend/traffic/public/index.html
index 56a1c07..202ef26 100644
--- a/Tavara- raskaan liikenne/frontend/traffic/public/index.html	
+++ b/Tavara- raskaan liikenne/frontend/traffic/public/index.html	
@@ -10,36 +10,12 @@
       content="Web site created using create-react-app"
     />
     
-    <!--
-      manifest.json provides metadata used when your web app is installed on a
-      user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-     <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
-    -->
-   
-    <!--
-      
-      Notice the use of %PUBLIC_URL% in the tags above.
-      It will be replaced with the URL of the `public` folder during the build.
-      Only files inside the `public` folder can be referenced from the HTML.
-
-      Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
-      work correctly both with client-side routing and a non-root public URL.
-      Learn how to configure a non-root public URL by running `npm run build`.
-    -->
+ 
     <title>React App</title>
   </head>
   <body style="background-color: rgb(236, 236, 236);">
     <noscript>You need to enable JavaScript to run this app.</noscript>
     <div id="root"></div>
-    <!--
-      This HTML file is a template.
-      If you open it directly in the browser, you will see an empty page.
-
-      You can add webfonts, meta tags, or analytics to this file.
-      The build step will place the bundled scripts into the <body> tag.
 
-      To begin the development, run `npm start` or `yarn start`.
-      To create a production bundle, use `npm run build` or `yarn build`.
-    -->
   </body>
 </html>
diff --git a/Tavara- raskaan liikenne/frontend/traffic/src/App.js b/Tavara- raskaan liikenne/frontend/traffic/src/App.js
index 532253b..c06d60c 100644
--- a/Tavara- raskaan liikenne/frontend/traffic/src/App.js	
+++ b/Tavara- raskaan liikenne/frontend/traffic/src/App.js	
@@ -2,16 +2,17 @@ import React from 'react';
 import Linechart from './components/Linechart';
 import CarsGraph from './components/CarsGraph';
 import TestRequest from './components/TestRequest';
-import OneDayGraph from './components/OneDayGraph';
+import OneDayGraph from './components/OneDayGraph_v2';
 import LAMpoints from './components/LAMpoints'
 
 import './App.css';
 import 'bootstrap/dist/css/bootstrap.min.css';
-//<Linechart /> <CarsGraph />     <TestRequest /> <LAMpoints />
+//<Linechart /> <CarsGraph />     <TestRequest />    <LAMpoints />
 function App() {
   return (
     <div className="App">
-      <OneDayGraph />
+      
+      <OneDayGraph /> 
       
       
     </div>
diff --git a/Tavara- raskaan liikenne/frontend/traffic/src/components/LAMpoints.js b/Tavara- raskaan liikenne/frontend/traffic/src/components/LAMpoints.js
index 8fb3f6b..7c55b82 100644
--- a/Tavara- raskaan liikenne/frontend/traffic/src/components/LAMpoints.js	
+++ b/Tavara- raskaan liikenne/frontend/traffic/src/components/LAMpoints.js	
@@ -32,17 +32,17 @@ export class LAMpoints extends Component {
         axios.get(url)
         .then(res =>{
             let status = res.status;
-            console.log({status});
+            //console.log({status});
 
             if(res.status===200){
 
                 const features = res.data.features;
-                const LamPointsTotalNumber = features.length;
-                console.log(LamPointsTotalNumber);
+                //const LamPointsTotalNumber = features.length;
+                //console.log(LamPointsTotalNumber);
 
                 features.forEach(element => {
                     let lamPoint={
-                         id : element.id,
+                         id : element.properties.tmsNumber,
                          name : element.properties.name,
                          status :element.properties.collectionStatus,
                          coordinatesETRS89 :element.properties.coordinatesETRS89,
@@ -56,9 +56,13 @@ export class LAMpoints extends Component {
                     };
                     lamPointList.push(lamPoint);
 
+                    if(element.properties.province ==='Ahvenanmaa'){
+                        console.log("Ahvenanmaa 21",element);
+                    }
 
+                    
                 });
-                console.log(lamPointList)
+                //console.log(lamPointList)
 
             }else{
 
@@ -76,7 +80,7 @@ export class LAMpoints extends Component {
        let address=[];
        let ID=[];
        let areaID = parseInt(e.target.value);
-       console.log(areaID);
+       //console.log(areaID);
    
        lamPointList.forEach(element => {
 
@@ -99,7 +103,7 @@ export class LAMpoints extends Component {
 
     lamIDHandler=(e)=>{
         let pointID =parseInt(e.target.value);
-        console.log({pointID});
+        //console.log({pointID});
 
         let info = {};
         //getting the selected lam point information
@@ -126,6 +130,7 @@ export class LAMpoints extends Component {
         });
 
         this.props.info(info);
+        console.log({info})
     }
 
     yearHandler=(e)=>{
@@ -314,9 +319,12 @@ export class LAMpoints extends Component {
                     >
                     <option value="">Choose...</option>
                     {
-                        React.Children.map(address, (v,i)=>
-                            <option value={ids[i]}>{v}</option>
-                        )   
+                        // //React.Children.map(address, (v,i)=>
+                        //     <option value={ids[i]}>{v}</option>
+                        // )   
+                        React.Children.map(ids, (v,i)=>
+                            <option value={v}>{v}</option>
+                         ) 
                     }
                     </Form.Control>
                     
diff --git a/Tavara- raskaan liikenne/frontend/traffic/src/components/OneDayGraph_v2.js b/Tavara- raskaan liikenne/frontend/traffic/src/components/OneDayGraph_v2.js
index 5f39751..0a78c64 100644
--- a/Tavara- raskaan liikenne/frontend/traffic/src/components/OneDayGraph_v2.js	
+++ b/Tavara- raskaan liikenne/frontend/traffic/src/components/OneDayGraph_v2.js	
@@ -2,17 +2,14 @@ import React, { Component } from "react";
 import axios from "axios";
 import Chart from "react-apexcharts";
 import Form from "react-bootstrap/Form";
-import Col from "react-bootstrap/Col";
 import Button from "react-bootstrap/Button";
-import Row from "react-bootstrap/Row";
 import ButtonGroup from "react-bootstrap/ButtonGroup";
+import LAMpoints from "./LAMpoints";
 
 var year = "";
 var fromDate;
 var startDayNumber;
 
-
-const  dayHour= [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23];
 var VehicleNumberDataObjectForOneDay;
 var AvgSpeedDataObjectForOneDay;
 
@@ -28,6 +25,8 @@ export class CarsGraph extends Component {
       series2: [],
 
       year: "",
+      month:"",
+      day:"",
       areaID: "",
       lamID: "",
       startDayNumber: "",
@@ -43,8 +42,6 @@ export class CarsGraph extends Component {
       isloading: false,
     };
     this.yearHandler = this.yearHandler.bind(this);
-    this.lamIDHandler = this.lamIDHandler.bind(this);
-    this.areaIDHandler = this.areaIDHandler.bind(this);
     this.startDayNumberHandler = this.startDayNumberHandler.bind(this);
     this.vehicleClassHandler = this.vehicleClassHandler.bind(this);
     this.trafficDirectionHandler = this.trafficDirectionHandler.bind(this);
@@ -56,6 +53,10 @@ export class CarsGraph extends Component {
     var lamID = this.state.lamID;
     var startDayNumber_ = this.state.startDayNumber;
     var endDayNumber_ = this.state.endDayNumber;
+    //making one digit area id to 2 digit by adding a zero in begining of it
+    if(areaID<10){
+        areaID = "0"+areaID.toString()
+    }
 
     var url = `http://localhost:3030/api/vehicle/?year=${year_}&areaID=${areaID}&lamID=${lamID}&startDayNumber=${startDayNumber_}&endDayNumber=${endDayNumber_}`;//&vehicleClass=${vehicleClass}
     axios
@@ -275,7 +276,6 @@ export class CarsGraph extends Component {
     return DataObj;           
   }
 
-
 //function for filling the missing values like vehicle category and its number
 fillMissingValues=(input)=>{
     let final = {};
@@ -295,36 +295,42 @@ fillMissingValues=(input)=>{
 }
 
 
-
-  dateTodaynumber = (year, md) => {
+dateTodaynumber = (year, month,day) => {
     var x = new Date(year, 0, 0);
     x = x.getTime();
 
-    var d = md.split(".");
-    d = new Date(year, parseInt(d[0]) - 1, d[1]);
+    const monthList=['January','February','March','April','May', 'June','July',
+                        'August', 'September','October','November','December'];
+    var m;
+    for(let x=0; x<monthList.length;x++){
+        if(monthList[x]===month){
+            m=x;
+        }
+    }
+    var d = new Date(year, m, day);
     d = d.getTime();
     var sec = d - x;
     var secToDay = sec / 1000 / 60 / 60 / 24;
     secToDay = Math.floor(secToDay);
     return secToDay;
-  }
+}
 
   yearHandler(e) {
-    year = e.target.value;
+    year = e;
     this.setState({ year });
   }
-  areaIDHandler(e) {
-    var areaID = e.target.value;
-    this.setState({ areaID });
-  }
-  lamIDHandler(e) {
-    var lamID = e.target.value;
-    this.setState({ lamID });
+
+  monthHandler=(e)=>{
+      console.log("selected month",e)
+      this.setState({month : e});
   }
+
   startDayNumberHandler(e) {
-    fromDate = e.target.value;
-    startDayNumber = this.dateTodaynumber(year, e.target.value);
-    this.setState({ startDayNumber });
+      console.log('selected day',e)
+      this.setState({day: e});
+    // fromDate = e.target.value;
+    // startDayNumber = this.dateTodaynumber(year, e.target.value);
+    // this.setState({ startDayNumber });
   }
  
   vehicleClassHandler(e) {
@@ -336,6 +342,11 @@ fillMissingValues=(input)=>{
       
     });
   }
+  childStateHandler=(e)=>{
+    console.log("child state:", e)
+
+  }
+
   trafficDirectionHandler(e){
     var btnID = e.target.id;
     
@@ -357,43 +368,53 @@ fillMissingValues=(input)=>{
     });
   }
 
+  infoHandler = (info)=>{
+    var areaID = info.provinceCode;
+    var lamID = info.id;
+    this.setState({ lamID,areaID});
+  }
+
+
+
   buttonHandler = () => {
-    //checking for all input if they are fed with the right data
-    var patt = /^(0[1-9]|1[0-2])\.([0-2][0-9]|3[0-1])$/;
-    var matchPattern = patt.test(fromDate);
-    //console.log(matchPattern)
+    console.log(this.state);
+    let selectedYear = this.state.year;
+    let selectedMonth = this.state.month;
+    let selectedDay = this.state.day;
 
-    if (!matchPattern) {
-      this.setState({ error: "Please insert a valid date mm.dd!" });
-    } else {
-        this.setState({ error: "" });
-    }
+    let dayNumber = this.dateTodaynumber(selectedYear,selectedMonth,selectedDay);
+    
     var inputs = [
       this.state.year,
       this.state.areaID,
       this.state.lamID,
-      this.state.vehicleClass,
+      this.state.month,
+      this.state.day
+     
     ];
     if (
       (inputs[0] === "") |
       (inputs[1] === "") |
       (inputs[2] === "") |
-      !matchPattern 
+      (inputs[3] === "") |
+      (inputs[4] === "") 
     ) {
-        if(this.state.error !==""){
+
         this.setState({error:
-            "Please make sure that you have shosen right value for Year, Area, LAM point ID fields!",
+            "Please make sure that you have shosen right value for dates, Area, LAM point ID fields!",
         });
-        }
-        
+
     } else {
         this.setState({
+            error : "",
             message : "Please wait while the data is beeing processed! Depending on your inputs This might take a while!",
             btnDisabled : true
         })
-      
-        this.getData();
-      console.log("Sending request to server!")
+        this.setState({startDayNumber:dayNumber},()=>{
+            this.getData();
+            console.log("Sending request to server!")
+        });
+        
       //console.log(this.state)
     }
   };
@@ -403,13 +424,21 @@ fillMissingValues=(input)=>{
     return (
     <div className="oneDayGraphComponent">
       <div className="grid-container">
-          <div class="grid-item-heading">
+          <div className="grid-item-heading">
               Data analysis for one day
           </div>
 
-        <div class="grid-item-form">
-        <div style={{ color: "red" }}>{this.state.error}</div>
-        
+        <div className="grid-item-form">
+            <div style={{ color: "red" }}>{this.state.error}</div>
+
+            <LAMpoints 
+                info={this.infoHandler} 
+                selectedYear={this.yearHandler} 
+                selectedMonth={this.monthHandler} 
+                selectedDay={this.startDayNumberHandler} 
+                stateObject={this.childStateHandler}
+            />
+
             <Button
               type="button"
               className="my-1 mr-sm-2"
@@ -477,7 +506,7 @@ fillMissingValues=(input)=>{
             </ButtonGroup>
         </div>
 
-        <div class="grid-item-graph1">
+        <div className="grid-item-graph1">
             <div className="grid-item-graph-child"> 
             <Chart
             options={this.state.options}
@@ -489,7 +518,7 @@ fillMissingValues=(input)=>{
         
         </div>
         
-        <div class="grid-item-graph2">
+        <div className="grid-item-graph2">
             <div className="grid-item-graph-child"> 
             <Chart
             options={this.state.options2}
diff --git a/Tavara- raskaan liikenne/python/.ipynb_checkpoints/LAM_rawData_analysis-checkpoint.ipynb b/Tavara- raskaan liikenne/python/.ipynb_checkpoints/LAM_rawData_analysis-checkpoint.ipynb
index 93ac740..8e336ed 100644
--- a/Tavara- raskaan liikenne/python/.ipynb_checkpoints/LAM_rawData_analysis-checkpoint.ipynb	
+++ b/Tavara- raskaan liikenne/python/.ipynb_checkpoints/LAM_rawData_analysis-checkpoint.ipynb	
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [
     {
@@ -79,11 +79,14 @@
     },
     {
      "data": {
+      "image/png": "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\n",
       "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
+       "<Figure size 432x288 with 1 Axes>"
       ]
      },
-     "metadata": {},
+     "metadata": {
+      "needs_background": "light"
+     },
      "output_type": "display_data"
     }
    ],
@@ -127,7 +130,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
@@ -161,7 +164,7 @@
       "      3                  0\n",
       "      4                  4\n",
       "dtype: int64\n",
-      "{\"[0,1]\":178,\"[0,2]\":4,\"[0,3]\":26,\"[0,4]\":3,\"[0,5]\":0,\"[0,6]\":0,\"[0,7]\":0,\"[1,1]\":130,\"[1,2]\":9,\"[1,3]\":17,\"[1,4]\":7,\"[1,5]\":0,\"[1,6]\":0,\"[1,7]\":0,\"[2,1]\":73,\"[2,2]\":8,\"[2,3]\":2,\"[2,4]\":0,\"[2,5]\":0,\"[2,6]\":0,\"[2,7]\":0,\"[3,1]\":53,\"[3,2]\":3,\"[3,3]\":0,\"[3,4]\":4,\"[3,5]\":0,\"[3,6]\":1,\"[3,7]\":0,\"[4,1]\":44,\"[4,2]\":3,\"[4,3]\":1,\"[4,4]\":0,\"[4,5]\":0,\"[4,6]\":0,\"[4,7]\":0,\"[5,1]\":118,\"[5,2]\":5,\"[5,3]\":1,\"[5,4]\":1,\"[5,5]\":2,\"[5,6]\":0,\"[5,7]\":0,\"[6,1]\":347,\"[6,2]\":8,\"[6,3]\":5,\"[6,4]\":20,\"[6,5]\":4,\"[6,6]\":2,\"[6,7]\":1,\"[7,1]\":389,\"[7,2]\":4,\"[7,3]\":8,\"[7,4]\":60,\"[7,5]\":6,\"[7,6]\":3,\"[7,7]\":1,\"[8,1]\":526,\"[8,2]\":12,\"[8,3]\":5,\"[8,4]\":44,\"[8,5]\":8,\"[8,6]\":0,\"[8,7]\":2,\"[9,1]\":978,\"[9,2]\":9,\"[9,3]\":4,\"[9,4]\":28,\"[9,5]\":5,\"[9,6]\":5,\"[9,7]\":1,\"[10,1]\":1602,\"[10,2]\":6,\"[10,3]\":4,\"[10,4]\":8,\"[10,5]\":2,\"[10,6]\":6,\"[10,7]\":2,\"[11,1]\":2039,\"[11,2]\":13,\"[11,3]\":3,\"[11,4]\":18,\"[11,5]\":5,\"[11,6]\":10,\"[11,7]\":0,\"[12,1]\":2493,\"[12,2]\":11,\"[12,3]\":5,\"[12,4]\":11,\"[12,5]\":4,\"[12,6]\":8,\"[12,7]\":2,\"[13,1]\":2589,\"[13,2]\":8,\"[13,3]\":4,\"[13,4]\":23,\"[13,5]\":7,\"[13,6]\":6,\"[13,7]\":0,\"[14,1]\":2721,\"[14,2]\":8,\"[14,3]\":7,\"[14,4]\":21,\"[14,5]\":5,\"[14,6]\":10,\"[14,7]\":0,\"[15,1]\":2680,\"[15,2]\":7,\"[15,3]\":5,\"[15,4]\":15,\"[15,5]\":2,\"[15,6]\":9,\"[15,7]\":3,\"[16,1]\":2462,\"[16,2]\":5,\"[16,3]\":3,\"[16,4]\":4,\"[16,5]\":2,\"[16,6]\":11,\"[16,7]\":0,\"[17,1]\":2259,\"[17,2]\":10,\"[17,3]\":6,\"[17,4]\":2,\"[17,5]\":1,\"[17,6]\":10,\"[17,7]\":2,\"[18,1]\":1677,\"[18,2]\":7,\"[18,3]\":6,\"[18,4]\":2,\"[18,5]\":1,\"[18,6]\":6,\"[18,7]\":0,\"[19,1]\":1177,\"[19,2]\":7,\"[19,3]\":3,\"[19,4]\":2,\"[19,5]\":1,\"[19,6]\":5,\"[19,7]\":0,\"[20,1]\":982,\"[20,2]\":6,\"[20,3]\":9,\"[20,4]\":2,\"[20,5]\":2,\"[20,6]\":3,\"[20,7]\":0,\"[21,1]\":720,\"[21,2]\":3,\"[21,3]\":6,\"[21,4]\":3,\"[21,5]\":0,\"[21,6]\":1,\"[21,7]\":0,\"[22,1]\":446,\"[22,2]\":0,\"[22,3]\":5,\"[22,4]\":4,\"[22,5]\":1,\"[22,6]\":1,\"[22,7]\":0,\"[23,1]\":338,\"[23,2]\":3,\"[23,3]\":12,\"[23,4]\":11,\"[23,5]\":1,\"[23,6]\":3,\"[23,7]\":0}\n",
+      "{\"(0, 1)\":178,\"(0, 2)\":4,\"(0, 3)\":26,\"(0, 4)\":3,\"(0, 5)\":0,\"(0, 6)\":0,\"(0, 7)\":0,\"(1, 1)\":130,\"(1, 2)\":9,\"(1, 3)\":17,\"(1, 4)\":7,\"(1, 5)\":0,\"(1, 6)\":0,\"(1, 7)\":0,\"(2, 1)\":73,\"(2, 2)\":8,\"(2, 3)\":2,\"(2, 4)\":0,\"(2, 5)\":0,\"(2, 6)\":0,\"(2, 7)\":0,\"(3, 1)\":53,\"(3, 2)\":3,\"(3, 3)\":0,\"(3, 4)\":4,\"(3, 5)\":0,\"(3, 6)\":1,\"(3, 7)\":0,\"(4, 1)\":44,\"(4, 2)\":3,\"(4, 3)\":1,\"(4, 4)\":0,\"(4, 5)\":0,\"(4, 6)\":0,\"(4, 7)\":0,\"(5, 1)\":118,\"(5, 2)\":5,\"(5, 3)\":1,\"(5, 4)\":1,\"(5, 5)\":2,\"(5, 6)\":0,\"(5, 7)\":0,\"(6, 1)\":347,\"(6, 2)\":8,\"(6, 3)\":5,\"(6, 4)\":20,\"(6, 5)\":4,\"(6, 6)\":2,\"(6, 7)\":1,\"(7, 1)\":389,\"(7, 2)\":4,\"(7, 3)\":8,\"(7, 4)\":60,\"(7, 5)\":6,\"(7, 6)\":3,\"(7, 7)\":1,\"(8, 1)\":526,\"(8, 2)\":12,\"(8, 3)\":5,\"(8, 4)\":44,\"(8, 5)\":8,\"(8, 6)\":0,\"(8, 7)\":2,\"(9, 1)\":978,\"(9, 2)\":9,\"(9, 3)\":4,\"(9, 4)\":28,\"(9, 5)\":5,\"(9, 6)\":5,\"(9, 7)\":1,\"(10, 1)\":1602,\"(10, 2)\":6,\"(10, 3)\":4,\"(10, 4)\":8,\"(10, 5)\":2,\"(10, 6)\":6,\"(10, 7)\":2,\"(11, 1)\":2039,\"(11, 2)\":13,\"(11, 3)\":3,\"(11, 4)\":18,\"(11, 5)\":5,\"(11, 6)\":10,\"(11, 7)\":0,\"(12, 1)\":2493,\"(12, 2)\":11,\"(12, 3)\":5,\"(12, 4)\":11,\"(12, 5)\":4,\"(12, 6)\":8,\"(12, 7)\":2,\"(13, 1)\":2589,\"(13, 2)\":8,\"(13, 3)\":4,\"(13, 4)\":23,\"(13, 5)\":7,\"(13, 6)\":6,\"(13, 7)\":0,\"(14, 1)\":2721,\"(14, 2)\":8,\"(14, 3)\":7,\"(14, 4)\":21,\"(14, 5)\":5,\"(14, 6)\":10,\"(14, 7)\":0,\"(15, 1)\":2680,\"(15, 2)\":7,\"(15, 3)\":5,\"(15, 4)\":15,\"(15, 5)\":2,\"(15, 6)\":9,\"(15, 7)\":3,\"(16, 1)\":2462,\"(16, 2)\":5,\"(16, 3)\":3,\"(16, 4)\":4,\"(16, 5)\":2,\"(16, 6)\":11,\"(16, 7)\":0,\"(17, 1)\":2259,\"(17, 2)\":10,\"(17, 3)\":6,\"(17, 4)\":2,\"(17, 5)\":1,\"(17, 6)\":10,\"(17, 7)\":2,\"(18, 1)\":1677,\"(18, 2)\":7,\"(18, 3)\":6,\"(18, 4)\":2,\"(18, 5)\":1,\"(18, 6)\":6,\"(18, 7)\":0,\"(19, 1)\":1177,\"(19, 2)\":7,\"(19, 3)\":3,\"(19, 4)\":2,\"(19, 5)\":1,\"(19, 6)\":5,\"(19, 7)\":0,\"(20, 1)\":982,\"(20, 2)\":6,\"(20, 3)\":9,\"(20, 4)\":2,\"(20, 5)\":2,\"(20, 6)\":3,\"(20, 7)\":0,\"(21, 1)\":720,\"(21, 2)\":3,\"(21, 3)\":6,\"(21, 4)\":3,\"(21, 5)\":0,\"(21, 6)\":1,\"(21, 7)\":0,\"(22, 1)\":446,\"(22, 2)\":0,\"(22, 3)\":5,\"(22, 4)\":4,\"(22, 5)\":1,\"(22, 6)\":1,\"(22, 7)\":0,\"(23, 1)\":338,\"(23, 2)\":3,\"(23, 3)\":12,\"(23, 4)\":11,\"(23, 5)\":1,\"(23, 6)\":3,\"(23, 7)\":0}\n",
       "11.04.2020\n"
      ]
     }
@@ -261,7 +264,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [
     {
@@ -410,43 +413,36 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "in else!\n",
-      "09.01.2020\n",
-      "                              vehicle_number  avg_speed_km_h\n",
-      "hour vehicle_class direction                                \n",
-      "0    1             1                     103           82.83\n",
-      "                   2                      81           81.14\n",
-      "     2             1                       3           69.00\n",
-      "                   2                       3           83.33\n",
-      "     3             1                       9           72.44\n",
-      "                   2                      13           79.69\n",
-      "     4             1                       5           84.00\n",
-      "     5             1                       1           77.00\n",
-      "1    1             1                      58           82.60\n",
-      "                   2                      40           84.45\n",
-      "     2             1                       3           74.33\n",
-      "                   2                       4           79.75\n",
-      "     3             1                      11           79.82\n",
-      "                   2                       8           80.00\n",
-      "     4             1                       3           77.00\n",
-      "                   2                       2           80.00\n",
-      "2    1             1                      35           83.09\n",
-      "                   2                      27           82.04\n",
-      "     2             1                       5           80.20\n",
-      "                   2                       2           86.50\n",
-      "     3             1                       1           73.00\n",
-      "     4             2                       1           80.00\n",
-      "     5             1                       1           82.00\n",
-      "                   2                       2           83.00\n",
-      "3    1             1                      35           82.80\n",
-      "{\"vehicle_number\":{\"[0,1,1]\":103,\"[0,1,2]\":81,\"[0,2,1]\":3,\"[0,2,2]\":3,\"[0,3,1]\":9,\"[0,3,2]\":13,\"[0,4,1]\":5,\"[0,5,1]\":1,\"[1,1,1]\":58,\"[1,1,2]\":40,\"[1,2,1]\":3,\"[1,2,2]\":4,\"[1,3,1]\":11,\"[1,3,2]\":8,\"[1,4,1]\":3,\"[1,4,2]\":2,\"[2,1,1]\":35,\"[2,1,2]\":27,\"[2,2,1]\":5,\"[2,2,2]\":2,\"[2,3,1]\":1,\"[2,4,2]\":1,\"[2,5,1]\":1,\"[2,5,2]\":2,\"[3,1,1]\":35,\"[3,1,2]\":23,\"[3,2,2]\":1,\"[3,4,2]\":2,\"[4,1,1]\":51,\"[4,1,2]\":63,\"[4,2,1]\":1,\"[4,2,2]\":6,\"[4,3,2]\":3,\"[4,5,2]\":1,\"[4,6,2]\":2,\"[5,1,1]\":133,\"[5,1,2]\":349,\"[5,2,1]\":6,\"[5,2,2]\":14,\"[5,3,1]\":6,\"[5,3,2]\":10,\"[5,4,1]\":1,\"[5,4,2]\":9,\"[5,5,1]\":1,\"[5,5,2]\":2,\"[5,6,2]\":1,\"[5,7,2]\":2,\"[6,1,1]\":546,\"[6,1,2]\":1666,\"[6,2,1]\":15,\"[6,2,2]\":37,\"[6,3,1]\":10,\"[6,3,2]\":27,\"[6,4,1]\":5,\"[6,4,2]\":14,\"[6,5,1]\":3,\"[6,5,2]\":9,\"[6,6,1]\":1,\"[6,6,2]\":7,\"[6,7,1]\":1,\"[6,7,2]\":1,\"[7,1,1]\":1404,\"[7,1,2]\":3130,\"[7,2,1]\":26,\"[7,2,2]\":50,\"[7,3,1]\":15,\"[7,3,2]\":24,\"[7,4,1]\":8,\"[7,4,2]\":36,\"[7,5,1]\":6,\"[7,5,2]\":7,\"[7,6,1]\":4,\"[7,6,2]\":5,\"[7,7,1]\":1,\"[7,7,2]\":3,\"[8,1,1]\":2234,\"[8,1,2]\":3451,\"[8,2,1]\":43,\"[8,2,2]\":35,\"[8,3,1]\":21,\"[8,3,2]\":23,\"[8,4,1]\":50,\"[8,4,2]\":24,\"[8,5,1]\":10,\"[8,5,2]\":11,\"[8,6,1]\":5,\"[8,6,2]\":4,\"[8,7,1]\":1,\"[8,7,2]\":1,\"[9,1,1]\":1422,\"[9,1,2]\":2613,\"[9,2,1]\":53,\"[9,2,2]\":51,\"[9,3,1]\":17,\"[9,3,2]\":25,\"[9,4,1]\":39,\"[9,4,2]\":28,\"[9,5,1]\":12,\"[9,5,2]\":12,\"[9,6,1]\":3,\"[9,6,2]\":7,\"[9,7,1]\":4,\"[9,7,2]\":2,\"[10,1,1]\":1202,\"[10,1,2]\":1533,\"[10,2,1]\":55,\"[10,2,2]\":40,\"[10,3,1]\":9,\"[10,3,2]\":6,\"[10,4,1]\":27,\"[10,4,2]\":9,\"[10,5,1]\":7,\"[10,5,2]\":9,\"[10,6,1]\":5,\"[10,6,2]\":7,\"[10,7,1]\":2,\"[10,7,2]\":2,\"[11,1,1]\":1445,\"[11,1,2]\":1479,\"[11,2,1]\":56,\"[11,2,2]\":35,\"[11,3,1]\":5,\"[11,3,2]\":7,\"[11,4,1]\":4,\"[11,4,2]\":14,\"[11,5,1]\":4,\"[11,5,2]\":6,\"[11,6,1]\":4,\"[11,6,2]\":4,\"[11,7,1]\":1,\"[11,7,2]\":2,\"[12,1,1]\":1457,\"[12,1,2]\":1493,\"[12,2,1]\":50,\"[12,2,2]\":22,\"[12,3,1]\":5,\"[12,3,2]\":8,\"[12,4,1]\":2,\"[12,4,2]\":25,\"[12,5,1]\":3,\"[12,5,2]\":9,\"[12,6,2]\":1,\"[13,1,1]\":1676,\"[13,1,2]\":1360,\"[13,2,1]\":46,\"[13,2,2]\":31,\"[13,3,1]\":6,\"[13,3,2]\":8,\"[13,4,1]\":4,\"[13,4,2]\":38,\"[13,5,1]\":5,\"[13,5,2]\":9,\"[13,6,1]\":2,\"[13,6,2]\":3,\"[13,7,1]\":1,\"[13,7,2]\":1,\"[14,1,1]\":2197,\"[14,1,2]\":1437,\"[14,2,1]\":48,\"[14,2,2]\":27,\"[14,3,1]\":17,\"[14,3,2]\":31,\"[14,4,1]\":38,\"[14,4,2]\":31,\"[14,5,1]\":11,\"[14,5,2]\":5,\"[14,6,1]\":2,\"[14,6,2]\":2,\"[14,7,1]\":1,\"[14,7,2]\":4,\"[15,1,1]\":3346,\"[15,1,2]\":1771,\"[15,2,1]\":33,\"[15,2,2]\":29,\"[15,3,1]\":19,\"[15,3,2]\":23,\"[15,4,1]\":26,\"[15,4,2]\":23,\"[15,5,1]\":4,\"[15,5,2]\":2,\"[15,6,1]\":9,\"[15,6,2]\":8,\"[15,7,1]\":1,\"[15,7,2]\":1,\"[16,1,1]\":3777,\"[16,1,2]\":2300,\"[16,2,1]\":29,\"[16,2,2]\":10,\"[16,3,1]\":22,\"[16,3,2]\":22,\"[16,4,1]\":59,\"[16,4,2]\":31,\"[16,5,1]\":5,\"[16,5,2]\":3,\"[16,6,1]\":3,\"[16,6,2]\":4,\"[16,7,1]\":4,\"[16,7,2]\":1,\"[17,1,1]\":3102,\"[17,1,2]\":2076,\"[17,2,1]\":15,\"[17,2,2]\":12,\"[17,3,1]\":23,\"[17,3,2]\":22,\"[17,4,1]\":6,\"[17,4,2]\":20,\"[17,5,1]\":2,\"[17,5,2]\":8,\"[17,6,1]\":2,\"[17,6,2]\":5,\"[17,7,1]\":1,\"[17,7,2]\":1,\"[18,1,1]\":2115,\"[18,1,2]\":1513,\"[18,2,1]\":10,\"[18,2,2]\":13,\"[18,3,1]\":16,\"[18,3,2]\":12,\"[18,4,1]\":2,\"[18,4,2]\":20,\"[18,5,2]\":8,\"[18,6,1]\":1,\"[18,6,2]\":2,\"[18,7,1]\":2,\"[18,7,2]\":1,\"[19,1,1]\":1611,\"[19,1,2]\":1186,\"[19,2,1]\":9,\"[19,2,2]\":11,\"[19,3,1]\":5,\"[19,3,2]\":5,\"[19,4,1]\":2,\"[19,4,2]\":10,\"[19,5,1]\":1,\"[19,5,2]\":4,\"[19,6,1]\":2,\"[19,6,2]\":4,\"[19,7,2]\":1,\"[20,1,1]\":1221,\"[20,1,2]\":1002,\"[20,2,1]\":4,\"[20,2,2]\":7,\"[20,3,1]\":2,\"[20,3,2]\":5,\"[20,4,2]\":11,\"[20,5,1]\":1,\"[20,5,2]\":2,\"[20,6,1]\":1,\"[20,6,2]\":1,\"[21,1,1]\":1154,\"[21,1,2]\":583,\"[21,2,1]\":7,\"[21,2,2]\":5,\"[21,3,1]\":5,\"[21,3,2]\":1,\"[21,4,1]\":81,\"[21,4,2]\":5,\"[21,5,1]\":7,\"[21,5,2]\":3,\"[21,6,1]\":1,\"[21,6,2]\":1,\"[21,7,1]\":2,\"[22,1,1]\":449,\"[22,1,2]\":288,\"[22,2,1]\":9,\"[22,2,2]\":4,\"[22,3,1]\":3,\"[22,3,2]\":3,\"[22,4,1]\":8,\"[22,4,2]\":1,\"[22,5,2]\":3,\"[22,7,2]\":2,\"[23,1,1]\":215,\"[23,1,2]\":135,\"[23,2,1]\":2,\"[23,2,2]\":2,\"[23,3,1]\":3,\"[23,3,2]\":9,\"[23,4,2]\":1,\"[23,5,1]\":2},\"avg_speed_km_h\":{\"[0,1,1]\":82.83,\"[0,1,2]\":81.14,\"[0,2,1]\":69.0,\"[0,2,2]\":83.33,\"[0,3,1]\":72.44,\"[0,3,2]\":79.69,\"[0,4,1]\":84.0,\"[0,5,1]\":77.0,\"[1,1,1]\":82.6,\"[1,1,2]\":84.45,\"[1,2,1]\":74.33,\"[1,2,2]\":79.75,\"[1,3,1]\":79.82,\"[1,3,2]\":80.0,\"[1,4,1]\":77.0,\"[1,4,2]\":80.0,\"[2,1,1]\":83.09,\"[2,1,2]\":82.04,\"[2,2,1]\":80.2,\"[2,2,2]\":86.5,\"[2,3,1]\":73.0,\"[2,4,2]\":80.0,\"[2,5,1]\":82.0,\"[2,5,2]\":83.0,\"[3,1,1]\":82.8,\"[3,1,2]\":84.48,\"[3,2,2]\":76.0,\"[3,4,2]\":81.0,\"[4,1,1]\":80.41,\"[4,1,2]\":81.51,\"[4,2,1]\":87.0,\"[4,2,2]\":82.5,\"[4,3,2]\":75.0,\"[4,5,2]\":79.0,\"[4,6,2]\":82.5,\"[5,1,1]\":83.08,\"[5,1,2]\":84.72,\"[5,2,1]\":81.33,\"[5,2,2]\":76.93,\"[5,3,1]\":76.83,\"[5,3,2]\":70.5,\"[5,4,1]\":74.0,\"[5,4,2]\":83.0,\"[5,5,1]\":76.0,\"[5,5,2]\":83.0,\"[5,6,2]\":77.0,\"[5,7,2]\":84.5,\"[6,1,1]\":81.23,\"[6,1,2]\":82.82,\"[6,2,1]\":76.67,\"[6,2,2]\":80.27,\"[6,3,1]\":73.5,\"[6,3,2]\":73.22,\"[6,4,1]\":72.4,\"[6,4,2]\":76.14,\"[6,5,1]\":79.67,\"[6,5,2]\":84.0,\"[6,6,1]\":22.0,\"[6,6,2]\":79.86,\"[6,7,1]\":25.0,\"[6,7,2]\":81.0,\"[7,1,1]\":78.4,\"[7,1,2]\":77.62,\"[7,2,1]\":76.88,\"[7,2,2]\":76.5,\"[7,3,1]\":74.6,\"[7,3,2]\":78.33,\"[7,4,1]\":73.5,\"[7,4,2]\":73.42,\"[7,5,1]\":70.5,\"[7,5,2]\":68.86,\"[7,6,1]\":79.75,\"[7,6,2]\":73.8,\"[7,7,1]\":68.0,\"[7,7,2]\":68.67,\"[8,1,1]\":76.27,\"[8,1,2]\":75.49,\"[8,2,1]\":71.07,\"[8,2,2]\":75.03,\"[8,3,1]\":72.48,\"[8,3,2]\":72.17,\"[8,4,1]\":70.12,\"[8,4,2]\":75.33,\"[8,5,1]\":72.7,\"[8,5,2]\":70.82,\"[8,6,1]\":74.2,\"[8,6,2]\":78.75,\"[8,7,1]\":77.0,\"[8,7,2]\":73.0,\"[9,1,1]\":80.13,\"[9,1,2]\":77.34,\"[9,2,1]\":75.28,\"[9,2,2]\":75.41,\"[9,3,1]\":76.71,\"[9,3,2]\":76.12,\"[9,4,1]\":77.82,\"[9,4,2]\":76.36,\"[9,5,1]\":76.25,\"[9,5,2]\":76.75,\"[9,6,1]\":76.33,\"[9,6,2]\":74.0,\"[9,7,1]\":77.75,\"[9,7,2]\":59.5,\"[10,1,1]\":80.19,\"[10,1,2]\":79.77,\"[10,2,1]\":79.2,\"[10,2,2]\":77.32,\"[10,3,1]\":71.78,\"[10,3,2]\":74.83,\"[10,4,1]\":74.0,\"[10,4,2]\":77.11,\"[10,5,1]\":73.43,\"[10,5,2]\":69.0,\"[10,6,1]\":76.2,\"[10,6,2]\":77.14,\"[10,7,1]\":75.0,\"[10,7,2]\":76.0,\"[11,1,1]\":80.44,\"[11,1,2]\":79.85,\"[11,2,1]\":79.23,\"[11,2,2]\":75.77,\"[11,3,1]\":74.6,\"[11,3,2]\":69.0,\"[11,4,1]\":76.5,\"[11,4,2]\":77.64,\"[11,5,1]\":59.25,\"[11,5,2]\":77.0,\"[11,6,1]\":75.0,\"[11,6,2]\":78.5,\"[11,7,1]\":72.0,\"[11,7,2]\":84.0,\"[12,1,1]\":80.89,\"[12,1,2]\":80.16,\"[12,2,1]\":78.22,\"[12,2,2]\":80.36,\"[12,3,1]\":71.8,\"[12,3,2]\":78.38,\"[12,4,1]\":81.0,\"[12,4,2]\":77.4,\"[12,5,1]\":59.0,\"[12,5,2]\":78.89,\"[12,6,2]\":73.0,\"[13,1,1]\":79.76,\"[13,1,2]\":79.63,\"[13,2,1]\":77.48,\"[13,2,2]\":78.84,\"[13,3,1]\":78.33,\"[13,3,2]\":78.25,\"[13,4,1]\":82.25,\"[13,4,2]\":77.71,\"[13,5,1]\":77.0,\"[13,5,2]\":75.11,\"[13,6,1]\":77.0,\"[13,6,2]\":83.0,\"[13,7,1]\":69.0,\"[13,7,2]\":73.0,\"[14,1,1]\":80.27,\"[14,1,2]\":79.58,\"[14,2,1]\":75.67,\"[14,2,2]\":79.07,\"[14,3,1]\":75.88,\"[14,3,2]\":78.71,\"[14,4,1]\":73.66,\"[14,4,2]\":78.97,\"[14,5,1]\":78.82,\"[14,5,2]\":82.4,\"[14,6,1]\":74.5,\"[14,6,2]\":75.0,\"[14,7,1]\":28.0,\"[14,7,2]\":74.75,\"[15,1,1]\":76.41,\"[15,1,2]\":78.74,\"[15,2,1]\":74.67,\"[15,2,2]\":77.52,\"[15,3,1]\":69.05,\"[15,3,2]\":77.0,\"[15,4,1]\":68.85,\"[15,4,2]\":76.52,\"[15,5,1]\":47.5,\"[15,5,2]\":78.5,\"[15,6,1]\":71.78,\"[15,6,2]\":70.25,\"[15,7,1]\":75.0,\"[15,7,2]\":82.0,\"[16,1,1]\":69.22,\"[16,1,2]\":77.75,\"[16,2,1]\":64.79,\"[16,2,2]\":82.9,\"[16,3,1]\":73.68,\"[16,3,2]\":76.36,\"[16,4,1]\":61.86,\"[16,4,2]\":70.94,\"[16,5,1]\":55.8,\"[16,5,2]\":58.67,\"[16,6,1]\":47.0,\"[16,6,2]\":82.25,\"[16,7,1]\":67.0,\"[16,7,2]\":81.0,\"[17,1,1]\":74.68,\"[17,1,2]\":77.29,\"[17,2,1]\":68.4,\"[17,2,2]\":75.33,\"[17,3,1]\":74.7,\"[17,3,2]\":77.41,\"[17,4,1]\":69.17,\"[17,4,2]\":72.8,\"[17,5,1]\":71.0,\"[17,5,2]\":77.25,\"[17,6,1]\":72.5,\"[17,6,2]\":79.0,\"[17,7,1]\":58.0,\"[17,7,2]\":71.0,\"[18,1,1]\":78.88,\"[18,1,2]\":79.68,\"[18,2,1]\":76.1,\"[18,2,2]\":68.92,\"[18,3,1]\":77.19,\"[18,3,2]\":79.33,\"[18,4,1]\":69.0,\"[18,4,2]\":75.9,\"[18,5,2]\":78.62,\"[18,6,1]\":68.0,\"[18,6,2]\":79.0,\"[18,7,1]\":63.0,\"[18,7,2]\":81.0,\"[19,1,1]\":79.55,\"[19,1,2]\":80.07,\"[19,2,1]\":70.89,\"[19,2,2]\":75.55,\"[19,3,1]\":74.4,\"[19,3,2]\":76.2,\"[19,4,1]\":81.5,\"[19,4,2]\":80.0,\"[19,5,1]\":71.0,\"[19,5,2]\":60.25,\"[19,6,1]\":73.0,\"[19,6,2]\":77.0,\"[19,7,2]\":60.0,\"[20,1,1]\":80.21,\"[20,1,2]\":81.18,\"[20,2,1]\":80.5,\"[20,2,2]\":78.71,\"[20,3,1]\":68.0,\"[20,3,2]\":76.0,\"[20,4,2]\":81.36,\"[20,5,1]\":41.0,\"[20,5,2]\":87.0,\"[20,6,1]\":73.0,\"[20,6,2]\":70.0,\"[21,1,1]\":81.34,\"[21,1,2]\":81.87,\"[21,2,1]\":80.86,\"[21,2,2]\":78.8,\"[21,3,1]\":76.0,\"[21,3,2]\":83.0,\"[21,4,1]\":77.32,\"[21,4,2]\":81.2,\"[21,5,1]\":81.0,\"[21,5,2]\":73.33,\"[21,6,1]\":79.0,\"[21,6,2]\":81.0,\"[21,7,1]\":77.0,\"[22,1,1]\":81.5,\"[22,1,2]\":81.73,\"[22,2,1]\":74.56,\"[22,2,2]\":74.25,\"[22,3,1]\":80.0,\"[22,3,2]\":71.67,\"[22,4,1]\":76.75,\"[22,4,2]\":83.0,\"[22,5,2]\":61.67,\"[22,7,2]\":80.5,\"[23,1,1]\":82.96,\"[23,1,2]\":81.59,\"[23,2,1]\":69.5,\"[23,2,2]\":70.0,\"[23,3,1]\":83.67,\"[23,3,2]\":79.0,\"[23,4,2]\":72.0,\"[23,5,1]\":78.0}}\n"
+      "805\n",
+      "in else!\n"
+     ]
+    },
+    {
+     "ename": "HTTPError",
+     "evalue": "HTTP Error 404: Not Found",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mHTTPError\u001b[0m                                 Traceback (most recent call last)",
+      "\u001b[0;32m<ipython-input-6-2e1f07dde99d>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     86\u001b[0m     \u001b[0murl\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"https://aineistot.vayla.fi/lam/rawdata/{year}/{areaID}/lamraw_{lamID}_{shortYear}_{startDayNumber}.csv\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0myear\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0myear\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mareaID\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mareaID\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mlamID\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlamID\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mshortYear\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mshortYear\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstartDayNumber\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstartDayNumber\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     87\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 88\u001b[0;31m     \u001b[0mallData\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnames\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnames\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msep\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\";\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     89\u001b[0m     \u001b[0;31m#df = allData[allData[\"vehicle_class\"]==vehicle_class[0]]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     90\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36mparser_f\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)\u001b[0m\n\u001b[1;32m    674\u001b[0m         )\n\u001b[1;32m    675\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 676\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0m_read\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    677\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    678\u001b[0m     \u001b[0mparser_f\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m    429\u001b[0m     \u001b[0;31m# See https://github.com/python/mypy/issues/1297\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    430\u001b[0m     fp_or_buf, _, compression, should_close = get_filepath_or_buffer(\n\u001b[0;32m--> 431\u001b[0;31m         \u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mencoding\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcompression\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    432\u001b[0m     )\n\u001b[1;32m    433\u001b[0m     \u001b[0mkwds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"compression\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcompression\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/pandas/io/common.py\u001b[0m in \u001b[0;36mget_filepath_or_buffer\u001b[0;34m(filepath_or_buffer, encoding, compression, mode)\u001b[0m\n\u001b[1;32m    170\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    171\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mis_url\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 172\u001b[0;31m         \u001b[0mreq\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0murlopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    173\u001b[0m         \u001b[0mcontent_encoding\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mreq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mheaders\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Content-Encoding\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    174\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mcontent_encoding\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"gzip\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/pandas/io/common.py\u001b[0m in \u001b[0;36murlopen\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m    139\u001b[0m     \u001b[0;32mimport\u001b[0m \u001b[0murllib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrequest\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    140\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 141\u001b[0;31m     \u001b[0;32mreturn\u001b[0m \u001b[0murllib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrequest\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0murlopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    142\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    143\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/opt/anaconda3/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36murlopen\u001b[0;34m(url, data, timeout, cafile, capath, cadefault, context)\u001b[0m\n\u001b[1;32m    220\u001b[0m     \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    221\u001b[0m         \u001b[0mopener\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_opener\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 222\u001b[0;31m     \u001b[0;32mreturn\u001b[0m \u001b[0mopener\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    223\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    224\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0minstall_opener\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mopener\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/opt/anaconda3/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36mopen\u001b[0;34m(self, fullurl, data, timeout)\u001b[0m\n\u001b[1;32m    529\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mprocessor\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprocess_response\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprotocol\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    530\u001b[0m             \u001b[0mmeth\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprocessor\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmeth_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 531\u001b[0;31m             \u001b[0mresponse\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmeth\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mresponse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    532\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    533\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mresponse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/opt/anaconda3/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36mhttp_response\u001b[0;34m(self, request, response)\u001b[0m\n\u001b[1;32m    639\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m200\u001b[0m \u001b[0;34m<=\u001b[0m \u001b[0mcode\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m300\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    640\u001b[0m             response = self.parent.error(\n\u001b[0;32m--> 641\u001b[0;31m                 'http', request, response, code, msg, hdrs)\n\u001b[0m\u001b[1;32m    642\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    643\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mresponse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/opt/anaconda3/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36merror\u001b[0;34m(self, proto, *args)\u001b[0m\n\u001b[1;32m    567\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mhttp_err\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    568\u001b[0m             \u001b[0margs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'default'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'http_error_default'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0morig_args\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 569\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call_chain\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    570\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    571\u001b[0m \u001b[0;31m# XXX probably also want an abstract factory that knows when it makes\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/opt/anaconda3/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36m_call_chain\u001b[0;34m(self, chain, kind, meth_name, *args)\u001b[0m\n\u001b[1;32m    501\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mhandler\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mhandlers\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    502\u001b[0m             \u001b[0mfunc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mhandler\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmeth_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 503\u001b[0;31m             \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    504\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    505\u001b[0m                 \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/opt/anaconda3/lib/python3.7/urllib/request.py\u001b[0m in \u001b[0;36mhttp_error_default\u001b[0;34m(self, req, fp, code, msg, hdrs)\u001b[0m\n\u001b[1;32m    647\u001b[0m \u001b[0;32mclass\u001b[0m \u001b[0mHTTPDefaultErrorHandler\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBaseHandler\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    648\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mhttp_error_default\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhdrs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 649\u001b[0;31m         \u001b[0;32mraise\u001b[0m \u001b[0mHTTPError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfull_url\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhdrs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    650\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    651\u001b[0m \u001b[0;32mclass\u001b[0m \u001b[0mHTTPRedirectHandler\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBaseHandler\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;31mHTTPError\u001b[0m: HTTP Error 404: Not Found"
      ]
     }
    ],
@@ -454,19 +450,25 @@
     "# getting count number for each vehicle class, avarage speed for each class and direction\n",
     "\n",
     "import datetime\n",
+    "import pandas as pd\n",
+    "import numpy as np\n",
+    "\n",
+    "import matplotlib.pyplot as plt\n",
     "\n",
     "\n",
     "year = \"2020\"\n",
-    "areaID = \"01\"\n",
-    "lamID = \"101\"\n",
+    "areaID = \"08\"\n",
+    "lamID = \"705\"\n",
     "shortYear = year[-2:]\n",
-    "startDayNumber = \"8\"\n",
+    "startDayNumber = \"30\"\n",
     "endDayNumber = \"\"\n",
     "vehicle_class =[4]\n",
     "\n",
     "output = pd.DataFrame()\n",
     "\n",
+    "names = [\"point_d\", \"Year\", \"day_number\", \"hour\", \"minute\", \"second\", \"100th_of_a_second\", \"length_m\",\"lane\", \"direction\", \"vehicle_class\", \"speed_km/h\", \"faulty_0=valid_1=incorrect\", \"total_time\", \"interval\",\"jonoalku\"]\n",
     "\n",
+    "print(lamID)\n",
     "\n",
     "if(len(endDayNumber)!=0):\n",
     "    start = int(startDayNumber)\n",
@@ -574,7 +576,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.7.4"
+   "version": "3.7.6"
   }
  },
  "nbformat": 4,
diff --git a/Tavara- raskaan liikenne/python/LAM_rawData_analysis.ipynb b/Tavara- raskaan liikenne/python/LAM_rawData_analysis.ipynb
index cf47a24..780d4eb 100644
--- a/Tavara- raskaan liikenne/python/LAM_rawData_analysis.ipynb	
+++ b/Tavara- raskaan liikenne/python/LAM_rawData_analysis.ipynb	
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [
     {
@@ -79,11 +79,14 @@
     },
     {
      "data": {
+      "image/png": "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\n",
       "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
+       "<Figure size 432x288 with 1 Axes>"
       ]
      },
-     "metadata": {},
+     "metadata": {
+      "needs_background": "light"
+     },
      "output_type": "display_data"
     }
    ],
@@ -127,7 +130,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
@@ -161,7 +164,7 @@
       "      3                  0\n",
       "      4                  4\n",
       "dtype: int64\n",
-      "{\"[0,1]\":178,\"[0,2]\":4,\"[0,3]\":26,\"[0,4]\":3,\"[0,5]\":0,\"[0,6]\":0,\"[0,7]\":0,\"[1,1]\":130,\"[1,2]\":9,\"[1,3]\":17,\"[1,4]\":7,\"[1,5]\":0,\"[1,6]\":0,\"[1,7]\":0,\"[2,1]\":73,\"[2,2]\":8,\"[2,3]\":2,\"[2,4]\":0,\"[2,5]\":0,\"[2,6]\":0,\"[2,7]\":0,\"[3,1]\":53,\"[3,2]\":3,\"[3,3]\":0,\"[3,4]\":4,\"[3,5]\":0,\"[3,6]\":1,\"[3,7]\":0,\"[4,1]\":44,\"[4,2]\":3,\"[4,3]\":1,\"[4,4]\":0,\"[4,5]\":0,\"[4,6]\":0,\"[4,7]\":0,\"[5,1]\":118,\"[5,2]\":5,\"[5,3]\":1,\"[5,4]\":1,\"[5,5]\":2,\"[5,6]\":0,\"[5,7]\":0,\"[6,1]\":347,\"[6,2]\":8,\"[6,3]\":5,\"[6,4]\":20,\"[6,5]\":4,\"[6,6]\":2,\"[6,7]\":1,\"[7,1]\":389,\"[7,2]\":4,\"[7,3]\":8,\"[7,4]\":60,\"[7,5]\":6,\"[7,6]\":3,\"[7,7]\":1,\"[8,1]\":526,\"[8,2]\":12,\"[8,3]\":5,\"[8,4]\":44,\"[8,5]\":8,\"[8,6]\":0,\"[8,7]\":2,\"[9,1]\":978,\"[9,2]\":9,\"[9,3]\":4,\"[9,4]\":28,\"[9,5]\":5,\"[9,6]\":5,\"[9,7]\":1,\"[10,1]\":1602,\"[10,2]\":6,\"[10,3]\":4,\"[10,4]\":8,\"[10,5]\":2,\"[10,6]\":6,\"[10,7]\":2,\"[11,1]\":2039,\"[11,2]\":13,\"[11,3]\":3,\"[11,4]\":18,\"[11,5]\":5,\"[11,6]\":10,\"[11,7]\":0,\"[12,1]\":2493,\"[12,2]\":11,\"[12,3]\":5,\"[12,4]\":11,\"[12,5]\":4,\"[12,6]\":8,\"[12,7]\":2,\"[13,1]\":2589,\"[13,2]\":8,\"[13,3]\":4,\"[13,4]\":23,\"[13,5]\":7,\"[13,6]\":6,\"[13,7]\":0,\"[14,1]\":2721,\"[14,2]\":8,\"[14,3]\":7,\"[14,4]\":21,\"[14,5]\":5,\"[14,6]\":10,\"[14,7]\":0,\"[15,1]\":2680,\"[15,2]\":7,\"[15,3]\":5,\"[15,4]\":15,\"[15,5]\":2,\"[15,6]\":9,\"[15,7]\":3,\"[16,1]\":2462,\"[16,2]\":5,\"[16,3]\":3,\"[16,4]\":4,\"[16,5]\":2,\"[16,6]\":11,\"[16,7]\":0,\"[17,1]\":2259,\"[17,2]\":10,\"[17,3]\":6,\"[17,4]\":2,\"[17,5]\":1,\"[17,6]\":10,\"[17,7]\":2,\"[18,1]\":1677,\"[18,2]\":7,\"[18,3]\":6,\"[18,4]\":2,\"[18,5]\":1,\"[18,6]\":6,\"[18,7]\":0,\"[19,1]\":1177,\"[19,2]\":7,\"[19,3]\":3,\"[19,4]\":2,\"[19,5]\":1,\"[19,6]\":5,\"[19,7]\":0,\"[20,1]\":982,\"[20,2]\":6,\"[20,3]\":9,\"[20,4]\":2,\"[20,5]\":2,\"[20,6]\":3,\"[20,7]\":0,\"[21,1]\":720,\"[21,2]\":3,\"[21,3]\":6,\"[21,4]\":3,\"[21,5]\":0,\"[21,6]\":1,\"[21,7]\":0,\"[22,1]\":446,\"[22,2]\":0,\"[22,3]\":5,\"[22,4]\":4,\"[22,5]\":1,\"[22,6]\":1,\"[22,7]\":0,\"[23,1]\":338,\"[23,2]\":3,\"[23,3]\":12,\"[23,4]\":11,\"[23,5]\":1,\"[23,6]\":3,\"[23,7]\":0}\n",
+      "{\"(0, 1)\":178,\"(0, 2)\":4,\"(0, 3)\":26,\"(0, 4)\":3,\"(0, 5)\":0,\"(0, 6)\":0,\"(0, 7)\":0,\"(1, 1)\":130,\"(1, 2)\":9,\"(1, 3)\":17,\"(1, 4)\":7,\"(1, 5)\":0,\"(1, 6)\":0,\"(1, 7)\":0,\"(2, 1)\":73,\"(2, 2)\":8,\"(2, 3)\":2,\"(2, 4)\":0,\"(2, 5)\":0,\"(2, 6)\":0,\"(2, 7)\":0,\"(3, 1)\":53,\"(3, 2)\":3,\"(3, 3)\":0,\"(3, 4)\":4,\"(3, 5)\":0,\"(3, 6)\":1,\"(3, 7)\":0,\"(4, 1)\":44,\"(4, 2)\":3,\"(4, 3)\":1,\"(4, 4)\":0,\"(4, 5)\":0,\"(4, 6)\":0,\"(4, 7)\":0,\"(5, 1)\":118,\"(5, 2)\":5,\"(5, 3)\":1,\"(5, 4)\":1,\"(5, 5)\":2,\"(5, 6)\":0,\"(5, 7)\":0,\"(6, 1)\":347,\"(6, 2)\":8,\"(6, 3)\":5,\"(6, 4)\":20,\"(6, 5)\":4,\"(6, 6)\":2,\"(6, 7)\":1,\"(7, 1)\":389,\"(7, 2)\":4,\"(7, 3)\":8,\"(7, 4)\":60,\"(7, 5)\":6,\"(7, 6)\":3,\"(7, 7)\":1,\"(8, 1)\":526,\"(8, 2)\":12,\"(8, 3)\":5,\"(8, 4)\":44,\"(8, 5)\":8,\"(8, 6)\":0,\"(8, 7)\":2,\"(9, 1)\":978,\"(9, 2)\":9,\"(9, 3)\":4,\"(9, 4)\":28,\"(9, 5)\":5,\"(9, 6)\":5,\"(9, 7)\":1,\"(10, 1)\":1602,\"(10, 2)\":6,\"(10, 3)\":4,\"(10, 4)\":8,\"(10, 5)\":2,\"(10, 6)\":6,\"(10, 7)\":2,\"(11, 1)\":2039,\"(11, 2)\":13,\"(11, 3)\":3,\"(11, 4)\":18,\"(11, 5)\":5,\"(11, 6)\":10,\"(11, 7)\":0,\"(12, 1)\":2493,\"(12, 2)\":11,\"(12, 3)\":5,\"(12, 4)\":11,\"(12, 5)\":4,\"(12, 6)\":8,\"(12, 7)\":2,\"(13, 1)\":2589,\"(13, 2)\":8,\"(13, 3)\":4,\"(13, 4)\":23,\"(13, 5)\":7,\"(13, 6)\":6,\"(13, 7)\":0,\"(14, 1)\":2721,\"(14, 2)\":8,\"(14, 3)\":7,\"(14, 4)\":21,\"(14, 5)\":5,\"(14, 6)\":10,\"(14, 7)\":0,\"(15, 1)\":2680,\"(15, 2)\":7,\"(15, 3)\":5,\"(15, 4)\":15,\"(15, 5)\":2,\"(15, 6)\":9,\"(15, 7)\":3,\"(16, 1)\":2462,\"(16, 2)\":5,\"(16, 3)\":3,\"(16, 4)\":4,\"(16, 5)\":2,\"(16, 6)\":11,\"(16, 7)\":0,\"(17, 1)\":2259,\"(17, 2)\":10,\"(17, 3)\":6,\"(17, 4)\":2,\"(17, 5)\":1,\"(17, 6)\":10,\"(17, 7)\":2,\"(18, 1)\":1677,\"(18, 2)\":7,\"(18, 3)\":6,\"(18, 4)\":2,\"(18, 5)\":1,\"(18, 6)\":6,\"(18, 7)\":0,\"(19, 1)\":1177,\"(19, 2)\":7,\"(19, 3)\":3,\"(19, 4)\":2,\"(19, 5)\":1,\"(19, 6)\":5,\"(19, 7)\":0,\"(20, 1)\":982,\"(20, 2)\":6,\"(20, 3)\":9,\"(20, 4)\":2,\"(20, 5)\":2,\"(20, 6)\":3,\"(20, 7)\":0,\"(21, 1)\":720,\"(21, 2)\":3,\"(21, 3)\":6,\"(21, 4)\":3,\"(21, 5)\":0,\"(21, 6)\":1,\"(21, 7)\":0,\"(22, 1)\":446,\"(22, 2)\":0,\"(22, 3)\":5,\"(22, 4)\":4,\"(22, 5)\":1,\"(22, 6)\":1,\"(22, 7)\":0,\"(23, 1)\":338,\"(23, 2)\":3,\"(23, 3)\":12,\"(23, 4)\":11,\"(23, 5)\":1,\"(23, 6)\":3,\"(23, 7)\":0}\n",
       "11.04.2020\n"
      ]
     }
@@ -410,43 +413,44 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 7,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
+      "705\n",
       "in else!\n",
-      "09.01.2020\n",
+      "31.01.2020\n",
       "                              vehicle_number  avg_speed_km_h\n",
       "hour vehicle_class direction                                \n",
-      "0    1             1                     103            82.8\n",
-      "                   2                      81            81.1\n",
-      "     2             1                       3            69.0\n",
-      "                   2                       3            83.3\n",
-      "     3             1                       9            72.4\n",
-      "                   2                      13            79.7\n",
-      "     4             1                       5            84.0\n",
-      "     5             1                       1            77.0\n",
-      "1    1             1                      58            82.6\n",
-      "                   2                      40            84.4\n",
-      "     2             1                       3            74.3\n",
-      "                   2                       4            79.8\n",
-      "     3             1                      11            79.8\n",
-      "                   2                       8            80.0\n",
-      "     4             1                       3            77.0\n",
-      "                   2                       2            80.0\n",
-      "2    1             1                      35            83.1\n",
-      "                   2                      27            82.0\n",
-      "     2             1                       5            80.2\n",
-      "                   2                       2            86.5\n",
-      "     3             1                       1            73.0\n",
-      "     4             2                       1            80.0\n",
-      "     5             1                       1            82.0\n",
-      "                   2                       2            83.0\n",
-      "3    1             1                      35            82.8\n",
-      "{\"vehicle_number\":{\"[0,1,1]\":103,\"[0,1,2]\":81,\"[0,2,1]\":3,\"[0,2,2]\":3,\"[0,3,1]\":9,\"[0,3,2]\":13,\"[0,4,1]\":5,\"[0,5,1]\":1,\"[1,1,1]\":58,\"[1,1,2]\":40,\"[1,2,1]\":3,\"[1,2,2]\":4,\"[1,3,1]\":11,\"[1,3,2]\":8,\"[1,4,1]\":3,\"[1,4,2]\":2,\"[2,1,1]\":35,\"[2,1,2]\":27,\"[2,2,1]\":5,\"[2,2,2]\":2,\"[2,3,1]\":1,\"[2,4,2]\":1,\"[2,5,1]\":1,\"[2,5,2]\":2,\"[3,1,1]\":35,\"[3,1,2]\":23,\"[3,2,2]\":1,\"[3,4,2]\":2,\"[4,1,1]\":51,\"[4,1,2]\":63,\"[4,2,1]\":1,\"[4,2,2]\":6,\"[4,3,2]\":3,\"[4,5,2]\":1,\"[4,6,2]\":2,\"[5,1,1]\":133,\"[5,1,2]\":349,\"[5,2,1]\":6,\"[5,2,2]\":14,\"[5,3,1]\":6,\"[5,3,2]\":10,\"[5,4,1]\":1,\"[5,4,2]\":9,\"[5,5,1]\":1,\"[5,5,2]\":2,\"[5,6,2]\":1,\"[5,7,2]\":2,\"[6,1,1]\":546,\"[6,1,2]\":1666,\"[6,2,1]\":15,\"[6,2,2]\":37,\"[6,3,1]\":10,\"[6,3,2]\":27,\"[6,4,1]\":5,\"[6,4,2]\":14,\"[6,5,1]\":3,\"[6,5,2]\":9,\"[6,6,1]\":1,\"[6,6,2]\":7,\"[6,7,1]\":1,\"[6,7,2]\":1,\"[7,1,1]\":1404,\"[7,1,2]\":3130,\"[7,2,1]\":26,\"[7,2,2]\":50,\"[7,3,1]\":15,\"[7,3,2]\":24,\"[7,4,1]\":8,\"[7,4,2]\":36,\"[7,5,1]\":6,\"[7,5,2]\":7,\"[7,6,1]\":4,\"[7,6,2]\":5,\"[7,7,1]\":1,\"[7,7,2]\":3,\"[8,1,1]\":2234,\"[8,1,2]\":3451,\"[8,2,1]\":43,\"[8,2,2]\":35,\"[8,3,1]\":21,\"[8,3,2]\":23,\"[8,4,1]\":50,\"[8,4,2]\":24,\"[8,5,1]\":10,\"[8,5,2]\":11,\"[8,6,1]\":5,\"[8,6,2]\":4,\"[8,7,1]\":1,\"[8,7,2]\":1,\"[9,1,1]\":1422,\"[9,1,2]\":2613,\"[9,2,1]\":53,\"[9,2,2]\":51,\"[9,3,1]\":17,\"[9,3,2]\":25,\"[9,4,1]\":39,\"[9,4,2]\":28,\"[9,5,1]\":12,\"[9,5,2]\":12,\"[9,6,1]\":3,\"[9,6,2]\":7,\"[9,7,1]\":4,\"[9,7,2]\":2,\"[10,1,1]\":1202,\"[10,1,2]\":1533,\"[10,2,1]\":55,\"[10,2,2]\":40,\"[10,3,1]\":9,\"[10,3,2]\":6,\"[10,4,1]\":27,\"[10,4,2]\":9,\"[10,5,1]\":7,\"[10,5,2]\":9,\"[10,6,1]\":5,\"[10,6,2]\":7,\"[10,7,1]\":2,\"[10,7,2]\":2,\"[11,1,1]\":1445,\"[11,1,2]\":1479,\"[11,2,1]\":56,\"[11,2,2]\":35,\"[11,3,1]\":5,\"[11,3,2]\":7,\"[11,4,1]\":4,\"[11,4,2]\":14,\"[11,5,1]\":4,\"[11,5,2]\":6,\"[11,6,1]\":4,\"[11,6,2]\":4,\"[11,7,1]\":1,\"[11,7,2]\":2,\"[12,1,1]\":1457,\"[12,1,2]\":1493,\"[12,2,1]\":50,\"[12,2,2]\":22,\"[12,3,1]\":5,\"[12,3,2]\":8,\"[12,4,1]\":2,\"[12,4,2]\":25,\"[12,5,1]\":3,\"[12,5,2]\":9,\"[12,6,2]\":1,\"[13,1,1]\":1676,\"[13,1,2]\":1360,\"[13,2,1]\":46,\"[13,2,2]\":31,\"[13,3,1]\":6,\"[13,3,2]\":8,\"[13,4,1]\":4,\"[13,4,2]\":38,\"[13,5,1]\":5,\"[13,5,2]\":9,\"[13,6,1]\":2,\"[13,6,2]\":3,\"[13,7,1]\":1,\"[13,7,2]\":1,\"[14,1,1]\":2197,\"[14,1,2]\":1437,\"[14,2,1]\":48,\"[14,2,2]\":27,\"[14,3,1]\":17,\"[14,3,2]\":31,\"[14,4,1]\":38,\"[14,4,2]\":31,\"[14,5,1]\":11,\"[14,5,2]\":5,\"[14,6,1]\":2,\"[14,6,2]\":2,\"[14,7,1]\":1,\"[14,7,2]\":4,\"[15,1,1]\":3346,\"[15,1,2]\":1771,\"[15,2,1]\":33,\"[15,2,2]\":29,\"[15,3,1]\":19,\"[15,3,2]\":23,\"[15,4,1]\":26,\"[15,4,2]\":23,\"[15,5,1]\":4,\"[15,5,2]\":2,\"[15,6,1]\":9,\"[15,6,2]\":8,\"[15,7,1]\":1,\"[15,7,2]\":1,\"[16,1,1]\":3777,\"[16,1,2]\":2300,\"[16,2,1]\":29,\"[16,2,2]\":10,\"[16,3,1]\":22,\"[16,3,2]\":22,\"[16,4,1]\":59,\"[16,4,2]\":31,\"[16,5,1]\":5,\"[16,5,2]\":3,\"[16,6,1]\":3,\"[16,6,2]\":4,\"[16,7,1]\":4,\"[16,7,2]\":1,\"[17,1,1]\":3102,\"[17,1,2]\":2076,\"[17,2,1]\":15,\"[17,2,2]\":12,\"[17,3,1]\":23,\"[17,3,2]\":22,\"[17,4,1]\":6,\"[17,4,2]\":20,\"[17,5,1]\":2,\"[17,5,2]\":8,\"[17,6,1]\":2,\"[17,6,2]\":5,\"[17,7,1]\":1,\"[17,7,2]\":1,\"[18,1,1]\":2115,\"[18,1,2]\":1513,\"[18,2,1]\":10,\"[18,2,2]\":13,\"[18,3,1]\":16,\"[18,3,2]\":12,\"[18,4,1]\":2,\"[18,4,2]\":20,\"[18,5,2]\":8,\"[18,6,1]\":1,\"[18,6,2]\":2,\"[18,7,1]\":2,\"[18,7,2]\":1,\"[19,1,1]\":1611,\"[19,1,2]\":1186,\"[19,2,1]\":9,\"[19,2,2]\":11,\"[19,3,1]\":5,\"[19,3,2]\":5,\"[19,4,1]\":2,\"[19,4,2]\":10,\"[19,5,1]\":1,\"[19,5,2]\":4,\"[19,6,1]\":2,\"[19,6,2]\":4,\"[19,7,2]\":1,\"[20,1,1]\":1221,\"[20,1,2]\":1002,\"[20,2,1]\":4,\"[20,2,2]\":7,\"[20,3,1]\":2,\"[20,3,2]\":5,\"[20,4,2]\":11,\"[20,5,1]\":1,\"[20,5,2]\":2,\"[20,6,1]\":1,\"[20,6,2]\":1,\"[21,1,1]\":1154,\"[21,1,2]\":583,\"[21,2,1]\":7,\"[21,2,2]\":5,\"[21,3,1]\":5,\"[21,3,2]\":1,\"[21,4,1]\":81,\"[21,4,2]\":5,\"[21,5,1]\":7,\"[21,5,2]\":3,\"[21,6,1]\":1,\"[21,6,2]\":1,\"[21,7,1]\":2,\"[22,1,1]\":449,\"[22,1,2]\":288,\"[22,2,1]\":9,\"[22,2,2]\":4,\"[22,3,1]\":3,\"[22,3,2]\":3,\"[22,4,1]\":8,\"[22,4,2]\":1,\"[22,5,2]\":3,\"[22,7,2]\":2,\"[23,1,1]\":215,\"[23,1,2]\":135,\"[23,2,1]\":2,\"[23,2,2]\":2,\"[23,3,1]\":3,\"[23,3,2]\":9,\"[23,4,2]\":1,\"[23,5,1]\":2},\"avg_speed_km_h\":{\"[0,1,1]\":82.8,\"[0,1,2]\":81.1,\"[0,2,1]\":69.0,\"[0,2,2]\":83.3,\"[0,3,1]\":72.4,\"[0,3,2]\":79.7,\"[0,4,1]\":84.0,\"[0,5,1]\":77.0,\"[1,1,1]\":82.6,\"[1,1,2]\":84.4,\"[1,2,1]\":74.3,\"[1,2,2]\":79.8,\"[1,3,1]\":79.8,\"[1,3,2]\":80.0,\"[1,4,1]\":77.0,\"[1,4,2]\":80.0,\"[2,1,1]\":83.1,\"[2,1,2]\":82.0,\"[2,2,1]\":80.2,\"[2,2,2]\":86.5,\"[2,3,1]\":73.0,\"[2,4,2]\":80.0,\"[2,5,1]\":82.0,\"[2,5,2]\":83.0,\"[3,1,1]\":82.8,\"[3,1,2]\":84.5,\"[3,2,2]\":76.0,\"[3,4,2]\":81.0,\"[4,1,1]\":80.4,\"[4,1,2]\":81.5,\"[4,2,1]\":87.0,\"[4,2,2]\":82.5,\"[4,3,2]\":75.0,\"[4,5,2]\":79.0,\"[4,6,2]\":82.5,\"[5,1,1]\":83.1,\"[5,1,2]\":84.7,\"[5,2,1]\":81.3,\"[5,2,2]\":76.9,\"[5,3,1]\":76.8,\"[5,3,2]\":70.5,\"[5,4,1]\":74.0,\"[5,4,2]\":83.0,\"[5,5,1]\":76.0,\"[5,5,2]\":83.0,\"[5,6,2]\":77.0,\"[5,7,2]\":84.5,\"[6,1,1]\":81.2,\"[6,1,2]\":82.8,\"[6,2,1]\":76.7,\"[6,2,2]\":80.3,\"[6,3,1]\":73.5,\"[6,3,2]\":73.2,\"[6,4,1]\":72.4,\"[6,4,2]\":76.1,\"[6,5,1]\":79.7,\"[6,5,2]\":84.0,\"[6,6,1]\":22.0,\"[6,6,2]\":79.9,\"[6,7,1]\":25.0,\"[6,7,2]\":81.0,\"[7,1,1]\":78.4,\"[7,1,2]\":77.6,\"[7,2,1]\":76.9,\"[7,2,2]\":76.5,\"[7,3,1]\":74.6,\"[7,3,2]\":78.3,\"[7,4,1]\":73.5,\"[7,4,2]\":73.4,\"[7,5,1]\":70.5,\"[7,5,2]\":68.9,\"[7,6,1]\":79.8,\"[7,6,2]\":73.8,\"[7,7,1]\":68.0,\"[7,7,2]\":68.7,\"[8,1,1]\":76.3,\"[8,1,2]\":75.5,\"[8,2,1]\":71.1,\"[8,2,2]\":75.0,\"[8,3,1]\":72.5,\"[8,3,2]\":72.2,\"[8,4,1]\":70.1,\"[8,4,2]\":75.3,\"[8,5,1]\":72.7,\"[8,5,2]\":70.8,\"[8,6,1]\":74.2,\"[8,6,2]\":78.8,\"[8,7,1]\":77.0,\"[8,7,2]\":73.0,\"[9,1,1]\":80.1,\"[9,1,2]\":77.3,\"[9,2,1]\":75.3,\"[9,2,2]\":75.4,\"[9,3,1]\":76.7,\"[9,3,2]\":76.1,\"[9,4,1]\":77.8,\"[9,4,2]\":76.4,\"[9,5,1]\":76.2,\"[9,5,2]\":76.8,\"[9,6,1]\":76.3,\"[9,6,2]\":74.0,\"[9,7,1]\":77.8,\"[9,7,2]\":59.5,\"[10,1,1]\":80.2,\"[10,1,2]\":79.8,\"[10,2,1]\":79.2,\"[10,2,2]\":77.3,\"[10,3,1]\":71.8,\"[10,3,2]\":74.8,\"[10,4,1]\":74.0,\"[10,4,2]\":77.1,\"[10,5,1]\":73.4,\"[10,5,2]\":69.0,\"[10,6,1]\":76.2,\"[10,6,2]\":77.1,\"[10,7,1]\":75.0,\"[10,7,2]\":76.0,\"[11,1,1]\":80.4,\"[11,1,2]\":79.9,\"[11,2,1]\":79.2,\"[11,2,2]\":75.8,\"[11,3,1]\":74.6,\"[11,3,2]\":69.0,\"[11,4,1]\":76.5,\"[11,4,2]\":77.6,\"[11,5,1]\":59.2,\"[11,5,2]\":77.0,\"[11,6,1]\":75.0,\"[11,6,2]\":78.5,\"[11,7,1]\":72.0,\"[11,7,2]\":84.0,\"[12,1,1]\":80.9,\"[12,1,2]\":80.2,\"[12,2,1]\":78.2,\"[12,2,2]\":80.4,\"[12,3,1]\":71.8,\"[12,3,2]\":78.4,\"[12,4,1]\":81.0,\"[12,4,2]\":77.4,\"[12,5,1]\":59.0,\"[12,5,2]\":78.9,\"[12,6,2]\":73.0,\"[13,1,1]\":79.8,\"[13,1,2]\":79.6,\"[13,2,1]\":77.5,\"[13,2,2]\":78.8,\"[13,3,1]\":78.3,\"[13,3,2]\":78.2,\"[13,4,1]\":82.2,\"[13,4,2]\":77.7,\"[13,5,1]\":77.0,\"[13,5,2]\":75.1,\"[13,6,1]\":77.0,\"[13,6,2]\":83.0,\"[13,7,1]\":69.0,\"[13,7,2]\":73.0,\"[14,1,1]\":80.3,\"[14,1,2]\":79.6,\"[14,2,1]\":75.7,\"[14,2,2]\":79.1,\"[14,3,1]\":75.9,\"[14,3,2]\":78.7,\"[14,4,1]\":73.7,\"[14,4,2]\":79.0,\"[14,5,1]\":78.8,\"[14,5,2]\":82.4,\"[14,6,1]\":74.5,\"[14,6,2]\":75.0,\"[14,7,1]\":28.0,\"[14,7,2]\":74.8,\"[15,1,1]\":76.4,\"[15,1,2]\":78.7,\"[15,2,1]\":74.7,\"[15,2,2]\":77.5,\"[15,3,1]\":69.1,\"[15,3,2]\":77.0,\"[15,4,1]\":68.8,\"[15,4,2]\":76.5,\"[15,5,1]\":47.5,\"[15,5,2]\":78.5,\"[15,6,1]\":71.8,\"[15,6,2]\":70.2,\"[15,7,1]\":75.0,\"[15,7,2]\":82.0,\"[16,1,1]\":69.2,\"[16,1,2]\":77.8,\"[16,2,1]\":64.8,\"[16,2,2]\":82.9,\"[16,3,1]\":73.7,\"[16,3,2]\":76.4,\"[16,4,1]\":61.9,\"[16,4,2]\":70.9,\"[16,5,1]\":55.8,\"[16,5,2]\":58.7,\"[16,6,1]\":47.0,\"[16,6,2]\":82.2,\"[16,7,1]\":67.0,\"[16,7,2]\":81.0,\"[17,1,1]\":74.7,\"[17,1,2]\":77.3,\"[17,2,1]\":68.4,\"[17,2,2]\":75.3,\"[17,3,1]\":74.7,\"[17,3,2]\":77.4,\"[17,4,1]\":69.2,\"[17,4,2]\":72.8,\"[17,5,1]\":71.0,\"[17,5,2]\":77.2,\"[17,6,1]\":72.5,\"[17,6,2]\":79.0,\"[17,7,1]\":58.0,\"[17,7,2]\":71.0,\"[18,1,1]\":78.9,\"[18,1,2]\":79.7,\"[18,2,1]\":76.1,\"[18,2,2]\":68.9,\"[18,3,1]\":77.2,\"[18,3,2]\":79.3,\"[18,4,1]\":69.0,\"[18,4,2]\":75.9,\"[18,5,2]\":78.6,\"[18,6,1]\":68.0,\"[18,6,2]\":79.0,\"[18,7,1]\":63.0,\"[18,7,2]\":81.0,\"[19,1,1]\":79.5,\"[19,1,2]\":80.1,\"[19,2,1]\":70.9,\"[19,2,2]\":75.5,\"[19,3,1]\":74.4,\"[19,3,2]\":76.2,\"[19,4,1]\":81.5,\"[19,4,2]\":80.0,\"[19,5,1]\":71.0,\"[19,5,2]\":60.2,\"[19,6,1]\":73.0,\"[19,6,2]\":77.0,\"[19,7,2]\":60.0,\"[20,1,1]\":80.2,\"[20,1,2]\":81.2,\"[20,2,1]\":80.5,\"[20,2,2]\":78.7,\"[20,3,1]\":68.0,\"[20,3,2]\":76.0,\"[20,4,2]\":81.4,\"[20,5,1]\":41.0,\"[20,5,2]\":87.0,\"[20,6,1]\":73.0,\"[20,6,2]\":70.0,\"[21,1,1]\":81.3,\"[21,1,2]\":81.9,\"[21,2,1]\":80.9,\"[21,2,2]\":78.8,\"[21,3,1]\":76.0,\"[21,3,2]\":83.0,\"[21,4,1]\":77.3,\"[21,4,2]\":81.2,\"[21,5,1]\":81.0,\"[21,5,2]\":73.3,\"[21,6,1]\":79.0,\"[21,6,2]\":81.0,\"[21,7,1]\":77.0,\"[22,1,1]\":81.5,\"[22,1,2]\":81.7,\"[22,2,1]\":74.6,\"[22,2,2]\":74.2,\"[22,3,1]\":80.0,\"[22,3,2]\":71.7,\"[22,4,1]\":76.8,\"[22,4,2]\":83.0,\"[22,5,2]\":61.7,\"[22,7,2]\":80.5,\"[23,1,1]\":83.0,\"[23,1,2]\":81.6,\"[23,2,1]\":69.5,\"[23,2,2]\":70.0,\"[23,3,1]\":83.7,\"[23,3,2]\":79.0,\"[23,4,2]\":72.0,\"[23,5,1]\":78.0}}\n"
+      "0    1             1                       3            69.7\n",
+      "                   2                       4            70.2\n",
+      "     2             1                       1            58.0\n",
+      "     5             1                       3            70.3\n",
+      "                   2                       1            68.0\n",
+      "1    1             1                       4            73.0\n",
+      "                   2                       4            64.5\n",
+      "     5             1                       3            65.3\n",
+      "                   2                       1            69.0\n",
+      "2    1             1                       6            70.3\n",
+      "                   2                       7            74.7\n",
+      "     5             1                       1            83.0\n",
+      "3    1             1                       5            70.4\n",
+      "                   2                       4            65.0\n",
+      "     5             1                       1            62.0\n",
+      "                   2                       5            69.2\n",
+      "4    1             1                       6            60.7\n",
+      "                   2                       6            69.2\n",
+      "     2             1                       1            64.0\n",
+      "                   2                       1            51.0\n",
+      "     5             1                       2            78.0\n",
+      "                   2                       4            71.2\n",
+      "5    1             1                      49            64.6\n",
+      "                   2                      33            66.5\n",
+      "     2             1                       1            46.0\n",
+      "{\"vehicle_number\":{\"(0, 1, 1)\":3,\"(0, 1, 2)\":4,\"(0, 2, 1)\":1,\"(0, 5, 1)\":3,\"(0, 5, 2)\":1,\"(1, 1, 1)\":4,\"(1, 1, 2)\":4,\"(1, 5, 1)\":3,\"(1, 5, 2)\":1,\"(2, 1, 1)\":6,\"(2, 1, 2)\":7,\"(2, 5, 1)\":1,\"(3, 1, 1)\":5,\"(3, 1, 2)\":4,\"(3, 5, 1)\":1,\"(3, 5, 2)\":5,\"(4, 1, 1)\":6,\"(4, 1, 2)\":6,\"(4, 2, 1)\":1,\"(4, 2, 2)\":1,\"(4, 5, 1)\":2,\"(4, 5, 2)\":4,\"(5, 1, 1)\":49,\"(5, 1, 2)\":33,\"(5, 2, 1)\":1,\"(5, 2, 2)\":1,\"(5, 5, 1)\":4,\"(5, 5, 2)\":3,\"(5, 6, 1)\":1,\"(6, 1, 1)\":100,\"(6, 1, 2)\":68,\"(6, 2, 2)\":1,\"(6, 3, 2)\":1,\"(6, 4, 2)\":1,\"(6, 5, 1)\":5,\"(6, 5, 2)\":4,\"(6, 6, 1)\":2,\"(7, 1, 1)\":205,\"(7, 1, 2)\":152,\"(7, 2, 1)\":8,\"(7, 2, 2)\":3,\"(7, 3, 1)\":1,\"(7, 4, 1)\":1,\"(7, 4, 2)\":1,\"(7, 5, 1)\":2,\"(7, 5, 2)\":6,\"(7, 6, 2)\":3,\"(8, 1, 1)\":192,\"(8, 1, 2)\":120,\"(8, 2, 1)\":5,\"(8, 2, 2)\":3,\"(8, 3, 1)\":1,\"(8, 3, 2)\":2,\"(8, 4, 1)\":2,\"(8, 4, 2)\":2,\"(8, 5, 1)\":1,\"(8, 5, 2)\":6,\"(8, 6, 1)\":3,\"(8, 6, 2)\":2,\"(9, 1, 1)\":146,\"(9, 1, 2)\":110,\"(9, 2, 1)\":3,\"(9, 2, 2)\":7,\"(9, 4, 1)\":3,\"(9, 4, 2)\":5,\"(9, 5, 1)\":7,\"(9, 5, 2)\":3,\"(9, 6, 1)\":3,\"(9, 6, 2)\":1,\"(9, 7, 2)\":1,\"(10, 1, 1)\":138,\"(10, 1, 2)\":128,\"(10, 2, 1)\":1,\"(10, 2, 2)\":6,\"(10, 4, 1)\":1,\"(10, 4, 2)\":2,\"(10, 5, 1)\":5,\"(10, 5, 2)\":3,\"(10, 6, 1)\":1,\"(10, 6, 2)\":3,\"(11, 1, 1)\":183,\"(11, 1, 2)\":205,\"(11, 2, 1)\":3,\"(11, 2, 2)\":3,\"(11, 3, 2)\":1,\"(11, 4, 1)\":2,\"(11, 4, 2)\":1,\"(11, 5, 1)\":6,\"(11, 5, 2)\":4,\"(11, 6, 1)\":3,\"(11, 7, 2)\":2,\"(12, 1, 1)\":157,\"(12, 1, 2)\":162,\"(12, 2, 1)\":1,\"(12, 2, 2)\":4,\"(12, 4, 1)\":1,\"(12, 4, 2)\":1,\"(12, 5, 1)\":7,\"(12, 5, 2)\":5,\"(12, 6, 1)\":2,\"(12, 6, 2)\":1,\"(12, 7, 1)\":1,\"(13, 1, 1)\":176,\"(13, 1, 2)\":156,\"(13, 2, 1)\":2,\"(13, 2, 2)\":2,\"(13, 3, 1)\":1,\"(13, 4, 2)\":1,\"(13, 5, 1)\":4,\"(13, 5, 2)\":6,\"(13, 6, 1)\":1,\"(13, 6, 2)\":4,\"(14, 1, 1)\":179,\"(14, 1, 2)\":210,\"(14, 2, 1)\":2,\"(14, 2, 2)\":2,\"(14, 4, 2)\":1,\"(14, 5, 1)\":4,\"(14, 5, 2)\":7,\"(14, 6, 1)\":3,\"(14, 6, 2)\":1,\"(15, 1, 1)\":176,\"(15, 1, 2)\":241,\"(15, 2, 1)\":1,\"(15, 2, 2)\":2,\"(15, 4, 1)\":1,\"(15, 5, 1)\":4,\"(15, 5, 2)\":6,\"(15, 6, 1)\":4,\"(15, 6, 2)\":2,\"(16, 1, 1)\":201,\"(16, 1, 2)\":224,\"(16, 2, 1)\":4,\"(16, 2, 2)\":1,\"(16, 3, 1)\":1,\"(16, 4, 1)\":1,\"(16, 4, 2)\":2,\"(16, 5, 1)\":6,\"(16, 5, 2)\":6,\"(16, 6, 1)\":2,\"(16, 6, 2)\":4,\"(16, 7, 2)\":1,\"(17, 1, 1)\":119,\"(17, 1, 2)\":126,\"(17, 2, 2)\":3,\"(17, 3, 1)\":1,\"(17, 4, 1)\":1,\"(17, 5, 1)\":6,\"(17, 5, 2)\":7,\"(18, 1, 1)\":84,\"(18, 1, 2)\":127,\"(18, 2, 2)\":1,\"(18, 3, 1)\":2,\"(18, 5, 1)\":7,\"(18, 5, 2)\":5,\"(18, 6, 1)\":1,\"(18, 6, 2)\":3,\"(18, 7, 1)\":1,\"(19, 1, 1)\":71,\"(19, 1, 2)\":88,\"(19, 2, 1)\":1,\"(19, 5, 1)\":6,\"(19, 5, 2)\":6,\"(19, 6, 2)\":1,\"(20, 1, 1)\":52,\"(20, 1, 2)\":70,\"(20, 4, 1)\":2,\"(20, 5, 1)\":5,\"(20, 5, 2)\":5,\"(21, 1, 1)\":41,\"(21, 1, 2)\":46,\"(21, 4, 2)\":1,\"(21, 5, 1)\":2,\"(21, 5, 2)\":2,\"(21, 6, 1)\":1,\"(22, 1, 1)\":16,\"(22, 1, 2)\":22,\"(22, 4, 1)\":1,\"(22, 5, 1)\":2,\"(22, 5, 2)\":1,\"(23, 1, 1)\":6,\"(23, 1, 2)\":6,\"(23, 5, 1)\":2,\"(23, 5, 2)\":1},\"avg_speed_km_h\":{\"(0, 1, 1)\":69.7,\"(0, 1, 2)\":70.2,\"(0, 2, 1)\":58.0,\"(0, 5, 1)\":70.3,\"(0, 5, 2)\":68.0,\"(1, 1, 1)\":73.0,\"(1, 1, 2)\":64.5,\"(1, 5, 1)\":65.3,\"(1, 5, 2)\":69.0,\"(2, 1, 1)\":70.3,\"(2, 1, 2)\":74.7,\"(2, 5, 1)\":83.0,\"(3, 1, 1)\":70.4,\"(3, 1, 2)\":65.0,\"(3, 5, 1)\":62.0,\"(3, 5, 2)\":69.2,\"(4, 1, 1)\":60.7,\"(4, 1, 2)\":69.2,\"(4, 2, 1)\":64.0,\"(4, 2, 2)\":51.0,\"(4, 5, 1)\":78.0,\"(4, 5, 2)\":71.2,\"(5, 1, 1)\":64.6,\"(5, 1, 2)\":66.5,\"(5, 2, 1)\":46.0,\"(5, 2, 2)\":67.0,\"(5, 5, 1)\":64.5,\"(5, 5, 2)\":70.7,\"(5, 6, 1)\":61.0,\"(6, 1, 1)\":62.5,\"(6, 1, 2)\":65.7,\"(6, 2, 2)\":32.0,\"(6, 3, 2)\":60.0,\"(6, 4, 2)\":70.0,\"(6, 5, 1)\":59.4,\"(6, 5, 2)\":62.2,\"(6, 6, 1)\":63.5,\"(7, 1, 1)\":62.9,\"(7, 1, 2)\":60.2,\"(7, 2, 1)\":58.2,\"(7, 2, 2)\":58.3,\"(7, 3, 1)\":62.0,\"(7, 4, 1)\":69.0,\"(7, 4, 2)\":79.0,\"(7, 5, 1)\":64.0,\"(7, 5, 2)\":60.8,\"(7, 6, 2)\":65.3,\"(8, 1, 1)\":62.0,\"(8, 1, 2)\":61.4,\"(8, 2, 1)\":68.0,\"(8, 2, 2)\":57.0,\"(8, 3, 1)\":56.0,\"(8, 3, 2)\":70.0,\"(8, 4, 1)\":62.5,\"(8, 4, 2)\":61.5,\"(8, 5, 1)\":65.0,\"(8, 5, 2)\":61.8,\"(8, 6, 1)\":65.0,\"(8, 6, 2)\":57.5,\"(9, 1, 1)\":62.4,\"(9, 1, 2)\":61.7,\"(9, 2, 1)\":64.0,\"(9, 2, 2)\":57.7,\"(9, 4, 1)\":72.3,\"(9, 4, 2)\":57.0,\"(9, 5, 1)\":63.1,\"(9, 5, 2)\":71.0,\"(9, 6, 1)\":61.3,\"(9, 6, 2)\":63.0,\"(9, 7, 2)\":27.0,\"(10, 1, 1)\":61.3,\"(10, 1, 2)\":61.0,\"(10, 2, 1)\":50.0,\"(10, 2, 2)\":64.0,\"(10, 4, 1)\":65.0,\"(10, 4, 2)\":57.0,\"(10, 5, 1)\":65.8,\"(10, 5, 2)\":63.3,\"(10, 6, 1)\":59.0,\"(10, 6, 2)\":61.3,\"(11, 1, 1)\":64.3,\"(11, 1, 2)\":61.5,\"(11, 2, 1)\":62.7,\"(11, 2, 2)\":67.7,\"(11, 3, 2)\":60.0,\"(11, 4, 1)\":64.0,\"(11, 4, 2)\":67.0,\"(11, 5, 1)\":63.8,\"(11, 5, 2)\":63.5,\"(11, 6, 1)\":63.0,\"(11, 7, 2)\":50.5,\"(12, 1, 1)\":65.3,\"(12, 1, 2)\":62.2,\"(12, 2, 1)\":63.0,\"(12, 2, 2)\":61.8,\"(12, 4, 1)\":67.0,\"(12, 4, 2)\":63.0,\"(12, 5, 1)\":66.0,\"(12, 5, 2)\":69.6,\"(12, 6, 1)\":66.5,\"(12, 6, 2)\":67.0,\"(12, 7, 1)\":71.0,\"(13, 1, 1)\":64.8,\"(13, 1, 2)\":64.1,\"(13, 2, 1)\":70.5,\"(13, 2, 2)\":67.0,\"(13, 3, 1)\":63.0,\"(13, 4, 2)\":62.0,\"(13, 5, 1)\":64.0,\"(13, 5, 2)\":67.3,\"(13, 6, 1)\":66.0,\"(13, 6, 2)\":68.8,\"(14, 1, 1)\":63.8,\"(14, 1, 2)\":63.9,\"(14, 2, 1)\":64.0,\"(14, 2, 2)\":63.0,\"(14, 4, 2)\":70.0,\"(14, 5, 1)\":60.2,\"(14, 5, 2)\":66.4,\"(14, 6, 1)\":65.3,\"(14, 6, 2)\":63.0,\"(15, 1, 1)\":65.4,\"(15, 1, 2)\":63.8,\"(15, 2, 1)\":60.0,\"(15, 2, 2)\":67.5,\"(15, 4, 1)\":62.0,\"(15, 5, 1)\":59.8,\"(15, 5, 2)\":63.7,\"(15, 6, 1)\":65.8,\"(15, 6, 2)\":68.5,\"(16, 1, 1)\":62.8,\"(16, 1, 2)\":61.8,\"(16, 2, 1)\":63.5,\"(16, 2, 2)\":68.0,\"(16, 3, 1)\":73.0,\"(16, 4, 1)\":58.0,\"(16, 4, 2)\":57.0,\"(16, 5, 1)\":63.8,\"(16, 5, 2)\":62.5,\"(16, 6, 1)\":65.0,\"(16, 6, 2)\":57.2,\"(16, 7, 2)\":61.0,\"(17, 1, 1)\":61.7,\"(17, 1, 2)\":61.7,\"(17, 2, 2)\":64.0,\"(17, 3, 1)\":60.0,\"(17, 4, 1)\":62.0,\"(17, 5, 1)\":69.7,\"(17, 5, 2)\":66.0,\"(18, 1, 1)\":62.5,\"(18, 1, 2)\":62.2,\"(18, 2, 2)\":61.0,\"(18, 3, 1)\":65.5,\"(18, 5, 1)\":59.0,\"(18, 5, 2)\":66.0,\"(18, 6, 1)\":63.0,\"(18, 6, 2)\":63.0,\"(18, 7, 1)\":79.0,\"(19, 1, 1)\":63.2,\"(19, 1, 2)\":61.0,\"(19, 2, 1)\":78.0,\"(19, 5, 1)\":60.7,\"(19, 5, 2)\":60.7,\"(19, 6, 2)\":66.0,\"(20, 1, 1)\":63.0,\"(20, 1, 2)\":63.1,\"(20, 4, 1)\":69.0,\"(20, 5, 1)\":66.4,\"(20, 5, 2)\":64.2,\"(21, 1, 1)\":65.9,\"(21, 1, 2)\":60.7,\"(21, 4, 2)\":63.0,\"(21, 5, 1)\":64.5,\"(21, 5, 2)\":64.5,\"(21, 6, 1)\":66.0,\"(22, 1, 1)\":70.2,\"(22, 1, 2)\":67.5,\"(22, 4, 1)\":64.0,\"(22, 5, 1)\":65.0,\"(22, 5, 2)\":56.0,\"(23, 1, 1)\":66.3,\"(23, 1, 2)\":56.2,\"(23, 5, 1)\":71.0,\"(23, 5, 2)\":57.0}}\n"
      ]
     }
    ],
@@ -454,19 +458,25 @@
     "# getting count number for each vehicle class, avarage speed for each class and direction\n",
     "\n",
     "import datetime\n",
+    "import pandas as pd\n",
+    "import numpy as np\n",
+    "\n",
+    "import matplotlib.pyplot as plt\n",
     "\n",
     "\n",
     "year = \"2020\"\n",
-    "areaID = \"01\"\n",
-    "lamID = \"101\"\n",
+    "areaID = \"08\"\n",
+    "lamID = \"705\"\n",
     "shortYear = year[-2:]\n",
-    "startDayNumber = \"8\"\n",
+    "startDayNumber = \"30\"\n",
     "endDayNumber = \"\"\n",
     "vehicle_class =[4]\n",
     "\n",
     "output = pd.DataFrame()\n",
     "\n",
+    "names = [\"point_d\", \"Year\", \"day_number\", \"hour\", \"minute\", \"second\", \"100th_of_a_second\", \"length_m\",\"lane\", \"direction\", \"vehicle_class\", \"speed_km/h\", \"faulty_0=valid_1=incorrect\", \"total_time\", \"interval\",\"jonoalku\"]\n",
     "\n",
+    "print(lamID)\n",
     "\n",
     "if(len(endDayNumber)!=0):\n",
     "    start = int(startDayNumber)\n",
@@ -574,7 +584,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.7.4"
+   "version": "3.7.6"
   }
  },
  "nbformat": 4,
diff --git a/Tavara- raskaan liikenne/python/cars/lamData.py b/Tavara- raskaan liikenne/python/cars/lamData.py
index 6e44462..e485356 100644
--- a/Tavara- raskaan liikenne/python/cars/lamData.py	
+++ b/Tavara- raskaan liikenne/python/cars/lamData.py	
@@ -17,6 +17,7 @@ shortYear = year[-2:]
 output = pd.DataFrame()
 
 
+
 check =  math.isnan(float(endDayNumber))
 if(check == False):
 
@@ -57,7 +58,7 @@ if(check == False):
         temp["date_vehicleclass_direction"]= newindex
         temp.set_index("date_vehicleclass_direction", inplace= True)
         #vehicleTotalNumberInOneDay= vehicleTotalNumberInOneDay.append(temp)
-        
+
         output= temp
         output['avg_speed_km_h'] = output['avg_speed_km_h'].astype(float).round(1)
         outputJson = output.to_json()
-- 
GitLab