{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Week 3\n",
    "## Last week, I looked at the official data closely. \n",
    "## This week, I revisited citizen data to normalize the data according to values from the sofia topological data and then filter them to focus on sofia area."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "##\n",
    "# Author: Neelesh Kamkolkar \n",
    "# Constants for file management  \n",
    "# Assumes the notebook is running from same directory that \n",
    "# the airsofia.zip file is extracted in. \n",
    "#\n",
    "## \n",
    "\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import pygeohash as pgh\n",
    "import timeit\n",
    "from autovizwidget.widget.utils import display_dataframe\n",
    "import matplotlib.pyplot as plt\n",
    "import geopandas as geopandas\n",
    "from shapely.geometry import Point\n",
    "\n",
    "\n",
    "debug=1\n",
    "SOFIA_FILES_HOME = '.'\n",
    "EEA_FILES_PATH = SOFIA_FILES_HOME + '/EEA Data/'\n",
    "EEA_DATA_METADATA_FILE = EEA_FILES_PATH + 'metadata.xlsx'\n",
    "\n",
    "\n",
    "CITIZEN_AIR_TUBE_FILES_PATH = SOFIA_FILES_HOME + '/Air Tube/'\n",
    "\n",
    "\n",
    "SOFIA_TOPO_FILE = SOFIA_FILES_HOME + '/TOPO-DATA/sofia_topo.csv'\n",
    "TOPO_FILTER_ABOVE_ELEV = 800\n",
    "\n",
    "SOFIA_WEATHER_INFO_FILE = SOFIA_FILES_HOME + '/METEO-data/lbsf_20120101-20180917_IP.csv'\n",
    "\n",
    "\n",
    "EEA_FILES =  [\n",
    "    \n",
    "                    [\n",
    "                        'BG_5_9421_2013_timeseries.csv', \n",
    "                        'BG_5_9421_2014_timeseries.csv',\n",
    "                        'BG_5_9421_2015_timeseries.csv',\n",
    "                        'BG_5_9421_2016_timeseries.csv',\n",
    "                        'BG_5_9421_2017_timeseries.csv',\n",
    "                        'BG_5_9421_2018_timeseries.csv'\n",
    "                     ],\n",
    "\n",
    "                     [\n",
    "                         'BG_5_9484_2013_timeseries.csv',\n",
    "                         'BG_5_9484_2014_timeseries.csv',\n",
    "                         'BG_5_9484_2015_timeseries.csv'\n",
    "                     ],\n",
    "\n",
    "                     [\n",
    "                        'BG_5_9572_2013_timeseries.csv',\n",
    "                        'BG_5_9572_2014_timeseries.csv',\n",
    "                        'BG_5_9572_2015_timeseries.csv',\n",
    "                        'BG_5_9572_2016_timeseries.csv',\n",
    "                        'BG_5_9572_2017_timeseries.csv',\n",
    "                        'BG_5_9572_2018_timeseries.csv'\n",
    "                     ], \n",
    "\n",
    "                     [\n",
    "                        'BG_5_9616_2013_timeseries.csv',\n",
    "                        'BG_5_9616_2014_timeseries.csv',\n",
    "                        'BG_5_9616_2015_timeseries.csv',\n",
    "                        'BG_5_9616_2016_timeseries.csv',\n",
    "                        'BG_5_9616_2017_timeseries.csv',\n",
    "                        'BG_5_9616_2018_timeseries.csv'\n",
    "\n",
    "                     ],\n",
    "\n",
    "                     [\n",
    "                        'BG_5_9642_2013_timeseries.csv',\n",
    "                        'BG_5_9642_2014_timeseries.csv',                 \n",
    "                        'BG_5_9642_2015_timeseries.csv',\n",
    "                        'BG_5_9642_2016_timeseries.csv',\n",
    "                        'BG_5_9642_2017_timeseries.csv',\n",
    "                        'BG_5_9642_2018_timeseries.csv',\n",
    "\n",
    "                     ], \n",
    "\n",
    "                     [\n",
    "                         'BG_5_60881_2018_timeseries.csv'\n",
    "                     ]\n",
    "                 ]\n",
    "\n",
    "\n",
    "AIR_TUBE_FILES = [\n",
    "                    ['data_bg_2017.csv'],\n",
    "                    ['data_bg_2018.csv'],\n",
    "                    #['sample_data_bg_2018.csv']\n",
    "                 ]\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Explore the citizen data\n",
    "### Instead of building out functions, I reworked the citizen data step by step for 2017 and 2018\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "##\n",
    "# Function: Load citizen data from file name  \n",
    "# inputs  : sample csv file with citizen gathered data\n",
    "# outputs : data frame with citizen data from input file \n",
    "#\n",
    "##\n",
    "\n",
    "def load_citizen_data(aFileName):\n",
    "    citizen_df = pd.read_csv(aFileName, header=0, encoding='utf-8')\n",
    "    return citizen_df "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "file_2017 = AIR_TUBE_FILES[0][0]\n",
    "file_2018 = AIR_TUBE_FILES[1][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Look at data types\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 651492 entries, 0 to 651491\n",
      "Data columns (total 7 columns):\n",
      "time           651492 non-null object\n",
      "geohash        651492 non-null object\n",
      "P1             651492 non-null int64\n",
      "P2             651492 non-null int64\n",
      "temperature    651492 non-null int64\n",
      "humidity       651492 non-null int64\n",
      "pressure       651492 non-null int64\n",
      "dtypes: int64(5), object(2)\n",
      "memory usage: 34.8+ MB\n"
     ]
    }
   ],
   "source": [
    "citizen_2017 = load_citizen_data(CITIZEN_AIR_TUBE_FILES_PATH+file_2017)\n",
    "print(\"Look at data types\")\n",
    "citizen_2017.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 651492 entries, 0 to 651491\n",
      "Data columns (total 7 columns):\n",
      "time           651492 non-null datetime64[ns]\n",
      "geohash        651492 non-null object\n",
      "P1             651492 non-null int64\n",
      "P2             651492 non-null int64\n",
      "temperature    651492 non-null int64\n",
      "humidity       651492 non-null int64\n",
      "pressure       651492 non-null int64\n",
      "dtypes: datetime64[ns](1), int64(5), object(1)\n",
      "memory usage: 34.8+ MB\n"
     ]
    }
   ],
   "source": [
    "#Fix data types\n",
    "citizen_2017['time'] = pd.to_datetime(citizen_2017['time'])\n",
    "citizen_2017.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 2958654 entries, 0 to 2958653\n",
      "Data columns (total 7 columns):\n",
      "time           object\n",
      "geohash        object\n",
      "P1             int64\n",
      "P2             int64\n",
      "temperature    int64\n",
      "humidity       int64\n",
      "pressure       int64\n",
      "dtypes: int64(5), object(2)\n",
      "memory usage: 158.0+ MB\n"
     ]
    }
   ],
   "source": [
    "citizen_2018 = load_citizen_data(CITIZEN_AIR_TUBE_FILES_PATH+file_2018)\n",
    "citizen_2018.info()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 2958654 entries, 0 to 2958653\n",
      "Data columns (total 7 columns):\n",
      "time           datetime64[ns]\n",
      "geohash        object\n",
      "P1             int64\n",
      "P2             int64\n",
      "temperature    int64\n",
      "humidity       int64\n",
      "pressure       int64\n",
      "dtypes: datetime64[ns](1), int64(5), object(1)\n",
      "memory usage: 158.0+ MB\n"
     ]
    }
   ],
   "source": [
    "#Fix data types\n",
    "citizen_2018['time'] = pd.to_datetime(citizen_2018['time'])\n",
    "citizen_2018.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Debug functions that simply print out shape of the data before and after an opertion\n",
    "def before():\n",
    "    print(\"Before: citizen_2017 : {} \\t citizen_2018 : {} \\r\\n\".format(citizen_2017.shape[0], citizen_2018.shape[0]))\n",
    "\n",
    "\n",
    "def after():\n",
    "    print(\"After: citizen_2017 : {} \\t citizen_2018 : {} \\r\\n\".format(citizen_2017.shape[0],\n",
    "                                                        citizen_2018.shape[0]))\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Review Data Size, Shape, Missing Values, First, Last Records for Inspection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Before: citizen_2017 : 651492 \t citizen_2018 : 2958654 \r\n",
      "\n",
      "After: citizen_2017 : 651492 \t citizen_2018 : 2958654 \r\n",
      "\n"
     ]
    }
   ],
   "source": [
    "#print(\"Citizen data\\r2017 Shape: \\t {}\\r\\n2018 Shape: \\t {}\".format(citizen_2017.shape, citizen_2018.shape))\n",
    "before()\n",
    "after()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>geohash</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>temperature</th>\n",
       "      <th>humidity</th>\n",
       "      <th>pressure</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sx8d5r7wmxr</td>\n",
       "      <td>9</td>\n",
       "      <td>8</td>\n",
       "      <td>14</td>\n",
       "      <td>55</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sx8d6zjg5h8</td>\n",
       "      <td>9</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 time      geohash  P1  P2  temperature  humidity  pressure\n",
       "0 2017-09-06 20:00:00  sx8d5r7wmxr   9   8           14        55         0\n",
       "1 2017-09-06 20:00:00  sx8d6zjg5h8   9   8            0         0         0"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "citizen_2017.head(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Column Headers\n",
    "1. time index YYYY-MM-DDTHH:MM:SS\n",
    "2. geohash : station code \n",
    "3. P1 : PM10 concentration reported by station at geohash at time t\n",
    "4. P2 : PM2.5 concentration reported by station at geohash at time t \n",
    "5. temperature: temperature in centigrade\n",
    "6. humidity: relative humidity from 0- 100 \n",
    "7. pressure : surface pressure - measured in hma \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "geo_hash_2017_df = pd.DataFrame(citizen_2017['geohash'].unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    383\n",
       "dtype: int64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Unique count of citizen station in 2017\n",
    "geo_hash_2017_df.count()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### there are 383 unique reporting stations in 2017"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "citizen_2017_group_frame = citizen_2017.groupby(by='geohash')\n",
    "#citizen_2017_group_frame.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>temperature</th>\n",
       "      <th>humidity</th>\n",
       "      <th>pressure</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>383.000000</td>\n",
       "      <td>383.000000</td>\n",
       "      <td>383.000000</td>\n",
       "      <td>383.000000</td>\n",
       "      <td>383.000000</td>\n",
       "      <td>383.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>1701.023499</td>\n",
       "      <td>1701.023499</td>\n",
       "      <td>1701.023499</td>\n",
       "      <td>1701.023499</td>\n",
       "      <td>1701.023499</td>\n",
       "      <td>1701.023499</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>867.601820</td>\n",
       "      <td>867.601820</td>\n",
       "      <td>867.601820</td>\n",
       "      <td>867.601820</td>\n",
       "      <td>867.601820</td>\n",
       "      <td>867.601820</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1061.000000</td>\n",
       "      <td>1061.000000</td>\n",
       "      <td>1061.000000</td>\n",
       "      <td>1061.000000</td>\n",
       "      <td>1061.000000</td>\n",
       "      <td>1061.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>1814.000000</td>\n",
       "      <td>1814.000000</td>\n",
       "      <td>1814.000000</td>\n",
       "      <td>1814.000000</td>\n",
       "      <td>1814.000000</td>\n",
       "      <td>1814.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>2542.500000</td>\n",
       "      <td>2542.500000</td>\n",
       "      <td>2542.500000</td>\n",
       "      <td>2542.500000</td>\n",
       "      <td>2542.500000</td>\n",
       "      <td>2542.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>2774.000000</td>\n",
       "      <td>2774.000000</td>\n",
       "      <td>2774.000000</td>\n",
       "      <td>2774.000000</td>\n",
       "      <td>2774.000000</td>\n",
       "      <td>2774.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              time           P1           P2  temperature     humidity  \\\n",
       "count   383.000000   383.000000   383.000000   383.000000   383.000000   \n",
       "mean   1701.023499  1701.023499  1701.023499  1701.023499  1701.023499   \n",
       "std     867.601820   867.601820   867.601820   867.601820   867.601820   \n",
       "min       1.000000     1.000000     1.000000     1.000000     1.000000   \n",
       "25%    1061.000000  1061.000000  1061.000000  1061.000000  1061.000000   \n",
       "50%    1814.000000  1814.000000  1814.000000  1814.000000  1814.000000   \n",
       "75%    2542.500000  2542.500000  2542.500000  2542.500000  2542.500000   \n",
       "max    2774.000000  2774.000000  2774.000000  2774.000000  2774.000000   \n",
       "\n",
       "          pressure  \n",
       "count   383.000000  \n",
       "mean   1701.023499  \n",
       "std     867.601820  \n",
       "min       1.000000  \n",
       "25%    1061.000000  \n",
       "50%    1814.000000  \n",
       "75%    2542.500000  \n",
       "max    2774.000000  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "##Look at the number or recordings from 2017\n",
    "citizen_2017_group_frame.aggregate(np.size).describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "## \n",
    "# Function: filter_stations_with_low_readings\n",
    "# inputs: a grouped data frame and a string filter \n",
    "# outputs : returns index of the stations that should be filterd \n",
    "# assumes 'geohash' is a column \n",
    "# group_frame: as citizen data frame grouped by geohash \n",
    "# aStringFilter in form '10 days'\n",
    "##\n",
    "\n",
    "def filter_stations_with_low_readings(group_frame, aStringFilter):\n",
    "    obs = []\n",
    "    for name, group in group_frame: \n",
    "        tmin = np.min(group['time'])\n",
    "        tmax = np.max(group['time'])\n",
    "        #print(\"station: {}\\r\\ntmin: {}\\r\\ntmax: {}\\r\\ndays:\\r\\n {}\".format(name, tmin, tmax, tmax-tmin))\n",
    "        obs.append([name, tmin, tmax, tmax-tmin])\n",
    "\n",
    "    o_df = pd.DataFrame(obs, columns=['geohash', 'time_min', 'time_max', 'days'])\n",
    "    o_df = o_df.sort_values('days')\n",
    "    o_df['geohash'] = o_df['geohash'].astype('object')\n",
    "    stations_with_low_count = o_df[(o_df['days'] <= pd.to_timedelta(aStringFilter))]\n",
    "    return stations_with_low_count.index\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Int64Index([  0, 225,  86, 102, 183,  14, 222, 350, 353, 240, 126, 243, 288,\n",
       "             46, 354, 324, 244, 292, 325, 355,  82,  83,  72, 362, 349,  78,\n",
       "            100],\n",
       "           dtype='int64')"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "filter_2017 = filter_stations_with_low_readings(citizen_2017_group_frame, '10 days')\n",
    "filter_2017"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Drop geohashes: with less than 10 readings\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Before: citizen_2017 : 651492 \t citizen_2018 : 2958654 \r\n",
      "\n",
      "After: citizen_2017 : 651465 \t citizen_2018 : 2958654 \r\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# df = df.drop(df[df.geohash == 'm-2105171'].index)\n",
    "before()\n",
    "citizen_2017 = citizen_2017.drop(filter_2017)\n",
    "after()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Before: citizen_2017 : 651465 \t citizen_2018 : 2958654 \r\n",
      "\n",
      "After: citizen_2017 : 651463 \t citizen_2018 : 2958654 \r\n",
      "\n"
     ]
    }
   ],
   "source": [
    "before()\n",
    "citizen_2017 = citizen_2017.drop(citizen_2017[citizen_2017.geohash == 'm-2105171'].index)\n",
    "citizen_2017 = citizen_2017.drop(citizen_2017[citizen_2017.geohash == 'sx8dfy4ytuc'].index)\n",
    "after()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "geo_hash_2018_df = pd.DataFrame(citizen_2018['geohash'].unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    1253\n",
       "dtype: int64"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Unique count of citizen station in 2017\n",
    "geo_hash_2018_df.count()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### There are 1253 unique stations reporting in 2018 \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "citizen_2018_group_frame = citizen_2018.groupby(by='geohash')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Lets at the stations that have less than 10 days of data signals in 2018"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Int64Index([ 456,  447,   53,  900,  395,  855,  453,  362,  205,  670,  276,\n",
       "             672,  661,  831,  995,  605, 1150, 1250,  667, 1175,  922,  324,\n",
       "             555,  748,  684,  858,  963,  767,  829,  949,  993,  928, 1229,\n",
       "             240,  657,  530,  343,  135,  346,   90, 1178,  854,  345,  682,\n",
       "            1081,  980,  177,  235,  137],\n",
       "           dtype='int64')"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Function defined above \n",
    "filter_2018 = filter_stations_with_low_readings(citizen_2018_group_frame, '10 days')\n",
    "filter_2018"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Before: citizen_2017 : 651463 \t citizen_2018 : 2958654 \r\n",
      "\n",
      "After: citizen_2017 : 651463 \t citizen_2018 : 2958605 \r\n",
      "\n"
     ]
    }
   ],
   "source": [
    "#Lets drop these from our data set \n",
    "\n",
    "before()\n",
    "citizen_2018 = citizen_2018.drop(filter_2018)\n",
    "after() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Convert data type for 2018 data\n",
    "citizen_2018['time'] = pd.to_datetime(citizen_2018['time'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>temperature</th>\n",
       "      <th>humidity</th>\n",
       "      <th>pressure</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1253.000000</td>\n",
       "      <td>1253.000000</td>\n",
       "      <td>1253.000000</td>\n",
       "      <td>1253.000000</td>\n",
       "      <td>1253.000000</td>\n",
       "      <td>1253.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>2361.252993</td>\n",
       "      <td>2361.252993</td>\n",
       "      <td>2361.252993</td>\n",
       "      <td>2361.252993</td>\n",
       "      <td>2361.252993</td>\n",
       "      <td>2361.252993</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>1380.807911</td>\n",
       "      <td>1380.807911</td>\n",
       "      <td>1380.807911</td>\n",
       "      <td>1380.807911</td>\n",
       "      <td>1380.807911</td>\n",
       "      <td>1380.807911</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1378.000000</td>\n",
       "      <td>1378.000000</td>\n",
       "      <td>1378.000000</td>\n",
       "      <td>1378.000000</td>\n",
       "      <td>1378.000000</td>\n",
       "      <td>1378.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>2025.000000</td>\n",
       "      <td>2025.000000</td>\n",
       "      <td>2025.000000</td>\n",
       "      <td>2025.000000</td>\n",
       "      <td>2025.000000</td>\n",
       "      <td>2025.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>3232.000000</td>\n",
       "      <td>3232.000000</td>\n",
       "      <td>3232.000000</td>\n",
       "      <td>3232.000000</td>\n",
       "      <td>3232.000000</td>\n",
       "      <td>3232.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>11381.000000</td>\n",
       "      <td>11381.000000</td>\n",
       "      <td>11381.000000</td>\n",
       "      <td>11381.000000</td>\n",
       "      <td>11381.000000</td>\n",
       "      <td>11381.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               time            P1            P2   temperature      humidity  \\\n",
       "count   1253.000000   1253.000000   1253.000000   1253.000000   1253.000000   \n",
       "mean    2361.252993   2361.252993   2361.252993   2361.252993   2361.252993   \n",
       "std     1380.807911   1380.807911   1380.807911   1380.807911   1380.807911   \n",
       "min        1.000000      1.000000      1.000000      1.000000      1.000000   \n",
       "25%     1378.000000   1378.000000   1378.000000   1378.000000   1378.000000   \n",
       "50%     2025.000000   2025.000000   2025.000000   2025.000000   2025.000000   \n",
       "75%     3232.000000   3232.000000   3232.000000   3232.000000   3232.000000   \n",
       "max    11381.000000  11381.000000  11381.000000  11381.000000  11381.000000   \n",
       "\n",
       "           pressure  \n",
       "count   1253.000000  \n",
       "mean    2361.252993  \n",
       "std     1380.807911  \n",
       "min        1.000000  \n",
       "25%     1378.000000  \n",
       "50%     2025.000000  \n",
       "75%     3232.000000  \n",
       "max    11381.000000  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "citizen_2018_group_frame.aggregate(np.size).describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">P1</th>\n",
       "      <th colspan=\"2\" halign=\"left\">P2</th>\n",
       "      <th>...</th>\n",
       "      <th colspan=\"2\" halign=\"left\">pressure</th>\n",
       "      <th colspan=\"8\" halign=\"left\">temperature</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>...</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>geohash</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>sx27rxfj4me</th>\n",
       "      <td>5278.0</td>\n",
       "      <td>20.184919</td>\n",
       "      <td>23.589839</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8.00</td>\n",
       "      <td>12.0</td>\n",
       "      <td>21.00</td>\n",
       "      <td>340.0</td>\n",
       "      <td>5278.0</td>\n",
       "      <td>10.724517</td>\n",
       "      <td>...</td>\n",
       "      <td>99933.00</td>\n",
       "      <td>101752.0</td>\n",
       "      <td>5278.0</td>\n",
       "      <td>17.152330</td>\n",
       "      <td>9.434147</td>\n",
       "      <td>-6.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>18.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>37.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2qvkkjjkh</th>\n",
       "      <td>2558.0</td>\n",
       "      <td>11.791243</td>\n",
       "      <td>6.284312</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.00</td>\n",
       "      <td>11.0</td>\n",
       "      <td>15.00</td>\n",
       "      <td>85.0</td>\n",
       "      <td>2558.0</td>\n",
       "      <td>9.242377</td>\n",
       "      <td>...</td>\n",
       "      <td>97709.75</td>\n",
       "      <td>98244.0</td>\n",
       "      <td>2558.0</td>\n",
       "      <td>23.434324</td>\n",
       "      <td>5.659566</td>\n",
       "      <td>10.0</td>\n",
       "      <td>19.00</td>\n",
       "      <td>23.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>39.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2qvtugtp2</th>\n",
       "      <td>2996.0</td>\n",
       "      <td>17.440254</td>\n",
       "      <td>13.955574</td>\n",
       "      <td>0.0</td>\n",
       "      <td>10.00</td>\n",
       "      <td>14.0</td>\n",
       "      <td>21.00</td>\n",
       "      <td>251.0</td>\n",
       "      <td>2996.0</td>\n",
       "      <td>9.144860</td>\n",
       "      <td>...</td>\n",
       "      <td>96671.00</td>\n",
       "      <td>97609.0</td>\n",
       "      <td>2996.0</td>\n",
       "      <td>22.464619</td>\n",
       "      <td>8.096275</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>17.00</td>\n",
       "      <td>21.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>43.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2qvwhct1b</th>\n",
       "      <td>2019.0</td>\n",
       "      <td>65.512135</td>\n",
       "      <td>73.474854</td>\n",
       "      <td>2.0</td>\n",
       "      <td>20.00</td>\n",
       "      <td>41.0</td>\n",
       "      <td>79.00</td>\n",
       "      <td>604.0</td>\n",
       "      <td>2019.0</td>\n",
       "      <td>26.193660</td>\n",
       "      <td>...</td>\n",
       "      <td>96916.50</td>\n",
       "      <td>98359.0</td>\n",
       "      <td>2019.0</td>\n",
       "      <td>6.179792</td>\n",
       "      <td>5.753085</td>\n",
       "      <td>-14.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>6.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>29.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2qvybw9tb</th>\n",
       "      <td>1946.0</td>\n",
       "      <td>137.251799</td>\n",
       "      <td>232.457284</td>\n",
       "      <td>2.0</td>\n",
       "      <td>26.00</td>\n",
       "      <td>55.0</td>\n",
       "      <td>134.00</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>1946.0</td>\n",
       "      <td>59.718397</td>\n",
       "      <td>...</td>\n",
       "      <td>96779.75</td>\n",
       "      <td>98186.0</td>\n",
       "      <td>1946.0</td>\n",
       "      <td>5.332477</td>\n",
       "      <td>5.202426</td>\n",
       "      <td>-13.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>21.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2qvycq8vf</th>\n",
       "      <td>338.0</td>\n",
       "      <td>56.751479</td>\n",
       "      <td>151.638892</td>\n",
       "      <td>3.0</td>\n",
       "      <td>11.00</td>\n",
       "      <td>17.0</td>\n",
       "      <td>31.00</td>\n",
       "      <td>1321.0</td>\n",
       "      <td>338.0</td>\n",
       "      <td>31.147929</td>\n",
       "      <td>...</td>\n",
       "      <td>96486.75</td>\n",
       "      <td>97025.0</td>\n",
       "      <td>338.0</td>\n",
       "      <td>16.967456</td>\n",
       "      <td>8.887133</td>\n",
       "      <td>0.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>17.0</td>\n",
       "      <td>23.0</td>\n",
       "      <td>33.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2qvyhct3f</th>\n",
       "      <td>1060.0</td>\n",
       "      <td>33.953774</td>\n",
       "      <td>25.803184</td>\n",
       "      <td>2.0</td>\n",
       "      <td>16.00</td>\n",
       "      <td>28.5</td>\n",
       "      <td>45.00</td>\n",
       "      <td>264.0</td>\n",
       "      <td>1060.0</td>\n",
       "      <td>14.768868</td>\n",
       "      <td>...</td>\n",
       "      <td>96522.25</td>\n",
       "      <td>97785.0</td>\n",
       "      <td>1060.0</td>\n",
       "      <td>8.950000</td>\n",
       "      <td>6.998472</td>\n",
       "      <td>-11.0</td>\n",
       "      <td>5.00</td>\n",
       "      <td>8.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>39.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2qvyhpqh2</th>\n",
       "      <td>3302.0</td>\n",
       "      <td>16.561781</td>\n",
       "      <td>10.413605</td>\n",
       "      <td>2.0</td>\n",
       "      <td>10.00</td>\n",
       "      <td>14.0</td>\n",
       "      <td>21.00</td>\n",
       "      <td>107.0</td>\n",
       "      <td>3302.0</td>\n",
       "      <td>9.177771</td>\n",
       "      <td>...</td>\n",
       "      <td>96867.00</td>\n",
       "      <td>97761.0</td>\n",
       "      <td>3302.0</td>\n",
       "      <td>23.450030</td>\n",
       "      <td>8.217677</td>\n",
       "      <td>1.0</td>\n",
       "      <td>17.00</td>\n",
       "      <td>22.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>47.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rg2y3bsx</th>\n",
       "      <td>1976.0</td>\n",
       "      <td>37.934211</td>\n",
       "      <td>41.266160</td>\n",
       "      <td>1.0</td>\n",
       "      <td>11.00</td>\n",
       "      <td>22.0</td>\n",
       "      <td>50.00</td>\n",
       "      <td>281.0</td>\n",
       "      <td>1976.0</td>\n",
       "      <td>22.752530</td>\n",
       "      <td>...</td>\n",
       "      <td>97397.25</td>\n",
       "      <td>98896.0</td>\n",
       "      <td>1976.0</td>\n",
       "      <td>6.221660</td>\n",
       "      <td>5.081758</td>\n",
       "      <td>-13.0</td>\n",
       "      <td>3.00</td>\n",
       "      <td>6.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>22.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rg2z1bh9</th>\n",
       "      <td>3181.0</td>\n",
       "      <td>11.222572</td>\n",
       "      <td>14.772408</td>\n",
       "      <td>1.0</td>\n",
       "      <td>5.00</td>\n",
       "      <td>9.0</td>\n",
       "      <td>13.00</td>\n",
       "      <td>455.0</td>\n",
       "      <td>3181.0</td>\n",
       "      <td>8.610185</td>\n",
       "      <td>...</td>\n",
       "      <td>97195.00</td>\n",
       "      <td>98111.0</td>\n",
       "      <td>3181.0</td>\n",
       "      <td>22.074819</td>\n",
       "      <td>6.185299</td>\n",
       "      <td>2.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>22.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>36.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj0kvk3k</th>\n",
       "      <td>2222.0</td>\n",
       "      <td>32.749775</td>\n",
       "      <td>28.447942</td>\n",
       "      <td>3.0</td>\n",
       "      <td>13.00</td>\n",
       "      <td>23.0</td>\n",
       "      <td>42.00</td>\n",
       "      <td>206.0</td>\n",
       "      <td>2222.0</td>\n",
       "      <td>18.891989</td>\n",
       "      <td>...</td>\n",
       "      <td>97607.50</td>\n",
       "      <td>98481.0</td>\n",
       "      <td>2222.0</td>\n",
       "      <td>21.598110</td>\n",
       "      <td>6.053495</td>\n",
       "      <td>4.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>21.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>45.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj0mt79m</th>\n",
       "      <td>780.0</td>\n",
       "      <td>65.943590</td>\n",
       "      <td>42.316272</td>\n",
       "      <td>4.0</td>\n",
       "      <td>32.00</td>\n",
       "      <td>58.5</td>\n",
       "      <td>93.25</td>\n",
       "      <td>224.0</td>\n",
       "      <td>780.0</td>\n",
       "      <td>34.741026</td>\n",
       "      <td>...</td>\n",
       "      <td>97084.50</td>\n",
       "      <td>98210.0</td>\n",
       "      <td>780.0</td>\n",
       "      <td>10.515385</td>\n",
       "      <td>6.423922</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>7.00</td>\n",
       "      <td>10.5</td>\n",
       "      <td>14.0</td>\n",
       "      <td>38.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj2e7n5d</th>\n",
       "      <td>1000.0</td>\n",
       "      <td>50.728000</td>\n",
       "      <td>47.731586</td>\n",
       "      <td>0.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>37.0</td>\n",
       "      <td>71.00</td>\n",
       "      <td>605.0</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>30.641000</td>\n",
       "      <td>...</td>\n",
       "      <td>97386.75</td>\n",
       "      <td>98514.0</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>9.268000</td>\n",
       "      <td>4.973219</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>6.00</td>\n",
       "      <td>9.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>35.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj2hcssq</th>\n",
       "      <td>1079.0</td>\n",
       "      <td>42.335496</td>\n",
       "      <td>28.550293</td>\n",
       "      <td>3.0</td>\n",
       "      <td>21.00</td>\n",
       "      <td>36.0</td>\n",
       "      <td>56.00</td>\n",
       "      <td>176.0</td>\n",
       "      <td>1079.0</td>\n",
       "      <td>20.775718</td>\n",
       "      <td>...</td>\n",
       "      <td>0.00</td>\n",
       "      <td>97143.0</td>\n",
       "      <td>1079.0</td>\n",
       "      <td>0.362373</td>\n",
       "      <td>1.408071</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj2j9eur</th>\n",
       "      <td>3311.0</td>\n",
       "      <td>19.309574</td>\n",
       "      <td>12.062422</td>\n",
       "      <td>1.0</td>\n",
       "      <td>11.00</td>\n",
       "      <td>17.0</td>\n",
       "      <td>24.00</td>\n",
       "      <td>141.0</td>\n",
       "      <td>3311.0</td>\n",
       "      <td>10.966777</td>\n",
       "      <td>...</td>\n",
       "      <td>97452.00</td>\n",
       "      <td>98365.0</td>\n",
       "      <td>3311.0</td>\n",
       "      <td>22.306252</td>\n",
       "      <td>6.335710</td>\n",
       "      <td>1.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>22.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>37.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj2u0vqh</th>\n",
       "      <td>1504.0</td>\n",
       "      <td>21.592420</td>\n",
       "      <td>20.932410</td>\n",
       "      <td>3.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>15.0</td>\n",
       "      <td>26.00</td>\n",
       "      <td>193.0</td>\n",
       "      <td>1504.0</td>\n",
       "      <td>14.524601</td>\n",
       "      <td>...</td>\n",
       "      <td>97401.00</td>\n",
       "      <td>122757.0</td>\n",
       "      <td>1504.0</td>\n",
       "      <td>1.957447</td>\n",
       "      <td>28.140571</td>\n",
       "      <td>-141.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>35.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj3t85zx</th>\n",
       "      <td>3228.0</td>\n",
       "      <td>14.501859</td>\n",
       "      <td>9.621388</td>\n",
       "      <td>2.0</td>\n",
       "      <td>8.00</td>\n",
       "      <td>12.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>111.0</td>\n",
       "      <td>3228.0</td>\n",
       "      <td>7.630112</td>\n",
       "      <td>...</td>\n",
       "      <td>97358.25</td>\n",
       "      <td>98266.0</td>\n",
       "      <td>3228.0</td>\n",
       "      <td>23.820012</td>\n",
       "      <td>6.996489</td>\n",
       "      <td>3.0</td>\n",
       "      <td>19.00</td>\n",
       "      <td>23.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>41.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj3tw5fp</th>\n",
       "      <td>1273.0</td>\n",
       "      <td>41.938727</td>\n",
       "      <td>31.097878</td>\n",
       "      <td>3.0</td>\n",
       "      <td>20.00</td>\n",
       "      <td>35.0</td>\n",
       "      <td>54.00</td>\n",
       "      <td>309.0</td>\n",
       "      <td>1273.0</td>\n",
       "      <td>20.245090</td>\n",
       "      <td>...</td>\n",
       "      <td>97152.00</td>\n",
       "      <td>98313.0</td>\n",
       "      <td>1273.0</td>\n",
       "      <td>9.366064</td>\n",
       "      <td>5.829834</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>6.00</td>\n",
       "      <td>9.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>32.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj8g2yqj</th>\n",
       "      <td>3285.0</td>\n",
       "      <td>15.063623</td>\n",
       "      <td>9.752849</td>\n",
       "      <td>0.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>13.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>109.0</td>\n",
       "      <td>3285.0</td>\n",
       "      <td>8.091629</td>\n",
       "      <td>...</td>\n",
       "      <td>97300.00</td>\n",
       "      <td>98216.0</td>\n",
       "      <td>3285.0</td>\n",
       "      <td>22.338508</td>\n",
       "      <td>6.720258</td>\n",
       "      <td>0.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>22.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj8unv8q</th>\n",
       "      <td>2025.0</td>\n",
       "      <td>52.516049</td>\n",
       "      <td>52.577854</td>\n",
       "      <td>2.0</td>\n",
       "      <td>21.00</td>\n",
       "      <td>36.0</td>\n",
       "      <td>64.00</td>\n",
       "      <td>523.0</td>\n",
       "      <td>2025.0</td>\n",
       "      <td>25.808395</td>\n",
       "      <td>...</td>\n",
       "      <td>97550.00</td>\n",
       "      <td>99032.0</td>\n",
       "      <td>2025.0</td>\n",
       "      <td>6.681481</td>\n",
       "      <td>5.115733</td>\n",
       "      <td>-12.0</td>\n",
       "      <td>3.00</td>\n",
       "      <td>6.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>27.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj9e2nrt</th>\n",
       "      <td>3309.0</td>\n",
       "      <td>14.980659</td>\n",
       "      <td>9.351085</td>\n",
       "      <td>0.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>13.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>92.0</td>\n",
       "      <td>3309.0</td>\n",
       "      <td>8.309761</td>\n",
       "      <td>...</td>\n",
       "      <td>97187.00</td>\n",
       "      <td>98098.0</td>\n",
       "      <td>3309.0</td>\n",
       "      <td>21.338773</td>\n",
       "      <td>6.171747</td>\n",
       "      <td>2.0</td>\n",
       "      <td>17.00</td>\n",
       "      <td>21.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>41.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj9s0jxw</th>\n",
       "      <td>2025.0</td>\n",
       "      <td>45.105679</td>\n",
       "      <td>45.555516</td>\n",
       "      <td>2.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>31.0</td>\n",
       "      <td>54.00</td>\n",
       "      <td>390.0</td>\n",
       "      <td>2025.0</td>\n",
       "      <td>20.809877</td>\n",
       "      <td>...</td>\n",
       "      <td>97437.00</td>\n",
       "      <td>98909.0</td>\n",
       "      <td>2025.0</td>\n",
       "      <td>6.133333</td>\n",
       "      <td>5.005925</td>\n",
       "      <td>-12.0</td>\n",
       "      <td>3.00</td>\n",
       "      <td>6.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>24.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rj9twh64</th>\n",
       "      <td>881.0</td>\n",
       "      <td>31.870602</td>\n",
       "      <td>18.421864</td>\n",
       "      <td>4.0</td>\n",
       "      <td>19.00</td>\n",
       "      <td>28.0</td>\n",
       "      <td>40.00</td>\n",
       "      <td>126.0</td>\n",
       "      <td>881.0</td>\n",
       "      <td>17.717367</td>\n",
       "      <td>...</td>\n",
       "      <td>96887.00</td>\n",
       "      <td>98050.0</td>\n",
       "      <td>881.0</td>\n",
       "      <td>11.519864</td>\n",
       "      <td>5.835034</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>7.00</td>\n",
       "      <td>12.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>27.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rjd1zxc3</th>\n",
       "      <td>3001.0</td>\n",
       "      <td>11.273242</td>\n",
       "      <td>6.646702</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.00</td>\n",
       "      <td>10.0</td>\n",
       "      <td>14.00</td>\n",
       "      <td>77.0</td>\n",
       "      <td>3001.0</td>\n",
       "      <td>6.143619</td>\n",
       "      <td>...</td>\n",
       "      <td>96922.00</td>\n",
       "      <td>97845.0</td>\n",
       "      <td>3001.0</td>\n",
       "      <td>22.677108</td>\n",
       "      <td>7.535386</td>\n",
       "      <td>8.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>21.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2rjd5rw3m</th>\n",
       "      <td>2616.0</td>\n",
       "      <td>18.105505</td>\n",
       "      <td>19.466310</td>\n",
       "      <td>2.0</td>\n",
       "      <td>7.00</td>\n",
       "      <td>12.0</td>\n",
       "      <td>21.00</td>\n",
       "      <td>221.0</td>\n",
       "      <td>2616.0</td>\n",
       "      <td>9.599388</td>\n",
       "      <td>...</td>\n",
       "      <td>97001.00</td>\n",
       "      <td>97968.0</td>\n",
       "      <td>2616.0</td>\n",
       "      <td>15.651376</td>\n",
       "      <td>10.523434</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>6.00</td>\n",
       "      <td>17.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>38.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2s3setee0</th>\n",
       "      <td>3000.0</td>\n",
       "      <td>13.950333</td>\n",
       "      <td>10.073316</td>\n",
       "      <td>2.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>12.0</td>\n",
       "      <td>16.00</td>\n",
       "      <td>228.0</td>\n",
       "      <td>3000.0</td>\n",
       "      <td>9.013667</td>\n",
       "      <td>...</td>\n",
       "      <td>99502.00</td>\n",
       "      <td>100416.0</td>\n",
       "      <td>3000.0</td>\n",
       "      <td>24.778667</td>\n",
       "      <td>6.073492</td>\n",
       "      <td>5.0</td>\n",
       "      <td>21.00</td>\n",
       "      <td>25.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2s3sge7t2</th>\n",
       "      <td>495.0</td>\n",
       "      <td>26.070707</td>\n",
       "      <td>15.541412</td>\n",
       "      <td>2.0</td>\n",
       "      <td>15.00</td>\n",
       "      <td>23.0</td>\n",
       "      <td>34.00</td>\n",
       "      <td>107.0</td>\n",
       "      <td>495.0</td>\n",
       "      <td>15.016162</td>\n",
       "      <td>...</td>\n",
       "      <td>99178.50</td>\n",
       "      <td>99814.0</td>\n",
       "      <td>495.0</td>\n",
       "      <td>12.802020</td>\n",
       "      <td>4.508785</td>\n",
       "      <td>3.0</td>\n",
       "      <td>10.00</td>\n",
       "      <td>13.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>23.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2s3wrzz74</th>\n",
       "      <td>3311.0</td>\n",
       "      <td>13.056478</td>\n",
       "      <td>10.536291</td>\n",
       "      <td>3.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>12.0</td>\n",
       "      <td>15.00</td>\n",
       "      <td>311.0</td>\n",
       "      <td>3311.0</td>\n",
       "      <td>9.332830</td>\n",
       "      <td>...</td>\n",
       "      <td>99032.00</td>\n",
       "      <td>99945.0</td>\n",
       "      <td>3311.0</td>\n",
       "      <td>22.837813</td>\n",
       "      <td>5.467783</td>\n",
       "      <td>4.0</td>\n",
       "      <td>19.00</td>\n",
       "      <td>23.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>36.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2s3y2xye5</th>\n",
       "      <td>2025.0</td>\n",
       "      <td>42.240494</td>\n",
       "      <td>44.644788</td>\n",
       "      <td>2.0</td>\n",
       "      <td>17.00</td>\n",
       "      <td>29.0</td>\n",
       "      <td>49.00</td>\n",
       "      <td>525.0</td>\n",
       "      <td>2025.0</td>\n",
       "      <td>27.869630</td>\n",
       "      <td>...</td>\n",
       "      <td>99463.00</td>\n",
       "      <td>100867.0</td>\n",
       "      <td>2025.0</td>\n",
       "      <td>8.069630</td>\n",
       "      <td>4.560592</td>\n",
       "      <td>-6.0</td>\n",
       "      <td>5.00</td>\n",
       "      <td>8.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>22.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sx2s9cmv19z</th>\n",
       "      <td>2835.0</td>\n",
       "      <td>4.347443</td>\n",
       "      <td>3.241664</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>3.0</td>\n",
       "      <td>6.00</td>\n",
       "      <td>18.0</td>\n",
       "      <td>2835.0</td>\n",
       "      <td>3.852910</td>\n",
       "      <td>...</td>\n",
       "      <td>98018.00</td>\n",
       "      <td>98974.0</td>\n",
       "      <td>2835.0</td>\n",
       "      <td>18.455732</td>\n",
       "      <td>11.436721</td>\n",
       "      <td>0.0</td>\n",
       "      <td>14.00</td>\n",
       "      <td>20.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>44.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxeywyvubv4</th>\n",
       "      <td>1354.0</td>\n",
       "      <td>13.913589</td>\n",
       "      <td>18.023531</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.00</td>\n",
       "      <td>10.0</td>\n",
       "      <td>14.00</td>\n",
       "      <td>254.0</td>\n",
       "      <td>1354.0</td>\n",
       "      <td>6.170606</td>\n",
       "      <td>...</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1354.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxeywyysbj5</th>\n",
       "      <td>1219.0</td>\n",
       "      <td>30.195242</td>\n",
       "      <td>64.912696</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.00</td>\n",
       "      <td>15.0</td>\n",
       "      <td>31.00</td>\n",
       "      <td>915.0</td>\n",
       "      <td>1219.0</td>\n",
       "      <td>15.082034</td>\n",
       "      <td>...</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1219.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc4cykgp</th>\n",
       "      <td>2418.0</td>\n",
       "      <td>21.094706</td>\n",
       "      <td>24.635609</td>\n",
       "      <td>0.0</td>\n",
       "      <td>10.00</td>\n",
       "      <td>14.0</td>\n",
       "      <td>23.00</td>\n",
       "      <td>528.0</td>\n",
       "      <td>2418.0</td>\n",
       "      <td>11.528122</td>\n",
       "      <td>...</td>\n",
       "      <td>99140.75</td>\n",
       "      <td>100018.0</td>\n",
       "      <td>2418.0</td>\n",
       "      <td>18.296526</td>\n",
       "      <td>10.144883</td>\n",
       "      <td>-5.0</td>\n",
       "      <td>12.00</td>\n",
       "      <td>19.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>44.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc5kcfpy</th>\n",
       "      <td>2580.0</td>\n",
       "      <td>193.916667</td>\n",
       "      <td>563.930235</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.00</td>\n",
       "      <td>13.0</td>\n",
       "      <td>31.00</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2580.0</td>\n",
       "      <td>99.415891</td>\n",
       "      <td>...</td>\n",
       "      <td>99198.00</td>\n",
       "      <td>100074.0</td>\n",
       "      <td>2580.0</td>\n",
       "      <td>13.126744</td>\n",
       "      <td>9.065176</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>5.75</td>\n",
       "      <td>14.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>31.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc5qrbf3</th>\n",
       "      <td>973.0</td>\n",
       "      <td>28.852004</td>\n",
       "      <td>21.573844</td>\n",
       "      <td>0.0</td>\n",
       "      <td>13.00</td>\n",
       "      <td>27.0</td>\n",
       "      <td>42.00</td>\n",
       "      <td>171.0</td>\n",
       "      <td>973.0</td>\n",
       "      <td>17.535457</td>\n",
       "      <td>...</td>\n",
       "      <td>99365.00</td>\n",
       "      <td>100262.0</td>\n",
       "      <td>973.0</td>\n",
       "      <td>5.941418</td>\n",
       "      <td>7.008054</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>36.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc5wm8u9</th>\n",
       "      <td>4961.0</td>\n",
       "      <td>14.037694</td>\n",
       "      <td>11.528785</td>\n",
       "      <td>0.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>11.0</td>\n",
       "      <td>15.00</td>\n",
       "      <td>219.0</td>\n",
       "      <td>4961.0</td>\n",
       "      <td>7.615602</td>\n",
       "      <td>...</td>\n",
       "      <td>99193.00</td>\n",
       "      <td>100099.0</td>\n",
       "      <td>4961.0</td>\n",
       "      <td>24.174158</td>\n",
       "      <td>7.581114</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20.00</td>\n",
       "      <td>23.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>51.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc5y72z1</th>\n",
       "      <td>152.0</td>\n",
       "      <td>40.256579</td>\n",
       "      <td>32.702653</td>\n",
       "      <td>0.0</td>\n",
       "      <td>22.00</td>\n",
       "      <td>38.5</td>\n",
       "      <td>55.25</td>\n",
       "      <td>248.0</td>\n",
       "      <td>152.0</td>\n",
       "      <td>25.315789</td>\n",
       "      <td>...</td>\n",
       "      <td>99283.00</td>\n",
       "      <td>99822.0</td>\n",
       "      <td>152.0</td>\n",
       "      <td>2.480263</td>\n",
       "      <td>2.790643</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>11.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc6c0w08</th>\n",
       "      <td>973.0</td>\n",
       "      <td>33.168551</td>\n",
       "      <td>21.270363</td>\n",
       "      <td>0.0</td>\n",
       "      <td>21.00</td>\n",
       "      <td>30.0</td>\n",
       "      <td>42.00</td>\n",
       "      <td>157.0</td>\n",
       "      <td>973.0</td>\n",
       "      <td>18.313464</td>\n",
       "      <td>...</td>\n",
       "      <td>99415.00</td>\n",
       "      <td>100314.0</td>\n",
       "      <td>973.0</td>\n",
       "      <td>5.889003</td>\n",
       "      <td>6.168252</td>\n",
       "      <td>-10.0</td>\n",
       "      <td>3.00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>25.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc6cnq50</th>\n",
       "      <td>2382.0</td>\n",
       "      <td>17.841730</td>\n",
       "      <td>12.558596</td>\n",
       "      <td>3.0</td>\n",
       "      <td>11.00</td>\n",
       "      <td>15.0</td>\n",
       "      <td>20.00</td>\n",
       "      <td>255.0</td>\n",
       "      <td>2382.0</td>\n",
       "      <td>7.834593</td>\n",
       "      <td>...</td>\n",
       "      <td>99388.00</td>\n",
       "      <td>100174.0</td>\n",
       "      <td>2382.0</td>\n",
       "      <td>21.611251</td>\n",
       "      <td>6.205836</td>\n",
       "      <td>5.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>22.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>37.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc7dtsse</th>\n",
       "      <td>2517.0</td>\n",
       "      <td>19.079062</td>\n",
       "      <td>14.716360</td>\n",
       "      <td>4.0</td>\n",
       "      <td>11.00</td>\n",
       "      <td>16.0</td>\n",
       "      <td>22.00</td>\n",
       "      <td>368.0</td>\n",
       "      <td>2517.0</td>\n",
       "      <td>7.955105</td>\n",
       "      <td>...</td>\n",
       "      <td>99257.00</td>\n",
       "      <td>100048.0</td>\n",
       "      <td>2517.0</td>\n",
       "      <td>19.071116</td>\n",
       "      <td>11.629076</td>\n",
       "      <td>0.0</td>\n",
       "      <td>12.00</td>\n",
       "      <td>19.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>45.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc7fekx5</th>\n",
       "      <td>1051.0</td>\n",
       "      <td>41.441484</td>\n",
       "      <td>40.414744</td>\n",
       "      <td>0.0</td>\n",
       "      <td>19.00</td>\n",
       "      <td>33.0</td>\n",
       "      <td>49.00</td>\n",
       "      <td>367.0</td>\n",
       "      <td>1051.0</td>\n",
       "      <td>23.099905</td>\n",
       "      <td>...</td>\n",
       "      <td>99218.50</td>\n",
       "      <td>100185.0</td>\n",
       "      <td>1051.0</td>\n",
       "      <td>5.275928</td>\n",
       "      <td>6.988016</td>\n",
       "      <td>-10.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>4.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>29.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc7hu4t2</th>\n",
       "      <td>1044.0</td>\n",
       "      <td>42.931992</td>\n",
       "      <td>36.966158</td>\n",
       "      <td>4.0</td>\n",
       "      <td>22.00</td>\n",
       "      <td>34.0</td>\n",
       "      <td>52.00</td>\n",
       "      <td>398.0</td>\n",
       "      <td>1044.0</td>\n",
       "      <td>24.717433</td>\n",
       "      <td>...</td>\n",
       "      <td>99186.50</td>\n",
       "      <td>100151.0</td>\n",
       "      <td>1044.0</td>\n",
       "      <td>4.648467</td>\n",
       "      <td>6.296599</td>\n",
       "      <td>-11.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>4.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>25.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezc7k1gpy</th>\n",
       "      <td>3286.0</td>\n",
       "      <td>15.160377</td>\n",
       "      <td>10.254605</td>\n",
       "      <td>2.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>13.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>147.0</td>\n",
       "      <td>3286.0</td>\n",
       "      <td>8.531345</td>\n",
       "      <td>...</td>\n",
       "      <td>99187.75</td>\n",
       "      <td>100048.0</td>\n",
       "      <td>3286.0</td>\n",
       "      <td>21.488740</td>\n",
       "      <td>6.458133</td>\n",
       "      <td>4.0</td>\n",
       "      <td>18.00</td>\n",
       "      <td>21.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxezct2rzhb</th>\n",
       "      <td>1750.0</td>\n",
       "      <td>17.314857</td>\n",
       "      <td>18.069992</td>\n",
       "      <td>2.0</td>\n",
       "      <td>10.00</td>\n",
       "      <td>14.0</td>\n",
       "      <td>20.00</td>\n",
       "      <td>379.0</td>\n",
       "      <td>1750.0</td>\n",
       "      <td>8.976571</td>\n",
       "      <td>...</td>\n",
       "      <td>99204.00</td>\n",
       "      <td>99806.0</td>\n",
       "      <td>1750.0</td>\n",
       "      <td>23.177143</td>\n",
       "      <td>5.048823</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20.00</td>\n",
       "      <td>22.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>38.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf00smmr2s</th>\n",
       "      <td>5006.0</td>\n",
       "      <td>42.724730</td>\n",
       "      <td>77.940494</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.00</td>\n",
       "      <td>14.0</td>\n",
       "      <td>45.00</td>\n",
       "      <td>989.0</td>\n",
       "      <td>5006.0</td>\n",
       "      <td>18.900320</td>\n",
       "      <td>...</td>\n",
       "      <td>100953.75</td>\n",
       "      <td>102995.0</td>\n",
       "      <td>5006.0</td>\n",
       "      <td>15.856772</td>\n",
       "      <td>10.880114</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>6.00</td>\n",
       "      <td>18.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>49.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3qtut6wu</th>\n",
       "      <td>2782.0</td>\n",
       "      <td>17.331416</td>\n",
       "      <td>20.644544</td>\n",
       "      <td>1.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>13.0</td>\n",
       "      <td>19.00</td>\n",
       "      <td>430.0</td>\n",
       "      <td>2782.0</td>\n",
       "      <td>10.352624</td>\n",
       "      <td>...</td>\n",
       "      <td>101217.00</td>\n",
       "      <td>163152.0</td>\n",
       "      <td>2782.0</td>\n",
       "      <td>22.961179</td>\n",
       "      <td>8.641857</td>\n",
       "      <td>-146.0</td>\n",
       "      <td>19.00</td>\n",
       "      <td>23.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>43.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3qtvm3yy</th>\n",
       "      <td>2021.0</td>\n",
       "      <td>68.521029</td>\n",
       "      <td>80.543034</td>\n",
       "      <td>4.0</td>\n",
       "      <td>29.00</td>\n",
       "      <td>46.0</td>\n",
       "      <td>81.00</td>\n",
       "      <td>1362.0</td>\n",
       "      <td>2021.0</td>\n",
       "      <td>37.225631</td>\n",
       "      <td>...</td>\n",
       "      <td>101947.00</td>\n",
       "      <td>119298.0</td>\n",
       "      <td>2021.0</td>\n",
       "      <td>-6.975260</td>\n",
       "      <td>40.525733</td>\n",
       "      <td>-146.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>4.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>25.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3qwj73cn</th>\n",
       "      <td>1449.0</td>\n",
       "      <td>75.855763</td>\n",
       "      <td>74.455764</td>\n",
       "      <td>5.0</td>\n",
       "      <td>35.00</td>\n",
       "      <td>55.0</td>\n",
       "      <td>87.00</td>\n",
       "      <td>575.0</td>\n",
       "      <td>1449.0</td>\n",
       "      <td>29.160801</td>\n",
       "      <td>...</td>\n",
       "      <td>101814.00</td>\n",
       "      <td>103187.0</td>\n",
       "      <td>1449.0</td>\n",
       "      <td>3.196687</td>\n",
       "      <td>4.997026</td>\n",
       "      <td>-10.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>3.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>21.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3qwn531p</th>\n",
       "      <td>884.0</td>\n",
       "      <td>78.617647</td>\n",
       "      <td>81.046977</td>\n",
       "      <td>5.0</td>\n",
       "      <td>29.00</td>\n",
       "      <td>48.0</td>\n",
       "      <td>96.25</td>\n",
       "      <td>535.0</td>\n",
       "      <td>884.0</td>\n",
       "      <td>37.213801</td>\n",
       "      <td>...</td>\n",
       "      <td>102657.75</td>\n",
       "      <td>103560.0</td>\n",
       "      <td>884.0</td>\n",
       "      <td>4.563348</td>\n",
       "      <td>4.711790</td>\n",
       "      <td>-6.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3qwq115x</th>\n",
       "      <td>542.0</td>\n",
       "      <td>21.869004</td>\n",
       "      <td>13.265921</td>\n",
       "      <td>6.0</td>\n",
       "      <td>12.00</td>\n",
       "      <td>19.0</td>\n",
       "      <td>27.00</td>\n",
       "      <td>114.0</td>\n",
       "      <td>542.0</td>\n",
       "      <td>10.167897</td>\n",
       "      <td>...</td>\n",
       "      <td>101298.75</td>\n",
       "      <td>101986.0</td>\n",
       "      <td>542.0</td>\n",
       "      <td>21.492620</td>\n",
       "      <td>5.787914</td>\n",
       "      <td>11.0</td>\n",
       "      <td>17.00</td>\n",
       "      <td>20.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>39.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3qxnb2t3</th>\n",
       "      <td>995.0</td>\n",
       "      <td>39.592965</td>\n",
       "      <td>29.116089</td>\n",
       "      <td>4.0</td>\n",
       "      <td>22.00</td>\n",
       "      <td>33.0</td>\n",
       "      <td>49.00</td>\n",
       "      <td>421.0</td>\n",
       "      <td>995.0</td>\n",
       "      <td>24.482412</td>\n",
       "      <td>...</td>\n",
       "      <td>101348.50</td>\n",
       "      <td>102370.0</td>\n",
       "      <td>995.0</td>\n",
       "      <td>5.952764</td>\n",
       "      <td>6.884998</td>\n",
       "      <td>-7.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>4.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>34.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3qxp2rv6</th>\n",
       "      <td>1976.0</td>\n",
       "      <td>11.963563</td>\n",
       "      <td>16.887946</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>10.0</td>\n",
       "      <td>16.00</td>\n",
       "      <td>281.0</td>\n",
       "      <td>1976.0</td>\n",
       "      <td>7.043016</td>\n",
       "      <td>...</td>\n",
       "      <td>101224.00</td>\n",
       "      <td>102195.0</td>\n",
       "      <td>1976.0</td>\n",
       "      <td>25.340081</td>\n",
       "      <td>7.180687</td>\n",
       "      <td>6.0</td>\n",
       "      <td>21.00</td>\n",
       "      <td>25.0</td>\n",
       "      <td>30.0</td>\n",
       "      <td>45.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3qyuddfy</th>\n",
       "      <td>1263.0</td>\n",
       "      <td>46.951702</td>\n",
       "      <td>35.788980</td>\n",
       "      <td>4.0</td>\n",
       "      <td>24.00</td>\n",
       "      <td>40.0</td>\n",
       "      <td>59.00</td>\n",
       "      <td>397.0</td>\n",
       "      <td>1263.0</td>\n",
       "      <td>25.886778</td>\n",
       "      <td>...</td>\n",
       "      <td>101235.50</td>\n",
       "      <td>102244.0</td>\n",
       "      <td>1263.0</td>\n",
       "      <td>5.396675</td>\n",
       "      <td>5.959735</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>2.00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>24.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3qz5b7tk</th>\n",
       "      <td>3242.0</td>\n",
       "      <td>16.884948</td>\n",
       "      <td>14.699395</td>\n",
       "      <td>3.0</td>\n",
       "      <td>10.00</td>\n",
       "      <td>13.0</td>\n",
       "      <td>19.00</td>\n",
       "      <td>321.0</td>\n",
       "      <td>3242.0</td>\n",
       "      <td>10.418569</td>\n",
       "      <td>...</td>\n",
       "      <td>101109.00</td>\n",
       "      <td>102055.0</td>\n",
       "      <td>3242.0</td>\n",
       "      <td>22.522825</td>\n",
       "      <td>5.271313</td>\n",
       "      <td>4.0</td>\n",
       "      <td>19.00</td>\n",
       "      <td>23.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>34.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3rj81z3y</th>\n",
       "      <td>3178.0</td>\n",
       "      <td>19.577093</td>\n",
       "      <td>16.636721</td>\n",
       "      <td>4.0</td>\n",
       "      <td>12.00</td>\n",
       "      <td>16.0</td>\n",
       "      <td>22.00</td>\n",
       "      <td>356.0</td>\n",
       "      <td>3178.0</td>\n",
       "      <td>10.091252</td>\n",
       "      <td>...</td>\n",
       "      <td>101107.00</td>\n",
       "      <td>102060.0</td>\n",
       "      <td>3178.0</td>\n",
       "      <td>24.984267</td>\n",
       "      <td>5.622900</td>\n",
       "      <td>5.0</td>\n",
       "      <td>22.00</td>\n",
       "      <td>25.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>39.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxf3rj8cycb</th>\n",
       "      <td>1137.0</td>\n",
       "      <td>53.218997</td>\n",
       "      <td>39.341750</td>\n",
       "      <td>7.0</td>\n",
       "      <td>28.00</td>\n",
       "      <td>45.0</td>\n",
       "      <td>67.00</td>\n",
       "      <td>385.0</td>\n",
       "      <td>1137.0</td>\n",
       "      <td>27.204046</td>\n",
       "      <td>...</td>\n",
       "      <td>101235.00</td>\n",
       "      <td>102278.0</td>\n",
       "      <td>1137.0</td>\n",
       "      <td>6.452067</td>\n",
       "      <td>6.347315</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>3.00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>28.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxg6umw7xz5</th>\n",
       "      <td>2353.0</td>\n",
       "      <td>10.012750</td>\n",
       "      <td>27.481856</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.00</td>\n",
       "      <td>6.0</td>\n",
       "      <td>9.00</td>\n",
       "      <td>797.0</td>\n",
       "      <td>2353.0</td>\n",
       "      <td>6.078623</td>\n",
       "      <td>...</td>\n",
       "      <td>101207.00</td>\n",
       "      <td>102138.0</td>\n",
       "      <td>2353.0</td>\n",
       "      <td>26.437739</td>\n",
       "      <td>7.986892</td>\n",
       "      <td>2.0</td>\n",
       "      <td>23.00</td>\n",
       "      <td>27.0</td>\n",
       "      <td>30.0</td>\n",
       "      <td>56.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxg6umy3xce</th>\n",
       "      <td>84.0</td>\n",
       "      <td>52.357143</td>\n",
       "      <td>27.246595</td>\n",
       "      <td>19.0</td>\n",
       "      <td>33.75</td>\n",
       "      <td>47.0</td>\n",
       "      <td>65.25</td>\n",
       "      <td>162.0</td>\n",
       "      <td>84.0</td>\n",
       "      <td>36.654762</td>\n",
       "      <td>...</td>\n",
       "      <td>101206.75</td>\n",
       "      <td>101509.0</td>\n",
       "      <td>84.0</td>\n",
       "      <td>5.202381</td>\n",
       "      <td>3.938625</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.75</td>\n",
       "      <td>4.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>22.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxg6ur2tvrm</th>\n",
       "      <td>3311.0</td>\n",
       "      <td>17.533072</td>\n",
       "      <td>18.666173</td>\n",
       "      <td>2.0</td>\n",
       "      <td>10.00</td>\n",
       "      <td>13.0</td>\n",
       "      <td>19.00</td>\n",
       "      <td>288.0</td>\n",
       "      <td>3311.0</td>\n",
       "      <td>9.720024</td>\n",
       "      <td>...</td>\n",
       "      <td>101408.50</td>\n",
       "      <td>102333.0</td>\n",
       "      <td>3311.0</td>\n",
       "      <td>23.879191</td>\n",
       "      <td>6.167003</td>\n",
       "      <td>4.0</td>\n",
       "      <td>20.00</td>\n",
       "      <td>24.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>37.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sxg6ur32hsz</th>\n",
       "      <td>2025.0</td>\n",
       "      <td>61.442469</td>\n",
       "      <td>59.554271</td>\n",
       "      <td>7.0</td>\n",
       "      <td>29.00</td>\n",
       "      <td>45.0</td>\n",
       "      <td>71.00</td>\n",
       "      <td>757.0</td>\n",
       "      <td>2025.0</td>\n",
       "      <td>29.758519</td>\n",
       "      <td>...</td>\n",
       "      <td>102074.00</td>\n",
       "      <td>103597.0</td>\n",
       "      <td>2025.0</td>\n",
       "      <td>5.553580</td>\n",
       "      <td>6.628721</td>\n",
       "      <td>-11.0</td>\n",
       "      <td>1.00</td>\n",
       "      <td>5.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>32.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1253 rows × 40 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                 P1                                                     \\\n",
       "              count        mean         std   min    25%   50%     75%   \n",
       "geohash                                                                  \n",
       "sx27rxfj4me  5278.0   20.184919   23.589839   1.0   8.00  12.0   21.00   \n",
       "sx2qvkkjjkh  2558.0   11.791243    6.284312   0.0   7.00  11.0   15.00   \n",
       "sx2qvtugtp2  2996.0   17.440254   13.955574   0.0  10.00  14.0   21.00   \n",
       "sx2qvwhct1b  2019.0   65.512135   73.474854   2.0  20.00  41.0   79.00   \n",
       "sx2qvybw9tb  1946.0  137.251799  232.457284   2.0  26.00  55.0  134.00   \n",
       "sx2qvycq8vf   338.0   56.751479  151.638892   3.0  11.00  17.0   31.00   \n",
       "sx2qvyhct3f  1060.0   33.953774   25.803184   2.0  16.00  28.5   45.00   \n",
       "sx2qvyhpqh2  3302.0   16.561781   10.413605   2.0  10.00  14.0   21.00   \n",
       "sx2rg2y3bsx  1976.0   37.934211   41.266160   1.0  11.00  22.0   50.00   \n",
       "sx2rg2z1bh9  3181.0   11.222572   14.772408   1.0   5.00   9.0   13.00   \n",
       "sx2rj0kvk3k  2222.0   32.749775   28.447942   3.0  13.00  23.0   42.00   \n",
       "sx2rj0mt79m   780.0   65.943590   42.316272   4.0  32.00  58.5   93.25   \n",
       "sx2rj2e7n5d  1000.0   50.728000   47.731586   0.0  18.00  37.0   71.00   \n",
       "sx2rj2hcssq  1079.0   42.335496   28.550293   3.0  21.00  36.0   56.00   \n",
       "sx2rj2j9eur  3311.0   19.309574   12.062422   1.0  11.00  17.0   24.00   \n",
       "sx2rj2u0vqh  1504.0   21.592420   20.932410   3.0   9.00  15.0   26.00   \n",
       "sx2rj3t85zx  3228.0   14.501859    9.621388   2.0   8.00  12.0   18.00   \n",
       "sx2rj3tw5fp  1273.0   41.938727   31.097878   3.0  20.00  35.0   54.00   \n",
       "sx2rj8g2yqj  3285.0   15.063623    9.752849   0.0   9.00  13.0   18.00   \n",
       "sx2rj8unv8q  2025.0   52.516049   52.577854   2.0  21.00  36.0   64.00   \n",
       "sx2rj9e2nrt  3309.0   14.980659    9.351085   0.0   9.00  13.0   18.00   \n",
       "sx2rj9s0jxw  2025.0   45.105679   45.555516   2.0  18.00  31.0   54.00   \n",
       "sx2rj9twh64   881.0   31.870602   18.421864   4.0  19.00  28.0   40.00   \n",
       "sx2rjd1zxc3  3001.0   11.273242    6.646702   0.0   7.00  10.0   14.00   \n",
       "sx2rjd5rw3m  2616.0   18.105505   19.466310   2.0   7.00  12.0   21.00   \n",
       "sx2s3setee0  3000.0   13.950333   10.073316   2.0   9.00  12.0   16.00   \n",
       "sx2s3sge7t2   495.0   26.070707   15.541412   2.0  15.00  23.0   34.00   \n",
       "sx2s3wrzz74  3311.0   13.056478   10.536291   3.0   9.00  12.0   15.00   \n",
       "sx2s3y2xye5  2025.0   42.240494   44.644788   2.0  17.00  29.0   49.00   \n",
       "sx2s9cmv19z  2835.0    4.347443    3.241664   0.0   2.00   3.0    6.00   \n",
       "...             ...         ...         ...   ...    ...   ...     ...   \n",
       "sxeywyvubv4  1354.0   13.913589   18.023531   0.0   7.00  10.0   14.00   \n",
       "sxeywyysbj5  1219.0   30.195242   64.912696   0.0   7.00  15.0   31.00   \n",
       "sxezc4cykgp  2418.0   21.094706   24.635609   0.0  10.00  14.0   23.00   \n",
       "sxezc5kcfpy  2580.0  193.916667  563.930235   0.0   6.00  13.0   31.00   \n",
       "sxezc5qrbf3   973.0   28.852004   21.573844   0.0  13.00  27.0   42.00   \n",
       "sxezc5wm8u9  4961.0   14.037694   11.528785   0.0   9.00  11.0   15.00   \n",
       "sxezc5y72z1   152.0   40.256579   32.702653   0.0  22.00  38.5   55.25   \n",
       "sxezc6c0w08   973.0   33.168551   21.270363   0.0  21.00  30.0   42.00   \n",
       "sxezc6cnq50  2382.0   17.841730   12.558596   3.0  11.00  15.0   20.00   \n",
       "sxezc7dtsse  2517.0   19.079062   14.716360   4.0  11.00  16.0   22.00   \n",
       "sxezc7fekx5  1051.0   41.441484   40.414744   0.0  19.00  33.0   49.00   \n",
       "sxezc7hu4t2  1044.0   42.931992   36.966158   4.0  22.00  34.0   52.00   \n",
       "sxezc7k1gpy  3286.0   15.160377   10.254605   2.0   9.00  13.0   18.00   \n",
       "sxezct2rzhb  1750.0   17.314857   18.069992   2.0  10.00  14.0   20.00   \n",
       "sxf00smmr2s  5006.0   42.724730   77.940494   1.0   6.00  14.0   45.00   \n",
       "sxf3qtut6wu  2782.0   17.331416   20.644544   1.0   9.00  13.0   19.00   \n",
       "sxf3qtvm3yy  2021.0   68.521029   80.543034   4.0  29.00  46.0   81.00   \n",
       "sxf3qwj73cn  1449.0   75.855763   74.455764   5.0  35.00  55.0   87.00   \n",
       "sxf3qwn531p   884.0   78.617647   81.046977   5.0  29.00  48.0   96.25   \n",
       "sxf3qwq115x   542.0   21.869004   13.265921   6.0  12.00  19.0   27.00   \n",
       "sxf3qxnb2t3   995.0   39.592965   29.116089   4.0  22.00  33.0   49.00   \n",
       "sxf3qxp2rv6  1976.0   11.963563   16.887946   0.0   0.00  10.0   16.00   \n",
       "sxf3qyuddfy  1263.0   46.951702   35.788980   4.0  24.00  40.0   59.00   \n",
       "sxf3qz5b7tk  3242.0   16.884948   14.699395   3.0  10.00  13.0   19.00   \n",
       "sxf3rj81z3y  3178.0   19.577093   16.636721   4.0  12.00  16.0   22.00   \n",
       "sxf3rj8cycb  1137.0   53.218997   39.341750   7.0  28.00  45.0   67.00   \n",
       "sxg6umw7xz5  2353.0   10.012750   27.481856   1.0   4.00   6.0    9.00   \n",
       "sxg6umy3xce    84.0   52.357143   27.246595  19.0  33.75  47.0   65.25   \n",
       "sxg6ur2tvrm  3311.0   17.533072   18.666173   2.0  10.00  13.0   19.00   \n",
       "sxg6ur32hsz  2025.0   61.442469   59.554271   7.0  29.00  45.0   71.00   \n",
       "\n",
       "                         P2             ...    pressure           temperature  \\\n",
       "                max   count       mean  ...         75%       max       count   \n",
       "geohash                                 ...                                     \n",
       "sx27rxfj4me   340.0  5278.0  10.724517  ...    99933.00  101752.0      5278.0   \n",
       "sx2qvkkjjkh    85.0  2558.0   9.242377  ...    97709.75   98244.0      2558.0   \n",
       "sx2qvtugtp2   251.0  2996.0   9.144860  ...    96671.00   97609.0      2996.0   \n",
       "sx2qvwhct1b   604.0  2019.0  26.193660  ...    96916.50   98359.0      2019.0   \n",
       "sx2qvybw9tb  2000.0  1946.0  59.718397  ...    96779.75   98186.0      1946.0   \n",
       "sx2qvycq8vf  1321.0   338.0  31.147929  ...    96486.75   97025.0       338.0   \n",
       "sx2qvyhct3f   264.0  1060.0  14.768868  ...    96522.25   97785.0      1060.0   \n",
       "sx2qvyhpqh2   107.0  3302.0   9.177771  ...    96867.00   97761.0      3302.0   \n",
       "sx2rg2y3bsx   281.0  1976.0  22.752530  ...    97397.25   98896.0      1976.0   \n",
       "sx2rg2z1bh9   455.0  3181.0   8.610185  ...    97195.00   98111.0      3181.0   \n",
       "sx2rj0kvk3k   206.0  2222.0  18.891989  ...    97607.50   98481.0      2222.0   \n",
       "sx2rj0mt79m   224.0   780.0  34.741026  ...    97084.50   98210.0       780.0   \n",
       "sx2rj2e7n5d   605.0  1000.0  30.641000  ...    97386.75   98514.0      1000.0   \n",
       "sx2rj2hcssq   176.0  1079.0  20.775718  ...        0.00   97143.0      1079.0   \n",
       "sx2rj2j9eur   141.0  3311.0  10.966777  ...    97452.00   98365.0      3311.0   \n",
       "sx2rj2u0vqh   193.0  1504.0  14.524601  ...    97401.00  122757.0      1504.0   \n",
       "sx2rj3t85zx   111.0  3228.0   7.630112  ...    97358.25   98266.0      3228.0   \n",
       "sx2rj3tw5fp   309.0  1273.0  20.245090  ...    97152.00   98313.0      1273.0   \n",
       "sx2rj8g2yqj   109.0  3285.0   8.091629  ...    97300.00   98216.0      3285.0   \n",
       "sx2rj8unv8q   523.0  2025.0  25.808395  ...    97550.00   99032.0      2025.0   \n",
       "sx2rj9e2nrt    92.0  3309.0   8.309761  ...    97187.00   98098.0      3309.0   \n",
       "sx2rj9s0jxw   390.0  2025.0  20.809877  ...    97437.00   98909.0      2025.0   \n",
       "sx2rj9twh64   126.0   881.0  17.717367  ...    96887.00   98050.0       881.0   \n",
       "sx2rjd1zxc3    77.0  3001.0   6.143619  ...    96922.00   97845.0      3001.0   \n",
       "sx2rjd5rw3m   221.0  2616.0   9.599388  ...    97001.00   97968.0      2616.0   \n",
       "sx2s3setee0   228.0  3000.0   9.013667  ...    99502.00  100416.0      3000.0   \n",
       "sx2s3sge7t2   107.0   495.0  15.016162  ...    99178.50   99814.0       495.0   \n",
       "sx2s3wrzz74   311.0  3311.0   9.332830  ...    99032.00   99945.0      3311.0   \n",
       "sx2s3y2xye5   525.0  2025.0  27.869630  ...    99463.00  100867.0      2025.0   \n",
       "sx2s9cmv19z    18.0  2835.0   3.852910  ...    98018.00   98974.0      2835.0   \n",
       "...             ...     ...        ...  ...         ...       ...         ...   \n",
       "sxeywyvubv4   254.0  1354.0   6.170606  ...        0.00       0.0      1354.0   \n",
       "sxeywyysbj5   915.0  1219.0  15.082034  ...        0.00       0.0      1219.0   \n",
       "sxezc4cykgp   528.0  2418.0  11.528122  ...    99140.75  100018.0      2418.0   \n",
       "sxezc5kcfpy  2000.0  2580.0  99.415891  ...    99198.00  100074.0      2580.0   \n",
       "sxezc5qrbf3   171.0   973.0  17.535457  ...    99365.00  100262.0       973.0   \n",
       "sxezc5wm8u9   219.0  4961.0   7.615602  ...    99193.00  100099.0      4961.0   \n",
       "sxezc5y72z1   248.0   152.0  25.315789  ...    99283.00   99822.0       152.0   \n",
       "sxezc6c0w08   157.0   973.0  18.313464  ...    99415.00  100314.0       973.0   \n",
       "sxezc6cnq50   255.0  2382.0   7.834593  ...    99388.00  100174.0      2382.0   \n",
       "sxezc7dtsse   368.0  2517.0   7.955105  ...    99257.00  100048.0      2517.0   \n",
       "sxezc7fekx5   367.0  1051.0  23.099905  ...    99218.50  100185.0      1051.0   \n",
       "sxezc7hu4t2   398.0  1044.0  24.717433  ...    99186.50  100151.0      1044.0   \n",
       "sxezc7k1gpy   147.0  3286.0   8.531345  ...    99187.75  100048.0      3286.0   \n",
       "sxezct2rzhb   379.0  1750.0   8.976571  ...    99204.00   99806.0      1750.0   \n",
       "sxf00smmr2s   989.0  5006.0  18.900320  ...   100953.75  102995.0      5006.0   \n",
       "sxf3qtut6wu   430.0  2782.0  10.352624  ...   101217.00  163152.0      2782.0   \n",
       "sxf3qtvm3yy  1362.0  2021.0  37.225631  ...   101947.00  119298.0      2021.0   \n",
       "sxf3qwj73cn   575.0  1449.0  29.160801  ...   101814.00  103187.0      1449.0   \n",
       "sxf3qwn531p   535.0   884.0  37.213801  ...   102657.75  103560.0       884.0   \n",
       "sxf3qwq115x   114.0   542.0  10.167897  ...   101298.75  101986.0       542.0   \n",
       "sxf3qxnb2t3   421.0   995.0  24.482412  ...   101348.50  102370.0       995.0   \n",
       "sxf3qxp2rv6   281.0  1976.0   7.043016  ...   101224.00  102195.0      1976.0   \n",
       "sxf3qyuddfy   397.0  1263.0  25.886778  ...   101235.50  102244.0      1263.0   \n",
       "sxf3qz5b7tk   321.0  3242.0  10.418569  ...   101109.00  102055.0      3242.0   \n",
       "sxf3rj81z3y   356.0  3178.0  10.091252  ...   101107.00  102060.0      3178.0   \n",
       "sxf3rj8cycb   385.0  1137.0  27.204046  ...   101235.00  102278.0      1137.0   \n",
       "sxg6umw7xz5   797.0  2353.0   6.078623  ...   101207.00  102138.0      2353.0   \n",
       "sxg6umy3xce   162.0    84.0  36.654762  ...   101206.75  101509.0        84.0   \n",
       "sxg6ur2tvrm   288.0  3311.0   9.720024  ...   101408.50  102333.0      3311.0   \n",
       "sxg6ur32hsz   757.0  2025.0  29.758519  ...   102074.00  103597.0      2025.0   \n",
       "\n",
       "                                                                   \n",
       "                  mean        std    min    25%   50%   75%   max  \n",
       "geohash                                                            \n",
       "sx27rxfj4me  17.152330   9.434147   -6.0   9.00  18.0  24.0  37.0  \n",
       "sx2qvkkjjkh  23.434324   5.659566   10.0  19.00  23.0  28.0  39.0  \n",
       "sx2qvtugtp2  22.464619   8.096275   -1.0  17.00  21.0  29.0  43.0  \n",
       "sx2qvwhct1b   6.179792   5.753085  -14.0   2.00   6.0  10.0  29.0  \n",
       "sx2qvybw9tb   5.332477   5.202426  -13.0   2.00   5.0   9.0  21.0  \n",
       "sx2qvycq8vf  16.967456   8.887133    0.0   9.00  17.0  23.0  33.0  \n",
       "sx2qvyhct3f   8.950000   6.998472  -11.0   5.00   8.0  12.0  39.0  \n",
       "sx2qvyhpqh2  23.450030   8.217677    1.0  17.00  22.0  29.0  47.0  \n",
       "sx2rg2y3bsx   6.221660   5.081758  -13.0   3.00   6.0   9.0  22.0  \n",
       "sx2rg2z1bh9  22.074819   6.185299    2.0  18.00  22.0  27.0  36.0  \n",
       "sx2rj0kvk3k  21.598110   6.053495    4.0  18.00  21.0  25.0  45.0  \n",
       "sx2rj0mt79m  10.515385   6.423922   -9.0   7.00  10.5  14.0  38.0  \n",
       "sx2rj2e7n5d   9.268000   4.973219   -1.0   6.00   9.0  12.0  35.0  \n",
       "sx2rj2hcssq   0.362373   1.408071    0.0   0.00   0.0   0.0  11.0  \n",
       "sx2rj2j9eur  22.306252   6.335710    1.0  18.00  22.0  27.0  37.0  \n",
       "sx2rj2u0vqh   1.957447  28.140571 -141.0   0.00   0.0  13.0  35.0  \n",
       "sx2rj3t85zx  23.820012   6.996489    3.0  19.00  23.0  29.0  41.0  \n",
       "sx2rj3tw5fp   9.366064   5.829834   -9.0   6.00   9.0  12.0  32.0  \n",
       "sx2rj8g2yqj  22.338508   6.720258    0.0  18.00  22.0  27.0  40.0  \n",
       "sx2rj8unv8q   6.681481   5.115733  -12.0   3.00   6.0  10.0  27.0  \n",
       "sx2rj9e2nrt  21.338773   6.171747    2.0  17.00  21.0  25.0  41.0  \n",
       "sx2rj9s0jxw   6.133333   5.005925  -12.0   3.00   6.0   9.0  24.0  \n",
       "sx2rj9twh64  11.519864   5.835034   -9.0   7.00  12.0  16.0  27.0  \n",
       "sx2rjd1zxc3  22.677108   7.535386    8.0  18.00  21.0  26.0  52.0  \n",
       "sx2rjd5rw3m  15.651376  10.523434   -8.0   6.00  17.0  24.0  38.0  \n",
       "sx2s3setee0  24.778667   6.073492    5.0  21.00  25.0  29.0  40.0  \n",
       "sx2s3sge7t2  12.802020   4.508785    3.0  10.00  13.0  16.0  23.0  \n",
       "sx2s3wrzz74  22.837813   5.467783    4.0  19.00  23.0  27.0  36.0  \n",
       "sx2s3y2xye5   8.069630   4.560592   -6.0   5.00   8.0  11.0  22.0  \n",
       "sx2s9cmv19z  18.455732  11.436721    0.0  14.00  20.0  27.0  44.0  \n",
       "...                ...        ...    ...    ...   ...   ...   ...  \n",
       "sxeywyvubv4   0.000000   0.000000    0.0   0.00   0.0   0.0   0.0  \n",
       "sxeywyysbj5   0.000000   0.000000    0.0   0.00   0.0   0.0   0.0  \n",
       "sxezc4cykgp  18.296526  10.144883   -5.0  12.00  19.0  24.0  44.0  \n",
       "sxezc5kcfpy  13.126744   9.065176   -9.0   5.75  14.0  20.0  31.0  \n",
       "sxezc5qrbf3   5.941418   7.008054   -8.0   2.00   5.0  10.0  36.0  \n",
       "sxezc5wm8u9  24.174158   7.581114    0.0  20.00  23.0  29.0  51.0  \n",
       "sxezc5y72z1   2.480263   2.790643   -1.0   0.00   2.0   5.0  11.0  \n",
       "sxezc6c0w08   5.889003   6.168252  -10.0   3.00   5.0  10.0  25.0  \n",
       "sxezc6cnq50  21.611251   6.205836    5.0  18.00  22.0  26.0  37.0  \n",
       "sxezc7dtsse  19.071116  11.629076    0.0  12.00  19.0  27.0  45.0  \n",
       "sxezc7fekx5   5.275928   6.988016  -10.0   1.00   4.0   9.0  29.0  \n",
       "sxezc7hu4t2   4.648467   6.296599  -11.0   1.00   4.0   8.0  25.0  \n",
       "sxezc7k1gpy  21.488740   6.458133    4.0  18.00  21.0  26.0  40.0  \n",
       "sxezct2rzhb  23.177143   5.048823    0.0  20.00  22.0  25.0  38.0  \n",
       "sxf00smmr2s  15.856772  10.880114   -9.0   6.00  18.0  24.0  49.0  \n",
       "sxf3qtut6wu  22.961179   8.641857 -146.0  19.00  23.0  27.0  43.0  \n",
       "sxf3qtvm3yy  -6.975260  40.525733 -146.0   0.00   4.0   7.0  25.0  \n",
       "sxf3qwj73cn   3.196687   4.997026  -10.0   1.00   3.0   6.0  21.0  \n",
       "sxf3qwn531p   4.563348   4.711790   -6.0   1.00   5.0   7.0  20.0  \n",
       "sxf3qwq115x  21.492620   5.787914   11.0  17.00  20.0  25.0  39.0  \n",
       "sxf3qxnb2t3   5.952764   6.884998   -7.0   2.00   4.0  10.0  34.0  \n",
       "sxf3qxp2rv6  25.340081   7.180687    6.0  21.00  25.0  30.0  45.0  \n",
       "sxf3qyuddfy   5.396675   5.959735   -8.0   2.00   5.0   9.0  24.0  \n",
       "sxf3qz5b7tk  22.522825   5.271313    4.0  19.00  23.0  26.0  34.0  \n",
       "sxf3rj81z3y  24.984267   5.622900    5.0  22.00  25.0  29.0  39.0  \n",
       "sxf3rj8cycb   6.452067   6.347315   -8.0   3.00   5.0  10.0  28.0  \n",
       "sxg6umw7xz5  26.437739   7.986892    2.0  23.00  27.0  30.0  56.0  \n",
       "sxg6umy3xce   5.202381   3.938625    0.0   2.75   4.0   7.0  22.0  \n",
       "sxg6ur2tvrm  23.879191   6.167003    4.0  20.00  24.0  28.0  37.0  \n",
       "sxg6ur32hsz   5.553580   6.628721  -11.0   1.00   5.0   9.0  32.0  \n",
       "\n",
       "[1253 rows x 40 columns]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = citizen_2018_group_frame.describe()\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "stations_in_2018 = df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "stations_in_2017 = citizen_2017_group_frame.describe().index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Stations that are reporting in 2017 that are NOT reporting in 2018\n",
    "stations_diff = stations_in_2017.difference(stations_in_2018)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['m-2105171', 'sx2qvy4xrkm', 'sx2rj28e0gs', 'sx2rj3nke6c', 'sx8d9nfjsk2',\n",
       "       'sx8ddxesuy1', 'sx8dezkrjet', 'sx8dfe5esgc', 'sx8dfy4ytuc',\n",
       "       'sx8duqvvuyt', 'sx8e1s09n61'],\n",
       "      dtype='object', name='geohash')"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stations_diff"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "11"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## There are 11 stations that are reporting in 2017 but not in 2018 \n",
    "len(stations_diff)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Based on prior data inspection, because 2017 follows consistent seasonality patterns like in 2017, I have decided to retain these station data to provide more data for ML. \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Normalize Data\n",
    "## At this stage, I have citizen data I need. However some citizen readings are inconsistent due to difference in measurement, instrument failure etc. In order to make this be acceptable to official decisions, I am going to remove data that aren't within the norm of the official data. \n",
    "### For this, I will simply take the range for each feature reading (temperature, pressure etc.) are drop values from citizen data that are outside this range. \n",
    "Lets do this...first load the official meterological data from Sofia."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "##\n",
    "#\n",
    "# Function: load_metro_weather_data : Load weather data from the raw file /METEO-data/lbsf_20120101-20180917_IP.csv. \n",
    "# This has temperature, pressure, humidity and other information\n",
    "# inputs: location of met file containing weather data in CSV format - expects it's clean \n",
    "# return: data frame with the metropolitan data indexed by date of the reading \n",
    "#\n",
    "##\n",
    "\n",
    "def load_metro_weather_data(officialMetDataFile):\n",
    "    \n",
    "    #\n",
    "    print(\"load_pollution_measurement_data: file {}\".format(officialMetDataFile))\n",
    "    #Columns that represent the date from raw data\n",
    "    dateCols = ['year', 'Month', 'day']\n",
    "    \n",
    "    met_df = pd.read_csv(officialMetDataFile)\n",
    "    \n",
    "    #Create a 'Date' column that combines year/month/day into one column and use it as index\n",
    "    met_df['Date'] = pd.to_datetime(met_df[dateCols], format='%Y/%m/%d', errors='coerce')\n",
    "    \n",
    "    #Clean up un-necessary columns \n",
    "    del met_df['year']\n",
    "    del met_df['Month']\n",
    "    del met_df['day']\n",
    "    \n",
    "    #Reindex with new column \n",
    "    met_df = met_df.set_index('Date')\n",
    "    \n",
    "    return met_df\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "load_pollution_measurement_data: file ./METEO-data/lbsf_20120101-20180917_IP.csv\n",
      "Earliest data point:  2012-01-01 00:00:00\n",
      "Last data point:  2018-09-17 00:00:00\n",
      "All time max_temperature: 38.891999999999996 C\n",
      "All time min_temperature: -21.6684 C\n",
      "All time max_pressure: 1051.1350419999999 Pa\n",
      "All time min_pressure: 983.0686299 Pa\n",
      "All time max_humidity: 100 \n",
      "All time min_dumidity: 5\n"
     ]
    }
   ],
   "source": [
    "## Lets load the metro weather data and get some top level metrics \n",
    "\n",
    "agg_df = load_metro_weather_data(SOFIA_WEATHER_INFO_FILE)\n",
    "print(\"Earliest data point: \", agg_df.index.min())\n",
    "print(\"Last data point: \", agg_df.index.max())\n",
    "\n",
    "sofia_temp_max = np.max(agg_df['TASMAX'].max())\n",
    "sofia_temp_min = np.min(agg_df['TASMIN'].min())\n",
    "sofia_press_max = np.max(agg_df['PSLMAX'].max())\n",
    "sofia_press_min = np.min(agg_df['PSLMIN'].min())\n",
    "sofia_humid_max = np.max(agg_df['RHMAX'].max())\n",
    "sofia_humid_min = np.min(agg_df['RHMIN'].min())\n",
    "\n",
    "print(\"All time max_temperature: {} C\".format(sofia_temp_max))\n",
    "print(\"All time min_temperature: {} C\".format(sofia_temp_min))\n",
    "print(\"All time max_pressure: {} Pa\".format(sofia_press_max))\n",
    "print(\"All time min_pressure: {} Pa\".format(sofia_press_min))\n",
    "print(\"All time max_humidity: {} \".format(sofia_humid_max))\n",
    "print(\"All time min_dumidity: {}\".format(sofia_humid_min))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### An alternate strategy could be to fill the rows that have out of range temperature with mean temperature values  for first iteration, I am choosing to simply delete values since I don't have a high power compute environment to process large data at this time. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "sofia_temp_min: -21.6684 sofia_temp_max: 38.891999999999996\n",
      "Before: citizen_2017 : 651463 \t citizen_2018 : 2958605 \n",
      "\n",
      "After: citizen_2017 : 646344 \t citizen_2018 : 2918995 \n",
      "\n"
     ]
    }
   ],
   "source": [
    "#Drop rows from Citizen 2017 and 2018 where temperature is out of norm \n",
    "print(\"sofia_temp_min: {} sofia_temp_max: {}\".format(sofia_temp_min,sofia_temp_max))\n",
    "before()\n",
    "citizen_2017 = citizen_2017[citizen_2017['temperature'].between(sofia_temp_min,sofia_temp_max)]\n",
    "citizen_2018 = citizen_2018[citizen_2018['temperature'].between(sofia_temp_min,sofia_temp_max)]\n",
    "after()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Before: citizen_2017 : 646344 \t citizen_2018 : 2918995 \r\n",
      "\n",
      "After: citizen_2017 : 608117 \t citizen_2018 : 2659045 \r\n",
      "\n"
     ]
    }
   ],
   "source": [
    "#Drop rows from Citizen 2017 and 2018 where humidity is out of norm \n",
    "#For relative humidity, i choose to drop values that are 0 and 100 and -999 (missing)\n",
    "before()\n",
    "citizen_2017 = citizen_2017[citizen_2017['humidity'].between(sofia_humid_min,sofia_humid_max, inclusive=False)]\n",
    "citizen_2018 = citizen_2018[citizen_2018['humidity'].between(sofia_humid_min,sofia_humid_max, inclusive=False)]\n",
    "after()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### For pressure, normalize data gathering units first"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "#Drop rows from Citizen 2017 and 2018 where presure is out of norm \n",
    "#First, the pressure units in Citizens data is Pa (Pascals) and data in official metro data is hPa (hecto pascals)\n",
    "#PSLMAX\t\tDaily maximum surface pressure\t\t\thpa\n",
    "#PSLAVG\t\tDaily average surface pressure\t\t\thpa\n",
    "#PSLMIN\t\tDaily minimum surface pressure\t\t\thpa\n",
    "#1 hPa = 100*Pa\n",
    "\n",
    "citizen_2017['pressure'] = citizen_2017['pressure'].apply(lambda p : p/100)\n",
    "citizen_2018['pressure'] = citizen_2018['pressure'].apply(lambda p : p/100)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>geohash</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>temperature</th>\n",
       "      <th>humidity</th>\n",
       "      <th>pressure</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sx8dk3k2wr6</td>\n",
       "      <td>8</td>\n",
       "      <td>7</td>\n",
       "      <td>15</td>\n",
       "      <td>52</td>\n",
       "      <td>926.55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sx2rj28e0gs</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>18</td>\n",
       "      <td>47</td>\n",
       "      <td>974.48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sx82v69m2jt</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>11</td>\n",
       "      <td>68</td>\n",
       "      <td>948.23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sx86k506zr9</td>\n",
       "      <td>29</td>\n",
       "      <td>15</td>\n",
       "      <td>14</td>\n",
       "      <td>63</td>\n",
       "      <td>937.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sx8dem6pp1h</td>\n",
       "      <td>15</td>\n",
       "      <td>11</td>\n",
       "      <td>14</td>\n",
       "      <td>54</td>\n",
       "      <td>948.41</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 time      geohash  P1  P2  temperature  humidity  pressure\n",
       "2 2017-09-06 20:00:00  sx8dk3k2wr6   8   7           15        52    926.55\n",
       "3 2017-09-06 20:00:00  sx2rj28e0gs   5   5           18        47    974.48\n",
       "4 2017-09-06 20:00:00  sx82v69m2jt   1   1           11        68    948.23\n",
       "5 2017-09-06 20:00:00  sx86k506zr9  29  15           14        63    937.85\n",
       "6 2017-09-06 20:00:00  sx8dem6pp1h  15  11           14        54    948.41"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "citizen_2017.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Before: citizen_2017 : 608117 \t citizen_2018 : 2659045 \r\n",
      "\n",
      "After: citizen_2017 : 128576 \t citizen_2018 : 679590 \r\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Now we are ready to drop rows that are outside the normal range\n",
    "before()\n",
    "citizen_2017 = citizen_2017[citizen_2017['pressure'].between(sofia_press_min,sofia_press_max)]\n",
    "citizen_2018 = citizen_2018[citizen_2018['pressure'].between(sofia_press_min,sofia_press_max)]\n",
    "after()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>geohash</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>temperature</th>\n",
       "      <th>humidity</th>\n",
       "      <th>pressure</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxevg0mdhp9</td>\n",
       "      <td>12</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>67</td>\n",
       "      <td>1013.42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxevg3e7n2w</td>\n",
       "      <td>21</td>\n",
       "      <td>16</td>\n",
       "      <td>19</td>\n",
       "      <td>55</td>\n",
       "      <td>1011.63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxevgjhcswr</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>19</td>\n",
       "      <td>54</td>\n",
       "      <td>1003.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxb60rwfu5p</td>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>20</td>\n",
       "      <td>46</td>\n",
       "      <td>1010.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxb60xc0djs</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>18</td>\n",
       "      <td>43</td>\n",
       "      <td>1010.09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  time      geohash  P1  P2  temperature  humidity  pressure\n",
       "7  2017-09-06 20:00:00  sxevg0mdhp9  12  10           19        67   1013.42\n",
       "8  2017-09-06 20:00:00  sxevg3e7n2w  21  16           19        55   1011.63\n",
       "10 2017-09-06 20:00:00  sxevgjhcswr   1   1           19        54   1003.53\n",
       "18 2017-09-06 20:00:00  sxb60rwfu5p  10   7           20        46   1010.86\n",
       "22 2017-09-06 20:00:00  sxb60xc0djs   7   4           18        43   1010.09"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "citizen_2017.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Normalized Citizen Data\n",
      "2017 Master Data:  (128576, 7)\n",
      "2018 Master Data:  (679590, 7)\n"
     ]
    }
   ],
   "source": [
    "print(\"Normalized Citizen Data\")\n",
    "print(\"2017 Master Data: \", citizen_2017.shape)\n",
    "print(\"2018 Master Data: \", citizen_2018.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x10a635b00>"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Sample data for one station\n",
    "citizen_2018[citizen_2018['geohash'] == 'sxg6ur32hsz']['P1'].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "#merged_citizen_data = pd.concat([citizen_2017, citizen_2018])\n",
    "merged_citizen_data = pd.concat([citizen_2017, citizen_2018])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Merged Master Citizen Data\n",
      "Citize Master Data Shape:  (808166, 7)\n"
     ]
    }
   ],
   "source": [
    "print(\"Merged Master Citizen Data\")\n",
    "print(\"Citize Master Data Shape: \", merged_citizen_data.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>geohash</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>temperature</th>\n",
       "      <th>humidity</th>\n",
       "      <th>pressure</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxevg0mdhp9</td>\n",
       "      <td>12</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>67</td>\n",
       "      <td>1013.42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxevg3e7n2w</td>\n",
       "      <td>21</td>\n",
       "      <td>16</td>\n",
       "      <td>19</td>\n",
       "      <td>55</td>\n",
       "      <td>1011.63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxevgjhcswr</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>19</td>\n",
       "      <td>54</td>\n",
       "      <td>1003.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxb60rwfu5p</td>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>20</td>\n",
       "      <td>46</td>\n",
       "      <td>1010.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxb60xc0djs</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>18</td>\n",
       "      <td>43</td>\n",
       "      <td>1010.09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  time      geohash  P1  P2  temperature  humidity  pressure\n",
       "7  2017-09-06 20:00:00  sxevg0mdhp9  12  10           19        67   1013.42\n",
       "8  2017-09-06 20:00:00  sxevg3e7n2w  21  16           19        55   1011.63\n",
       "10 2017-09-06 20:00:00  sxevgjhcswr   1   1           19        54   1003.53\n",
       "18 2017-09-06 20:00:00  sxb60rwfu5p  10   7           20        46   1010.86\n",
       "22 2017-09-06 20:00:00  sxb60xc0djs   7   4           18        43   1010.09"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "merged_citizen_data.head()\n",
    "#merged_citizen_data['geohash']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "out = merged_citizen_data['geohash'].apply(lambda gh: pgh.decode_exactly(gh))\n",
    "merged_citizen_data['lat'], merged_citizen_data['long'], merged_citizen_data['lat_error'], merged_citizen_data['long_error'] = zip(*out)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Make sure the point is long/lat for consistency with other data\n",
    "merged_citizen_data['geometry'] = list(zip(merged_citizen_data.long, merged_citizen_data.lat))\n",
    "merged_citizen_data['geometry'] = merged_citizen_data['geometry'].apply(Point)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>geohash</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>temperature</th>\n",
       "      <th>humidity</th>\n",
       "      <th>pressure</th>\n",
       "      <th>lat</th>\n",
       "      <th>long</th>\n",
       "      <th>lat_error</th>\n",
       "      <th>long_error</th>\n",
       "      <th>geometry</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxevg0mdhp9</td>\n",
       "      <td>12</td>\n",
       "      <td>10</td>\n",
       "      <td>19</td>\n",
       "      <td>67</td>\n",
       "      <td>1013.42</td>\n",
       "      <td>43.200</td>\n",
       "      <td>27.913</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>POINT (27.91300021111965 43.19999970495701)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxevg3e7n2w</td>\n",
       "      <td>21</td>\n",
       "      <td>16</td>\n",
       "      <td>19</td>\n",
       "      <td>55</td>\n",
       "      <td>1011.63</td>\n",
       "      <td>43.207</td>\n",
       "      <td>27.921</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>POINT (27.92099989950657 43.20700027048588)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxevgjhcswr</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>19</td>\n",
       "      <td>54</td>\n",
       "      <td>1003.53</td>\n",
       "      <td>43.226</td>\n",
       "      <td>27.912</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>POINT (27.9119997471571 43.22599969804287)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2017-09-06 20:00:00</td>\n",
       "      <td>sxb60rwfu5p</td>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>20</td>\n",
       "      <td>46</td>\n",
       "      <td>1010.86</td>\n",
       "      <td>43.987</td>\n",
       "      <td>22.872</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>POINT (22.87200026214123 43.98700006306171)</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  time      geohash  P1  P2  temperature  humidity  pressure  \\\n",
       "7  2017-09-06 20:00:00  sxevg0mdhp9  12  10           19        67   1013.42   \n",
       "8  2017-09-06 20:00:00  sxevg3e7n2w  21  16           19        55   1011.63   \n",
       "10 2017-09-06 20:00:00  sxevgjhcswr   1   1           19        54   1003.53   \n",
       "18 2017-09-06 20:00:00  sxb60rwfu5p  10   7           20        46   1010.86   \n",
       "\n",
       "       lat    long     lat_error    long_error  \\\n",
       "7   43.200  27.913  6.705523e-07  6.705523e-07   \n",
       "8   43.207  27.921  6.705523e-07  6.705523e-07   \n",
       "10  43.226  27.912  6.705523e-07  6.705523e-07   \n",
       "18  43.987  22.872  6.705523e-07  6.705523e-07   \n",
       "\n",
       "                                       geometry  \n",
       "7   POINT (27.91300021111965 43.19999970495701)  \n",
       "8   POINT (27.92099989950657 43.20700027048588)  \n",
       "10   POINT (27.9119997471571 43.22599969804287)  \n",
       "18  POINT (22.87200026214123 43.98700006306171)  "
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "merged_citizen_data.head(4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## With the raw citizen data, I am going to filter this by space in sofia\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "citizen_geo_dataframe = geopandas.GeoDataFrame(merged_citizen_data, geometry='geometry')\n",
    "citizen_geo_dataframe.crs = {'init' :'epsg:4326'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x167c6f240>"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAADRCAYAAAAg0GJwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAE4lJREFUeJzt3X+sZGddx/H3x91aqnXtmr0g29tyK7QWEG11rCS1GjeGIi0LhihbpCHEZqWlspTgJivJlkBMiCiuadI2m22RpNWFYGKalfDLpUCUUue6u4V2W1nK1u5ucS/SUg1Y092vf8y57DB3fpyZOXPPj+fzSiZ758w5O99nzsznPPOcH6OIwMzM0vBjZRdgZmarx6FvZpYQh76ZWUIc+mZmCXHom5klxKFvZpYQh76ZWUIc+mZmCXHom5klZG3ZBfTasGFDLCwslF2GmVmtLC4ufici5kbNV7nQX1hYoN1ul12GmVmtSHoiz3we3jEzS4hD38wsIQ59M7OEOPTNzBJSuR25ZmaFkVZOS/w3RNzTN7Nm6hf4w6YnwqFvZpYQh76ZWUIc+mZmCXHom5klJHfoS1oj6YCkfT3Tb5P0P0OW2yHpiKTHJF09TbGFkFbezMwSMc4hm9uAw8C65QmSWsB5gxaQ9ApgC/BKYCPweUmXRMSpycqdwrBwl5I/jMuscSJ8yGYfuXr6kuaBa4A9XdPWAB8Gtg9Z9A3A3oh4LiK+BRwBrpi83Am5N2+WpoiVt8TlHd7ZRSfcT3dNuxm4LyKeGrLc+cCTXfePZdPMzKwEI0Nf0rXAyYhY7Jq2Efg94LZRi/eZtmJTK2mrpLak9tLS0qiSzMxsQnnG9K8ENkt6HfACOmP6DwPPAUfUGTr5CUlHIuJlPcseAy7ouj8PnOh9gojYDewGaLVa/v5lZjYjI3v6EbEjIuYjYoHOTtn9EbE+In42Ihay6d/vE/gA9wFbJJ0t6SLgYuDBAusvhsf5zCwRhV9wTdJmoBUROyPiYUmfAB4BngfeWcqRO8M48M0sIYqKhV6r1YrCfy5x2NE7FWu/mdkkJC1GRGvUfGlcWtnH61qT+L1sU0gj9MEfCmuGYZcL9nvccvC1d8zqwicZWgEc+mZmCXHom5klJJ0x/abwTjwzm4J7+nXi3/w0syk59M3qYtg3On/bs5w8vDOMh1Ksavz+syk59Afx8dDV542y2dg8vGP15P0bZhNx6NfJoF6se7dmlpOHd+rGAW9mU3BP35rHQzxmA7mnP4ivzGnL/D6wBnHoD+MPdnUN2igXzUdxWcM0J/TdGzOzKqpYNjVjTN+H75lZFVUwm5rT07f0eL/L6vHrPL6Kdjod+lZvDp7Zy9tb9bqohdzDO5LWSDogaV92/y5JhyQ9JOmTks7ts8yCpB9IOpjd7iyyeCuItPJmHT4hLj+/b2phnJ7+NuAwsC67f0tEPAsg6SPAzcCH+iz3zYi4bKoqbXZ8dMpofh2sQXL19CXNA9cAe5andQW+gHOA8j4Z7o2ZmeWSd3hnF7AdON09UdJHgW8DlwK3DVj2omxY6IuSrpq40lEiVt7MzMpS0d8/GBn6kq4FTkbEYu9jEfF2YCOdYZ8391n8KeDCiLgceA/wt5LW9c4kaauktqT20tLSuG0ws1lyB2py/TqjJb+eeXr6VwKbJR0F9gKbJN2z/GBEnAI+Drypd8GIeC4i/iv7exH4JnBJn/l2R0QrIlpzc3MTNcRqxjuP6yVPaHnjUAsjQz8idkTEfEQsAFuA/cD1kl4GPxzTfz3waO+ykuYkrcn+/jngYuDx4sovWROCa1Yf4GGvTQVPWLExVaz3avlNepy+gI9lQzUCDgE3AkjaDLQiYifwG8AHJD0PnALeERHfnb7sCmjSUS9F1zvNa1PH18+sRhQV+4C1Wq1ot9tllzHasF5pxV7TVTfqtRnVo0/99TObgKTFiGiNms9n5NoZPtXerPGaccE1m57H2c2S4NC31edvD2al8fDOpHyFx8Ht92tjVlkO/WmkHGKjjtBJ+bUxqzCHvplVS1O+JeZpRwlt9Zi+daz2WZY+q9P6acoBBXnaUVJb3dO3M1Y7cKse8E3pcTZFU07cyxPqM2yre/pm/TSlx2n1NaP3mnv6NhkfoWMpq/HG36Fvk3PAW4pqHPjg4R0zqxJ3JGbOoW9m1dKUI7sqWq+Hd8z6meU+C+8LGa0pr8dyOyYZEprRa+DQrzOHx2zN4rVs0u8wWH55LineO/+MeHinrnxIoVk58gTyJKG9Sr9C5p6+2ax5Q9w8k4b6oPfCKn7Lc+ibzZID37pVYAjPwztmZglx6JtVQQV6gJaG3KEvaY2kA5L2ZffvknRI0kOSPinp3AHL7ZB0RNJjkq4uqvDkNeVY5tQN2nEnrbyZFWCcnv424HDX/Vsi4pci4heB/wBu7l1A0iuALcArgdcCt0taM0W91q17b79/uKQ5fGSWzVCu0Jc0D1wD7FmeFhHPZo8JOAfolzhvAPZGxHMR8S3gCHDFtEWbNYI30laCvD39XcB24HT3REkfBb4NXArc1me584Enu+4fy6aZmVkJRoa+pGuBkxGx2PtYRLwd2Ehn2OfN/RbvM21F90bSVkltSe2lpaXRVZvVhfe9WMXk6elfCWyWdBTYC2ySdM/ygxFxCvg48KY+yx4DLui6Pw+c6J0pInZHRCsiWnNzc2OUb1YD3vdiFTIy9CNiR0TMR8QCnZ2y+4HrJb0Mfjim/3rg0T6L3wdskXS2pIuAi4EHiyo+eT7Co5n87cBmaNIzcgV8TNK67O9DwI0AkjYDrYjYGREPS/oE8AjwPPDO7JuBTWvUhbt8MbZ687qyGVFU7M3VarWi3W6XXUb1Tdqrr9j6NrNiSFqMiNao+XxGrplZQhz6ZmYJceibmSXEoV9XPsLDzCbg6+nX2bDg99E7ZtaHQ7+pHPBm1oeHd4pw002wdm2nd712bee+mVkFuac/rZtugjvuOHP/1Kkz92+/vZyazMwGcE9/HP0ue7B7d/9577jDvX6zsvlSJSs49PMa9GY5NeSqEsu9/uU32/r1s6nNbFpNDEf/GE1fDv3V9MwzDn6rHofjdGq2wXTor7Znnim7ArMzKh5QlVfDDaZ35JpZNdX9XJPlK95WjHv6ZlY9NexB14VDP68it9h+49ZXzcZvk+ZLlfTl4Z1xdL9Z/GFPz6gfrrHq8XpZwT39SW3cWHYFZtMbFopNCsxZfUOr4Wvk0J/U8eMOfmuGfj/cXsMwG6jo/QN5Nx4VfQ09vDON48eHP+4hILPJVPVKsTUM+V4O/Vmq6hvXrA5W43MyqmPWwM9q7uEdSWskHZC0L7t/r6THJH1d0t2Szhqw3ClJB7PbfUUVXhtN/to8C1U+OsZHg6SnSu+/gowzpr8NONx1/17gUuBVwDnADQOW+0FEXJbdNk9WpiWhDsdmp74Rr/JGeVYa1sZcoS9pHrgG2LM8LSI+FRngQWB+NiWaWSXUYaPcT2ob5hHy9vR3AduB070PZMM61wOfHrDsCyS1JT0g6Y39ZpC0NZunvbS0lLMkM7Ocivpm1oAhvpGhL+la4GRELA6Y5XbgSxHx5QGPXxgRLeAtwC5JL+2dISJ2R0QrIlpzc3N5azczW301H+LL09O/Etgs6SiwF9gk6R4ASbcCc8B7Bi0cESeyfx8H7gcun65ksxrpNwaeylh4VdUspIs2MvQjYkdEzEfEArAF2B8Rb5V0A3A1cF1ErBj2AZC0XtLZ2d8b6GxAHimsemuWBnx1/hGjgt3BX56a9tKLMM0ZuXcCLwK+kh2OuRNAUkvS8g7flwNtSYeALwAfigiHvg1W86/Ojda0jfKyUfXXvX09xjo5KyLupzNEQ0T0XTYi2mSHb0bEv9A5pNPMmqBhAfhDTW1XH772jplZQhz6ZmYJceibzUpiY8VWD77gmtksOditYtzTNzNLiHv61gy+hLVZLg59q45Jg9u/XWuWm0PfqiHPFRwd4GZTc+jbj6ryMIl77mZTc+jbGeMMkwya16FsVmkOfRvfsAuFjdMb9wXHzFadD9m0chQZ+E29EJjZDLinv6zKY9l2xvJ66l03XldmubinD/X97c+Ued2YTcQ9fTsjothvPHX69lSnWs2m4NC3H5Un6AZtHLqXr9MJU3Wq1WxKDn2bjMPQrJYc+rb6UhmP95CRVZBDH4ofyzabZsjI70WbIYf+sn5nnPrDV11NXQ/ev2AzlvuQTUlrJB2QtC+7f6+kxyR9XdLdks4asNzbJH0ju72tqMJnatQZpzbaLANq+ZtZ722a/2+c6WY1Ns5x+tuAw1337wUuBV4FnAPc0LuApJ8BbgV+DbgCuFXS+omrrYr19W/Cqog4cyvSLM6r6K51FjWbVUSu0Jc0D1wD7FmeFhGfigzwIDDfZ9Grgc9FxHcj4mngc8Brpy+7ZM88U3YF6XIYm00lb09/F7AdON37QDascz3w6T7LnQ882XX/WDat9//YKqktqb20tJSzJKuVccK6CcMtTWiDNdLI0Jd0LXAyIhYHzHI78KWI+HK/xftMW/Guj4jdEdGKiNbc3Nyokqyu+g2hDBpWqfNwS799DHnbMGyeIvZfWPLy9PSvBDZLOgrsBTZJugdA0q3AHPCeAcseAy7ouj8PnJi42tUy6sN53nmrU4fVTxH7G/Js6Bz8NqGRoR8ROyJiPiIWgC3A/oh4q6Qb6IzZXxcRK4Z9Mp8BXiNpfbYD9zXZtOqL6B/u550HTz+9+vXYGR46MZvYNFfZvBN4EfAVSQcl7QSQ1JK0ByAivgt8EPjX7PaBbFo9PP30yiEGB3411Hn4x6xEiop9WFqtVrTb7bLLMJvMsGGXST5rRf9/1liSFiOiNWo+n5Fr1iQ+i9xG8I+omBWp6P0N4/x//jEgy8E9fbOiFd2zdk/dCuSevplZQhz6ZmYJ8fCOWQpG/bylJcM9fbOmKPqQUGsk9/TNmmSco3osSe7pm5klxKFvZpYQh76ZWUIc+mZNN2wHr4/eSY535JrlVefr2tSlTps59/TN8vB1bawhHPpmZgnx8E5R6vzV38yS4Z5+EfzV38xqwqFvZpYQh75ZHv4xdmsIj+mb5eWAtwbI3dOXtEbSAUn7svs3SzoiKSRtGLLcKUkHs9t9RRRtZmaTGaenvw04DKzL7v8zsA+4f8RyP4iIy8YvzczMiparpy9pHrgG2LM8LSIORMTRGdVlZmYzkHd4ZxewHTg9wXO8QFJb0gOS3thvBklbs3naS0tLEzxFybyTz8xqYmToS7oWOBkRixM+x4UR0QLeAuyS9NLeGSJid0S0IqI1Nzc34dOULGLlzcysYvL09K8ENks6CuwFNkm6J+8TRMSJ7N/H6Yz/Xz5+mWZmVoSRoR8ROyJiPiIWgC3A/oh4a57/XNJ6SWdnf2+gswF5ZIp6yyetvJmZ1cTEJ2dJepekY8A88JCkPdn01vLfwMuBtqRDwBeAD0VEfUPfl1sws5pTVGzsudVqRbvdLruM/oaFe8VeRzNLi6TFbP/pUL4Mg5lZQhz6ZmYJceibmSXEoT8On4RlZjXnq2yOywFvZjXmnr6ZWUIc+mZmCXHom5klxKFvZpaQyp2RK2kJeKLEEjYA3ynx+VdDCm0Et7NpUmjnNG18SUSMvExx5UK/bJLaeU5lrrMU2ghuZ9Ok0M7VaKOHd8zMEuLQNzNLiEN/pd1lF7AKUmgjuJ1Nk0I7Z95Gj+mbmSXEPX0zs4QkG/qSLpD0BUmHJT0saVs2/YOSHpJ0UNJnJW0su9ZpDGpn1+PvlRTZz1nW1pD1+X5Jx7P1eVDS68qudVLD1qWkP5b0WDb9z8usc1pD1uXHu9bjUUkHy651GkPaeZmkB7J2tiVdUegTR0SSN+DFwC9nf/8U8O/AK4B1XfO8C7iz7Fpn0c7s/gXAZ+icF7Gh7FpntD7fD7y37Ppm3MbfAj4PnJ099sKya51FO3vm+UtgZ9m1zmh9fhb4nWz664D7i3zeZHv6EfFURPxb9vd/A4eB8yPi2a7ZfhKo9U6PQe3MHv4rYDs1byOMbGcjDGnjjXR+f/q57LGT5VU5vVHrUpKA3wf+rpwKizGknQGsy2b7aeBEkc+bbOh3k7QAXA58Nbv/Z5KeBP4A2FleZcXqbqekzcDxiDhUalEz0Ls+gZuzIbu7Ja0vrbAC9bTxEuAqSV+V9EVJv1pmbUXqsy4BrgL+MyK+UUZNs9DTzncDH84y6C+AHUU+V/KhL+lc4O+Bdy/38iPifRFxAXAvcHOZ9RWlu53A88D7aNAGbVmf9XkH8FLgMuApOsMCtdanjWuB9cCrgT8BPpH1hmut32czcx017+V369POG4Fbsgy6Bbir0OfLxo2SJOksYB/wmYj4SJ/HXwL8Y0T8wqoXV6Dedkp6FfBPwPezWebpfIW8IiK+XVKZU8uxPheAfXVen/3aKOnTdIZ37s/ufxN4dUQslVbolAatS0lrgePAr0TEsbLqK8qA9fk94LyIiGzj/b2IWDfs/xlHsj397MW8Czjc86a6uGu2zcCjq11bkfq1MyK+FhEvjIiFiFgAjtHZoVTnwB+0Pl/cNdvvAl9f7dqKMqiNwD8Am7J5LgF+nBpfmGxIOwF+G3i0IYE/qJ0ngN/M/t4EFDqMlWxPX9KvA18Gvgaczib/KfCHwM9n054A3hERx0spsgCD2hkRn+qa5yjQiog6B8Wg9XkdnaGdAI4CfxQRT5VR47SGtPHzwN102vl/dI5W2l9KkQUY9p6V9DfAAxFxZ1n1FWXI+nwW+Gs6w3b/C9wUEYuFPW+qoW9mlqJkh3fMzFLk0DczS4hD38wsIQ59M7OEOPTNzBLi0DczS4hD38wsIQ59M7OE/D9kfk7DAO68EQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "citizen_geo_dataframe.plot(color='red')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(808166, 12)"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "citizen_geo_dataframe.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load the topography data for sofia so we can use it for filtering our citizen data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "##\n",
    "#\n",
    "# Function: Load topographical data from csv file  \n",
    "# inputs: aFile : location of met file containing weather data in CSV format - expects it's clean \n",
    "#         anElevFilter : eliminate all data rows with data where elevation is < this value. \n",
    "#\n",
    "# return: data frame with the topographical data \n",
    "#\n",
    "##\n",
    "def load_topo_data_filter_elev(aFile, anElevFilter):\n",
    "    topo_df = pd.read_csv(aFile)\n",
    "    topo_df = topo_df[topo_df['Elev']< anElevFilter]\n",
    "    topo_df = topo_df.sort_values('Elev')\n",
    "    return topo_df\n",
    "\n",
    "##\n",
    "#Load topo_file without filtering\n",
    "#\n",
    "##\n",
    "def load_topo_data(aFile):\n",
    "    #return all elevation points \n",
    "    topo_df = pd.read_csv(aFile)\n",
    "    return topo_df\n",
    "\n",
    "# Plot the points on a map \n",
    "world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))\n",
    "cities = geopandas.read_file(geopandas.datasets.get_path('naturalearth_cities'))\n",
    "\n",
    "countries = world[['geometry', 'name']]\n",
    "countries = countries.rename(columns={'name' : 'country'})\n",
    "\n",
    "cities_with_country = geopandas.sjoin(countries, cities, how='inner', op='intersects')\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(196, 3)"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sofia_topo = load_topo_data(SOFIA_TOPO_FILE)\n",
    "sofia_topo.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "sofia_topo['geometry'] = list(zip(sofia_topo.Lon, sofia_topo.Lat))\n",
    "sofia_topo['geometry'] = sofia_topo['geometry'].apply(Point)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Lat</th>\n",
       "      <th>Lon</th>\n",
       "      <th>Elev</th>\n",
       "      <th>geometry</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>42.62</td>\n",
       "      <td>23.220000</td>\n",
       "      <td>1184.0</td>\n",
       "      <td>POINT (23.22 42.62)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>42.62</td>\n",
       "      <td>23.233571</td>\n",
       "      <td>1333.0</td>\n",
       "      <td>POINT (23.233571428571 42.62)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>42.62</td>\n",
       "      <td>23.247143</td>\n",
       "      <td>1505.0</td>\n",
       "      <td>POINT (23.247142857143 42.62)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>42.62</td>\n",
       "      <td>23.260714</td>\n",
       "      <td>1586.0</td>\n",
       "      <td>POINT (23.260714285714 42.62)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>42.62</td>\n",
       "      <td>23.274286</td>\n",
       "      <td>1533.0</td>\n",
       "      <td>POINT (23.274285714286 42.62)</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Lat        Lon    Elev                       geometry\n",
       "0  42.62  23.220000  1184.0            POINT (23.22 42.62)\n",
       "1  42.62  23.233571  1333.0  POINT (23.233571428571 42.62)\n",
       "2  42.62  23.247143  1505.0  POINT (23.247142857143 42.62)\n",
       "3  42.62  23.260714  1586.0  POINT (23.260714285714 42.62)\n",
       "4  42.62  23.274286  1533.0  POINT (23.274285714286 42.62)"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sofia_topo.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "sofia_geo_frame = geopandas.GeoDataFrame(sofia_topo, geometry='geometry')\n",
    "sofia_geo_frame.crs = {'init' :'epsg:4326'}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x15d790048>"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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1aua84k8XKktvOhYVNf1YXVdj6zres0kuyT5Y5Ldq6p6dTL3zKIdktz83I+tqmqlqqoGzv7+K5OsneT23sunT220UXLFFcl665UuAQAAoF29613N+UQbbFC6hB5alKehzatKckZVVdcnuT7Jy5OMS5KqqsZUVTVu9vttmeS6qqquTXJukk/Xdf2fJWymP73iFcnllydbLPS4KQAAAHh+RxyRnHde8pKXlC5hEVR13VoPMRs1alQ9YcKE0hk819NPJ7vvnpx7bukSAAAAWt2yyyZnnJG8732lS5itqqqJdV2P6sn7Lu6VRXSboUOTc85J9tuvdAkAAACtbO21kyuvNBS1MWMRPTdgQHLSScnXvla6BAAAgFb0nvckV13l7Ns2Zyxi0VRVcuCByU9/mgweXLoGAACAVjF2bPKb3yQjRpQuYQkNKh1Am9pll+RlL0ve+95kypTSNQAAAJQyfHjyox81/31IR3BlEYtvq62aJ6WttlrpEgAAAEp4zWua84kMRR3FWMSS2XDD5IorkvXXL10CAABAf9phh+Z8onXXLV1CLzMWseRWXz0ZPz7ZcsvSJQAAAPSHo49O/vd/k+WXL11CHzAW0Tte8pLk4ouTD36wdAkAAAB9Zfjw5Ne/To46qnliNh3J/7L0nqFDm6ek7b9/6RIAAAB62zrrNLedjRlTuoQ+Ziyidw0YkHzjG8nXv166BAAAgN6y447NQdbrrFO6hH5gLKJvHHBAc5XRUkuVLgEAAGBxVVUyblzyy18myy1XuoZ+Mqh0AB1sl12SVVZpHqH42GOlawAAAFgUyy2XnHVWsv32pUvoZ64som+97W3Nk9JWW610CQAAAD217rrJ3/9uKOpSxiL63oYbJldckay/fukSAAAAXsxOOzXnE73mNaVLKMRYRP9YffXk8suT0aNLlwAAALAwVZV86UvJuecmw4eXrqEgYxH9Z8SI5OKLkw9+sHQJAAAA81p++eT885Mjjmieck1X808A/WvIkOYpaQccULoEAACAJFlvveZ8one/u3QJLcJYRP8bMCD5+teTb3yjdAkAAEB323nn5G9/S9Zeu3QJLcRYRDn775+cfXay1FKlSwAAALpLVSVf/nLy8587n4gFDCodQJf70IeSl70see97k8ceK10DAADQ+UaMaI4H2W670iW0KFcWUd7b3tY8KW211UqXAAAAdLYN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\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# These are all the geo points that are part of the sofia urban area. \n",
    "bulgaria_sofia = cities_with_country[cities_with_country.name == 'Sofia']\n",
    "ax = bulgaria_sofia.plot(color='red', figsize=(20,10))\n",
    "sofia_geo_frame.plot(ax=ax, figsize=(20,5))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Following shows all the citizen data points gathered across 2017 and 2018"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = bulgaria_sofia.plot(color='red', figsize=(20,10))\n",
    "\n",
    "citizen_geo_dataframe.crs = {'init' : 'epsg:3857'}\n",
    "ax = citizen_geo_dataframe.plot(ax=ax, color='green', figsize=(20,5))\n",
    "#ax.axis('off')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Citizen data overlayed with sofia urban area in yellow"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "bulgaria_sofia = cities_with_country[cities_with_country.name == 'Sofia']\n",
    "ax = bulgaria_sofia.plot(color='red', figsize=(20,10))\n",
    "ax2 = sofia_geo_frame.plot(ax=ax, markersize=30, color='yellow', alpha=0.5)\n",
    "ax3 = citizen_geo_dataframe.plot(ax=ax2, markersize=20, color='black')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Above shows all the normalized citizen ship data in black across Bulgaria. But we need the data only for Sofia (which is shaded in yellow). So, lets filter this to sofia using the total_bounds attribute for a geopandasframe"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "xmin, ymin, xmax, ymax = sofia_geo_frame.total_bounds"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sofia Bounding Box:\n",
      "Long Min: 23.22 \t Lat Min: 42.62 \n",
      "Long Max: 23.396428571429 \t Lat Max: 42.739592201276004\n"
     ]
    }
   ],
   "source": [
    "print(\"Sofia Bounding Box:\\nLong Min: {} \\t Lat Min: {} \\nLong Max: {} \\t Lat Max: {}\".format(xmin, ymin, xmax, ymax))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(876, 12)"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Use co-ordinate index cx to cut out all the points outside Sofia's bounding box. \n",
    "citizen_geo_dataframe = citizen_geo_dataframe.cx[xmin:xmax, ymin:ymax]\n",
    "citizen_geo_dataframe.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Above : BUG? I need to look at the above filtering. This is removing almost all citizen data. Any ideas/comments appreciate it. Documentation is not clear. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>geohash</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>temperature</th>\n",
       "      <th>humidity</th>\n",
       "      <th>pressure</th>\n",
       "      <th>lat</th>\n",
       "      <th>long</th>\n",
       "      <th>lat_error</th>\n",
       "      <th>long_error</th>\n",
       "      <th>geometry</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>7397</th>\n",
       "      <td>2017-09-09 03:00:00</td>\n",
       "      <td>sx8d9yqs1j1</td>\n",
       "      <td>9</td>\n",
       "      <td>8</td>\n",
       "      <td>23</td>\n",
       "      <td>50</td>\n",
       "      <td>1021.30</td>\n",
       "      <td>42.662</td>\n",
       "      <td>23.289001</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>POINT (23.28900061547756 42.66199953854084)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9596</th>\n",
       "      <td>2017-09-09 19:00:00</td>\n",
       "      <td>sx8d9yqs1j1</td>\n",
       "      <td>7</td>\n",
       "      <td>6</td>\n",
       "      <td>21</td>\n",
       "      <td>66</td>\n",
       "      <td>991.93</td>\n",
       "      <td>42.662</td>\n",
       "      <td>23.289001</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>POINT (23.28900061547756 42.66199953854084)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17546</th>\n",
       "      <td>2017-09-12 06:00:00</td>\n",
       "      <td>sx8d9yqs1j1</td>\n",
       "      <td>9</td>\n",
       "      <td>5</td>\n",
       "      <td>24</td>\n",
       "      <td>47</td>\n",
       "      <td>1007.57</td>\n",
       "      <td>42.662</td>\n",
       "      <td>23.289001</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>POINT (23.28900061547756 42.66199953854084)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>266305</th>\n",
       "      <td>2017-11-07 06:00:00</td>\n",
       "      <td>sx8d9yqs1j1</td>\n",
       "      <td>45</td>\n",
       "      <td>28</td>\n",
       "      <td>10</td>\n",
       "      <td>68</td>\n",
       "      <td>1022.00</td>\n",
       "      <td>42.662</td>\n",
       "      <td>23.289001</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>POINT (23.28900061547756 42.66199953854084)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>442396</th>\n",
       "      <td>2017-12-04 04:00:00</td>\n",
       "      <td>sx8d9yqs1j1</td>\n",
       "      <td>12</td>\n",
       "      <td>9</td>\n",
       "      <td>4</td>\n",
       "      <td>84</td>\n",
       "      <td>1021.03</td>\n",
       "      <td>42.662</td>\n",
       "      <td>23.289001</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>6.705523e-07</td>\n",
       "      <td>POINT (23.28900061547756 42.66199953854084)</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      time      geohash  P1  P2  temperature  humidity  \\\n",
       "7397   2017-09-09 03:00:00  sx8d9yqs1j1   9   8           23        50   \n",
       "9596   2017-09-09 19:00:00  sx8d9yqs1j1   7   6           21        66   \n",
       "17546  2017-09-12 06:00:00  sx8d9yqs1j1   9   5           24        47   \n",
       "266305 2017-11-07 06:00:00  sx8d9yqs1j1  45  28           10        68   \n",
       "442396 2017-12-04 04:00:00  sx8d9yqs1j1  12   9            4        84   \n",
       "\n",
       "        pressure     lat       long     lat_error    long_error  \\\n",
       "7397     1021.30  42.662  23.289001  6.705523e-07  6.705523e-07   \n",
       "9596      991.93  42.662  23.289001  6.705523e-07  6.705523e-07   \n",
       "17546    1007.57  42.662  23.289001  6.705523e-07  6.705523e-07   \n",
       "266305   1022.00  42.662  23.289001  6.705523e-07  6.705523e-07   \n",
       "442396   1021.03  42.662  23.289001  6.705523e-07  6.705523e-07   \n",
       "\n",
       "                                           geometry  \n",
       "7397    POINT (23.28900061547756 42.66199953854084)  \n",
       "9596    POINT (23.28900061547756 42.66199953854084)  \n",
       "17546   POINT (23.28900061547756 42.66199953854084)  \n",
       "266305  POINT (23.28900061547756 42.66199953854084)  \n",
       "442396  POINT (23.28900061547756 42.66199953854084)  "
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "citizen_geo_dataframe.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABIsAAAJACAYAAAANcOYjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzs3XmclWX9//HXxbAjiyguCIq5gQIqUlaKuGRqKWpu/FxK01JzBRVFxQUz91wzK/264r6Uu6RloqEEgguiaYYrIpqyyA737497gBkYYAZmznXf93k9H4/zODPn3GfOGzNneM91fa6QJAmSJEmSJEkSQKPYASRJkiRJkpQdlkWSJEmSJElazLJIkiRJkiRJi1kWSZIkSZIkaTHLIkmSJEmSJC1mWSRJkiRJkqTFLIskSZIkSZK0mGWRJEmSJEmSFrMskiRJkiRJ0mKNYwdY2tprr5106dIldgxJkiRJkqTCGDNmzBdJknSozbWZK4u6dOnC6NGjY8eQJEmSJEkqjBDCB7W91m1okiRJkiRJWsyySJIkSZIkSYtZFkmSJEmSJGkxyyJJkiRJkiQtZlkkSZIkSZKkxSyLJEmSJEmStJhlkSRJkiRJkhazLJIkSZIkSdJilkWSJEmSJElazLJIkiRJkiRJi1kWSZIkSZIkaTHLIkmSJEmSJC1mWSRJkiRJkqTFLIskSZIkSZK0mGWRJEmSJEmSFrMskiRJkiRJ0mKWRZIkSZIkSVrMskiSJEmSJEmLWRZJkiRJkiRpMcsiSZIkSZIkLWZZJEmSJEmSpMUsiyRJkiRJkrSYZZGWSBJ46KH0XpIkSZIklSXLIqUWLIATToADD4TbboudRpIkSZIkRWJZJJg7Fw47DH7/+/Tzk0+G99+Pm0mSJEmSJEVhWVTuZsyAffaB++6r/tgRR8D8+fFySZIkSZKkKCyLytmXX8IPfgDDhy/73D//CZddVvpMkiRJkiQpKsuicvXxx9CnD7zyyvKvueACGD26ZJEkSZIkSVJ8lkXl6J13YIcdYMKEFV83fz4cfjjMnFmaXJIkSZIkKTrLonIzejTsuCN8+GHtrn/nHRg0qGEzSZIkSZKkzLAsKid/+xvssgt88UXdXve738HTTzdMJkmSJEmSlCmWReXioYdgr73Sk85WxVFH1b1kkiRJkiRJuWNZVA7+9Cc4+GCYO3fVv8Znn8Gxx0KS1F8uSZIkSXWTJPDJJ/Doo+mBNPvsA5tvDhdeCF9/HTudpIIIScb+8t+7d+9ktCdw1Y8kgUsvhbPPrr+v+X//l64ykiRJktSwkgQ++gjGjElvr76a3n/+ec3Xt20LAwbAKadAu3alzSop80IIY5Ik6V2ray2LCmrhQjj9dLj66vr9umusAa+9Bt/6Vv1+XUmSJKmcJQn8979LCqFXX01vqzIKom1bOPXU9GZpJKmSZVG5mzcPjjkG7rijYb7+DjvAP/4BFRUN8/UlSZKkIlu4EP7zn2WLoa++qt/3sTSSVIVlUTmbNSudT/T44w37PhdfXL/b2yRJkqQiWrAA3n23+jaysWNh2rTSZbA0koRlUfn6+mvo1w9GjGj492rcGF5+GbbbruHfS5IkScqD+fPhnXeqF0Pjxq36icT1zdJIKmuWReXos89gzz3TeUKl0rVr+g2wZcvSvackSZKUBfPmwVtvVd9KNm5cutI/69q0WVIarblm7DSSSsSyqNy8/z7svnt6X2onngjXX1/695UkSZJKZe5cePPN6sXQa6/BnDmxk60eSyOprFgWlZPXX4c99khXFsXy1FPpqiZJkiQp72bPhjfeqL6V7I030pVERWVpJJUFy6Jy8eKLsPfeMHVq3BzrrZd+A1177bg5JEmSpLqYOTP95WvVYmj8+HT2UDmyNJIKzbKoHDzxBBx4YPqbjyz4yU/gwQchhNhJJEmSpGXNmJFuHRszZkk5NGFCelqZqmvTBk45BQYMsDSSCsSyqOjuvBOOOip739huvRWOPDJ2CkmSJJW7adPS4+mrzhh6+23I2N99Ms/SSCoUy6Iiu+aa9D/WWdS6dfrbmo03jp1EkiRJ5eLrr6uXQmPGwLvvxk5VLItKo1NPhfbtY6eRtIosi4ooSWDIELj44thJVmyHHeAf/4CKithJJEmSVDRffrlsMRTjROByZWkk5ZplUdEsWAAnnAB/+EPsJLXzm9/A4MGxU0iSJCnPPv982WLogw9ipxKkOwoWbU+zNJJyw7KoSObMgcMPT4dH50XjxvDKK9CrV+wkkiRJyoNJk6qXQq++Ch9/HDuVVsbSSMoVy6KimD4d9t8fnnsudpK669o1/UbfsmXsJJIkScqKJIFPPqleDI0ZA599FjuZVoelkZQLlkVF8MUXsNdekOd/FieeCNdfHzuFJEmSYkiSdNvY0lvJpkyJnUwNxdJIyjTLorz78EP44Q/hnXdiJ1l9Tz8Ne+wRO4UkSZIaUpKkg6arFkOvvpoOpFb5ad0aTj4ZBg60NJIyxLIozyZMSIuiouzRXn99eOMNWGut2EkkSZJUHxYuhPfeW3bG0NSpsZMpayyNpEyxLMqrUaPgRz8q3m9gDjgAHngAQoidRJIkSXWxYAH8+9/Vi6GxY9PZmlJtLSqNBgzwl8hSRJZFefTXv6bDrL/5JnaShnHbbfCzn8VOIUmSpOWZPx/efnvJ0OlXX4Vx44r786lKz9JIisqyKG8eeAAOOwzmzYudpOG0bg2vvQYbbxw7iSRJkubNg/Hjq28je+01mDUrdjKVgzXWWLI9zdJIKhnLojy56Sb41a/SoYBFt8MO8I9/QEVF7CSSJEnlY84cePPN6lvJXn8d5s6NnUzlztJIKinLojxIErj4YhgyJHaS0vrNb2Dw4NgpJEmSimnWrPRwkarF0JtvFnsFu/LP0kgqCcuirFu4MP0P4bXXxk5Seo0bwyuvQK9esZNIkiTl28yZ6daxqsXQ+PHpUGopjyyNpAbVIGVRCKECGA18kiTJ3lUevx44KkmSNZbzusHA0cAC4OQkSZ5Z0fsUviyaNw9+/nO4667YSeLp1i39YaZFi9hJJEmS8mHGjPQUsqozhiZMSH8JKRXNGmvASSelpdHaa8dOIxVGXcqixnX4uqcAE4A2Vd6oN9BuBUG2BPoDWwEdgWdDCJsnSVK+v+447LB0oHU5mzABzjwTrrsudhJJkqTsmTq1ejE0Zkx6fH3GdgRIDWbGDLjkErj+eksjKZJalUUhhE7Aj4GLgYGVj1UAVwCHAvsv56X7AvcmSTIH+G8I4T3gO8DI1cydXx49mrr+eth7b/jhD2MnkSRJiud//0uLoapbyd57L3YqKRssjaRoaruy6BpgENC6ymMnAo8mSTIphLC8120AvFzl848rH6smhPBL4JcAG264YS0j5VTfvvDkk7FTZMORR6YDGN2PLEmSysEXX1TfRjZmDPz3v7FTSdlnaSSV3ErLohDC3sDnSZKMCSHsXPlYR+AgYOeVvbyGx5ZZP5skyR+BP0I6s2hlmXKtb9/YCbJj0iQ49th0W97yC0dJkqT8mTy5ein06qvw4YexU0n5tqg0uu66tDQ67TRLI6mB1GZl0Q5AvxDCj4DmpDOLxgNzgPcqVxW1DCG8lyTJpku99mOgc5XPOwGfrnbqPOvVC1q1cjvaIg89BHfcAT/7WewkkiRJdZck6S/AqhZDY8bAp+X9I6/UoL75Bi69dMlKI0sjqd7V+jQ0gMqVRadXPQ2t8vEZNZ2GFkLYCribdE5RR+A5YLMVDbgu/GloAHvsAcOHx06RHa1bp8e+brxx7CSSJEnLlyTw8cdLCqFF5dDkybGTSeWtVStLI6kWGuo0tNq+eT+gd5Ik5yVJMj6EcD/wFjAfOKGsT0JbpG9fy6Kqpk+Hn/4Unn8eKipip5EkSUqLoYkTl50x9MUXsZNJWporjaR6V6eVRaVQFiuLXnwR+vSJnSJ7LrkEzjordgpJklRukgT+859lZwx99VXsZJJWhSuNpBrVZWWRZVEMc+ZAu3Ywe3bsJNnSpAm88gpsu23sJJIkqagWLoR3361eDI0dC1Onxk4mqb61agUnnpiWRh06xE4jRWdZlAe77gp//3vsFNnTrVv6Q1uLFrGTSJKkvFuwAN55p/qMobFj0xOVJJUPSyMJiDyzSLXUt69lUU0mTEi3ol17bewkkiQpT+bPh7feqr6NbNw4mDkzdjJJsX3zDVx2Gdxwg6WRVEuuLIrl+edhl11ip8iuZ56BH/4wdgpJkpRlCxfCww/DNdekBZFb/CXVhiuNVKbqsrKoUUOH0XJsvz00bRo7RXYdeSR8+WXsFJIkKYuSBB57DHr1goMOgpdesiiSVHuLVhptvDGceSZMmRI7kZQ5lkWxtGiRFkaq2aRJcNxx6Q+DkiRJkP5cMHw4fPe70K8fvPZa7ESS8uybb+Dyy6FLF0sjaSmWRTH17Rs7QbY9+CDceWfsFJIkKQteeCH92WmPPWDUqNhpJBXJzJmWRtJSLIti2mmn2Amy78QTYeLE2CkkSVIsL78Mu++eFkUjRsROI6nILI2kxSyLYvr+96GxB9Kt0PTp8NOfpkffSpKk8jF2LOy9N3zve/Dss7HTSConVUujQYPg889jJ5JKzrIoplatoHetBpGXtxEj4MorY6eQJEmlMH48HHhgOrz6iSdip5FUzmbOhCuuSAdhWxqpzFgWxebcotoZMiT9DaNqliQwdaoDwSVJ+fXuu3DYYdCjBzz0UOw0krSEpZHKkGVRbJZFtTNvXvoD5KxZsZPEN38+vPUWDBsGZ5wBP/gBdOgA7dpBx46wzz5w4YXpb2MnT46dVpKkFZs4EY4+Grp1g7vv9hcfkrLL0khlJCQZ+4bcu3fvZPTo0bFjlM60abDmmrBwYewk+XDyyXDttbFTlM4338Drr8O4celt7Fh44w2YPbv2X6NTp3S746LbdtvB2ms3XGZJkmrjk0/g4ovh5pvTXwpJUt60bAm/+lX6C9x11omdRlqpEMKYJElqNQvHsigLvv1tKLc/8+oYPjw9FaVoPv88LYMWlULjxsG//90wv2Ht0qV6gdSrV1paSpLU0CZPhksvhd//HubMiZ1GklafpZFywrIob04/Ha66KnaK/OjYMV1d07597CSrZuFC+M9/qq8WGjcOJk2Km2vTTZesPFpUILVpEzeTJKk4vvwyPbDiuuvSrRySVDSWRso4y6K8eewx6Ncvdop8OegguO8+CCF2khWbMwfefLN6MfTaazBjRuxktbPFFtVXIG27bXqKnyRJtTV1Klx9Nfz2tzB9euw0ktTwWrSAE06wNFLmWBblzVdfwVprOdCxru64A444InaKJb76atnVQhMmpAOpi6JRo3QAadUCaeut02+IkiRVNWMGXH99Ogz2q69ip5Gk0mvRYslKo3XXjZ1GsizKpW22SVecqPbatEn/mXXpUtr3TRL48MNli6EPPihtjqyoqIDu3asXSD16QLNmsZNJkmKYNQtuugkuuQSmTImdRpLiszRSRlgW5dEpp6R7+FU3ffrA3/+eFhYNYd48ePvtZYshf0O6Yk2aQM+e1QukrbZKH5ckFdOcOXDLLekJZ59+GjuNJGWPpZEisyzKo4cfhgMOiJ0iny69FM48c/W/zvTpS46pX1QKvfmmJ7XUl2bN0hV0iwZo9+6dbmlr3Dh2MknS6pg3L90aftFF5bvKVpLqwtJIkVgW5dEXX0CHDrFT5FOTJvDKK+nw5dqaNGnZ1ULvvefcqFJr0SL9363qCqTNN2+4lWKSpPqzYAHccw9ceGH6PVSSVDctWsDxx6el0XrrxU6jMmBZlFfdu8P48bFT5NOWW8Lo0csOWl6wIP0BtmopNG4cTJ4cJ6dWbo01oFev6gXSJpukw7UlSfEtXJiuiD7vvPQgB0nS6rE0UolYFuXVCSfAjTfGTpFfJ54IP/1p9WLo9dfhm29iJ9Pqatu2+va13r3TweYhxE4mSeUjSeDxx9OSaNy42GkkqXgsjdTALIvy6v774ZBDYqeQ8qF9++rlUe/e0KmTBZIk1bckgb/+FYYMgVGjYqeRpOKzNFIDsSzKq88+g/XXj51Cyq911qleHm23HXTsGDuVJOXXCy/AuefCiBGxk0hS+WnePC2Njj4attjCg2G02iyL8myLLeDf/46dQiqO9ddfdgXSOuvETiVJ2fbyy+lKomefjZ1EkgTpycLdukHPnktuPXqkp6m5sl61VJeyyGoya/r2tSyS6tOkSfDYY+ltkc6dl12BtNZa8TJKUlaMHZvOJHr88dhJJElVzZmz5LCeqjp0qF4e9eyZHv6z9ME/Uh25sihrhg2Dww+PnUIqPxtvXL1A6tUL2rWLnUqSSmP8eDj/fHjoodhJJEmrq1Ej2GyzZVchbbSRJwyXObeh5dnHH6erHiTFt9lm1QukbbeF1q1jp5Kk+vPuu3DBBXDPPekga0lScbVunZZGi1YgLSqR2raNnUwlYlmUd5tsAu+/HzuFpKWFAF27Vi+QttkGWraMnUyS6mbiRLjoIrj9dliwIHYaSVJMG2647CqkzTd3oHYBWRbl3c9/DrfeGjuFpNpo1Ai22iqde7SoQNp66/T0CknKmk8+gYsvhptvhnnzYqeRJGVVs2bp7KOqq5B69kwHaiu3LIvy7vbb4cgjY6eQtKoaN4bu3auvQOrRA5o2jZ1MUrmaPBkuvRR+//t0SKokSavCgdq5ZlmUdxMnpsN2JRVH06bpN9OqBdKWW0KTJrGTSSqyL7+EK6+E666DmTNjp5EkFVGjRum2taVnIXXpko5xUGZYFuVdkqST6j/6KHYSSQ2pefN05lHVAqlrV6ioiJ1MUt5NnQpXXw2//S1Mnx47jSSpHC0aqF11FZIDtaOyLCqCI46Au+6KnUJSqbVsCb16VS+QNtvMY04l1c6MGXDDDXD55fDVV7HTSJK0rI02WnYVkgO1S8KyqAhuvhl+8YvYKSRlQevWyxZIm2zisl5JS8yaBTfdBJdcAlOmxE4jSVLdLBqoXXUVkgO1651lURG8+27arkpSTdq1S09g69UL1lorHSq49K1ly+U/3ry5ZZNUBHPmwC23pCecffpp7DSSJNWvqgO1FxVJDtReZZZFRZAksMEGMGlS7CSSiqp589qXS6v7uOWUVL/mz4c77oChQ+GDD2KnkSSpdBYN1F56FdJGG/nz5krUpSxyU2BWhQB9+8K998ZOIqmoZs9Ob6Waa1JTsdRQJVWzZv6woGJasCD92eCCC+C992KnkSSp9BYuhLffTm/337/k8aoDtRcVSQ7UXmWWRVlmWSSpSGbNSm+lEMKSlVN1KZ1WtaBq2tRySg1r4UJ4+GE4/3x4663YaSRJyp7p0+Gf/0xvVS09ULtnz/QAGQdqr5D/dLKsb9/YCSQpn5JkSTn1v/81/PuFULotfZZT5SVJ4PHH4bzzYNy42GkkScqfDz5Ib48/vuQxB2qvlGVRlnXtmg708lQTScq2JIGZM9NbKTRqVLotfS1aQJMmllOlliTw7LNw7rkwalTsNJIkFcucOTB2bHqrap11ll2FtOWW6Yr1MmNZlGUhwE47wUMPxU4iScqShQvhm2/SWyksKqcaesXUosebNCnNnyurXngBhgxJ7yVJUul8/jk891x6A1hvvfTv49//ftxcEVgWZV3fvpZFkqS4Sl1OVVSUdltfVsqpV15JS6K//jV2EkmS9L3vwYMPQseOsZNEYVmUdc4tkiSVmwULYMaM9FYKjRuXdlvf0gM1x45NZxJVnaUgSZLiOfZYuPbadLZRmbIsyrru3aF9+9IMaJUkqRzNn5+eoDJ9emneb1E51bJlOgPhgw9K876SJGnFmjaFG26AX/widpLoGsUOoJVo1Aj69ImdQpIk1ZdF5dTkyRZFkiRlxfrrwz/+YVFUybIoD9yKJkmSJElSw9hhBxgzBr773dhJMsOyKA8siyRJkiRJqn/HHw9/+1u6skiLWRblwdZbQ5s2sVNIkiRJklQMTZvCzTfDjTemH6say6I8qKiAHXeMnUKSJEmSpPzbYAMYMQKOPjp2ksyyLMoLt6JJkiRJkrR6dtwRRo+G73wndpJMsyzKiz33TI/alSRJkiRJdXfiifDcc7DeerGTZJ5lUV707AlPPgmtW8dOIkmSJElSfjRrBrfeCtdf73yiWrIsypPdd4cXXrAFlSRJkiSpNjp1SucTHXlk7CS5YlmUN9tsAyNHQteusZNIkiRJkpRdO+0EY8bAt78dO0nuWBblUZcu8NJLsMMOsZNIkiRJkpQ9J50Ezz4L66wTO0kuWRblVfv28Ne/wk9+EjuJJEmSJEnZ0KwZ3HYbXHcdNGkSO01uWRblWYsWcP/96UR3SZIkSZLKWefO6S6cn/0sdpLcsyzKu4qKtDG97LLYSSRJkiRJimPnndP5RNttFztJIVgWFUEIMGgQ3HWXy+wkSZIkSeXl1FPTMS0dOsROUhiWRUVy2GHw5JPQunXsJJIkSZIkNazmzeHOO+Hqq6Fx49hpCsWyqGh+8AN44QVYf/3YSSRJkiRJahgbbZTOJzr88NhJCsmyqIi22QZGjoRu3WInkSRJkiSpfu26K4weDb16xU5SWJZFRbXRRvDii7DjjrGTSJIkSZJUPwYOhGeegbXXjp2k0CyLiqx9+3TI1wEHxE4iSZIkSdKqa9EChg2Dq65yPlEJWBYVXfPmcN99cNJJsZNIkiRJklR3G20E//wnHHpo7CRlw7KoHFRUwLXXwuWXx04iSZIkSVLt7bZbOp9om21iJykrlkXlIgQ444x02V6TJrHTSJIkSZK0YmecAU8/7XyiCCyLys2hh8JTT0GbNrGTSJIkSZK0rBYt4J570t0xzieKwrKoHO22G4wYAR07xk4iSZIkSdISG28MI0dC//6xk5Q1y6Jy1bNn+n/Abt1iJ5EkSZIkCXbfHf71L9h669hJyp5lUTnbcEN48UXo0yd2EkmSJElSOTvzzHRkylprxU4i6lAWhRAqQghjQwiPV35+SwjhtRDC6yGEB0MIa9Twmi4hhFkhhHGVt5vqM7zqQfv2MHw4HHhg7CSSJEmSpHLTsiXcdx9ceml6krcyoS4ri04BJlT5fECSJFsnSdIT+BA4cTmv+0+SJNtU3o5b1aBqQM2bw733wsknx04iSZIkSSoX3/oWvPwyHHxw7CRaSq3KohBCJ+DHwM2LHkuSZFrlcwFoASQNEVAlUlEB11wDV1wRO4kkSZIkqej22COdT9SjR+wkqkFtVxZdAwwCFlZ9MIRwK/AZ0BW4fjmv3bhy+9o/Qgg1DscJIfwyhDA6hDB6ypQptYykehcCnH46DBsGTZrETiNJkiRJKqLBg+GJJ9KxKMqklZZFIYS9gc+TJBmz9HNJkhwFdCTdnnZIDS+fBGyYJMm2wEDg7hBCmxq+zh+TJOmdJEnvDh061PXPoPp26KHw9NPQZpn/qSRJkiRJWjWtWsEDD8BvfuN8ooyrzcqiHYB+IYSJwL3AriGEuxY9mSTJAuA+4IClX5gkyZwkSb6s/HgM8B9g83rIrYa2664wYgR07Bg7iSRJkiQp7zbZJJ1P5OFKubDSsihJksFJknRKkqQL0B/4G3BECGFTWDyzaB/g7aVfG0LoEEKoqPz4W8BmwPv1F18NqmdPGDkSttwydhJJkiRJUl7ttVc6n6h799hJVEt1OQ2tqgDcHkJ4A3gDWB8YChBC6BdCGFp53U7A6yGE14AHgeOSJPnfamZWKW24Ibz4IvSpcdyUJEmSJEnLd8458NhjsOaasZOoDkKSZOsQs969eyejR4+OHUNLmz0bjjgCHnwwdhJJkiRJUtatsQbcfjv85Cexk6hSCGFMkiS9a3Ptqq4sUrlp3hzuuw9OOSV2EkmSJElSlm22GbzyikVRjlkWqfYaNYKrr4Yrr4ydRJIkSZKURT/+MYwa5ezbnLMsUt2EAKedBvfcA02axE4jSZIkScqKIUPg0UehXbvYSbSaGscOoJzq3x/WXRf22w+mTYudRpIkSZIUS+vWcMcd6d8PVQiuLNKq22WX9KS0DTaInUSSJEmSFMPmm6fziSyKCsWySKunRw8YORK22ip2EkmSJElSKe2zTzqfqFu32ElUzyyLtPo6d4YRI2CnnWInkSRJkiSVwgUXwJ//DG3bxk6iBmBZpPqx5prwzDNw8MGxk0iSJEmSGkrr1vCXv8D556cnZquQ/F9W9ad58/SUtAEDYieRJEmSJNW3rl3TbWf9+sVOogZmWaT61agR/Pa3cNVVsZNIkiRJkurLvvumg6y7do2dRCVgWaSGMXBgusqoadPYSSRJkiRJqyoEGDoUHn4Y2rSJnUYl0jh2ABVY//6w3nrpEYpTp8ZOI0mSJEmqizZtYNgw2Hvv2ElUYq4sUsPaeef0pLQNNoidRJIkSZJUW926wb/+ZVFUpiyL1PB69ICRI2GrrWInkSRJkiStzP77p/OJNt88dhJFYlmk0ujcGV58Efr2jZ1EkiRJklSTEODXv4YHH4TWrWOnUUSWRSqddu3gmWfg4INjJ5EkSZIkVdW2LTz+OJxzTnrKtcqa/waotJo1S09JGzgwdhJJkiRJEsCWW6bziX70o9hJlBGWRSq9Ro3gqqvgt7+NnUSSJEmSytsBB8DLL8Nmm8VOogyxLFI8AwbAvfdC06axk0iSJElSeQkBfvMbeOAB5xNpGY1jB1CZO+QQWHdd2G8/mDo1dhpJkiRJKr527dLxIHvuGTuJMsqVRYpv553Tk9I22CB2EkmSJEkqtu7dYfRoiyKtkGWRsqF793SfbPfusZNIkiRJUjEddBCMHAmbbBI7iTLOskjZ0akTjBiRrjSSJEmSJNWPRo3gssvgvvtgjTVip1EOWBYpW9q1g6efTmcZSZIkSZJWz5prwlNPwaBB6VBrqRYsi5Q9zZrB3XfDaafFTiJJkiRJ+dWjRzqf6Ic/jJ1EOWNZpGxq1AiuvBKuvtr2W5IkSZLq6pBD0vlE3/pW7CTKIcsiZdupp8K990LTprGTSJIkSVL2NWoEV1wB99wDrVrFTqOcsixS9h18MAwfDm3bxk4iSZIkSdnVvn06A/b0092hodViWaR86NsXXnopPTFNkiRJkrSs++6D3XePnUIFYFmk/Nhqq3QU8ykcAAAgAElEQVTPbY8esZNIkiRJUrbstBPstlvsFCoIyyLlS6dOMGIE7LJL7CSSJEmSlB1Dh7r1TPXGskj507YtPPUU9O8fO4kkSZIkxbfbbunoDqmeWBYpn5o1g2HD0sFtkiRJklTOLroodgIVjGWR8mvRkZDXXONyS0mSJEnlaa+94Hvfi51CBWNZpPw75ZR06n+zZrGTSJIkSVJpDR0aO4EKyLJIxXDQQTB8OLRrFzuJJEmSJJVGv37Qu3fsFCogyyIVx047wYsvQufOsZNIkiRJUsNzVZEaiGWRimWrrWDkSOjRI3YSSZIkSWo4Bx4IW28dO4UKyrJIxbPBBjBiBOyyS+wkkiRJklT/QoALLoidQgVmWaRiatsWnnoK/t//i51EkiRJkupX//7prgqpgVgWqbiaNYO77oIzzoidRJIkSZLqR6NGcP75sVOo4CyLVGyNGsHll8P++8dOIkmSJEmr74gjYIstYqdQwVkWqdjmz4eBA+GRR2InkSRJkqTVU1EBQ4bETqEy0Dh2AKnBfPVVupd3+PDYSSRJkiRp9R11FGyySewUKgOWRSqmt9+Gfv3g3XdjJ5EkSZKk1dekCZx7buwUKhNuQ1PxPPUUbL+9RZEkSZKk4jjmGNhoo9gpVCYsi1QcSQJXXAE//jFMmxY7jSRJkiTVj2bN4JxzYqdQGXEbmoph9mz4xS/grrtiJ5EkSZKk+nXccbDBBrFTqIxYFin/Pv0U9t8fRo2KnUSSJEmS6leLFnDWWbFTqMxYFinfRo2C/faDSZNiJ5EkSZKk+nfCCbDeerFTqMw4s0j5ddddsNNOFkWSJEmSiqlVKxg0KHYKlSHLIuXPggVw5plwxBEwZ07sNJIkSZLUME45BTp0iJ1CZchtaMqXqVPh0EPhySdjJ5EkSZKkhtOmDZx2WuwUKlOWRcqPd9+Ffv3g7bdjJ5EkSZKkhjVgALRvHzuFypTb0JQPf/0rfOc7FkWSJEmSiq9du7QskiKxLFK2JQlcey3suSd8/XXsNJIkSZLU8E4/Hdq2jZ1CZcxtaMquOXPgV7+C//u/2EkkSZIkqTTWWgtOPjl2CpU5yyJl0+TJ8JOfwD//GTuJJEmSJJXOmWdC69axU6jMWRYpe159FfbdFz7+OHYSSZIkSSqdddeFE06InUJyZpEy5r77YMcdLYokSZIklZ+zzoKWLWOnkCyLlBELF8K550L//jBrVuw0kiRJklRaHTvCccfFTiEBbkNTFkyfDkccAX/5S+wkkiRJkhTHOedA8+axU0iAZZFie/996NcPxo+PnUSSJEmS4ujcGY4+OnYKaTG3oSmev/8dvv1tiyJJkiRJ5W3IEGjWLHYKaTHLIsVx442w++7wv//FTiJJkiRJ8Wy8MRx5ZOwUUjWWRSqtuXPh+OPT4yAXLIidRpIkSZLiOu88aNIkdgqpGmcWqXSmTIEDD4QXXoidRJIkSZLi23xzOPzw2CmkZVgWqTRefz0dZP3BB7GTSJIkSVI2nH8+NPav5coet6Gp4T38MHz/+xZFkiRJkrTIllvCIYfETiHVyLJIDWfhQhg6FA44AL75JnYaSZIkScqOCy6AiorYKaQaud5NDeObb9KJ/g8+GDuJJEmSJGVLz57pL9WljLIsUv374APYd1947bXYSSRJkiQpe4YOhUZu9FF2+W+n6teLL8K3v21RJEmSJEk12W679PAfKcNqXRaFECpCCGNDCI9Xfn5LCOG1EMLrIYQHQwhrLOd1g0MI74UQ3gkh7FFfwZVBf/oT7LorTJkSO4kkSZIkZdPQoRBC7BTSCtVlZdEpwIQqnw9IkmTrJEl6Ah8CJy79ghDClkB/YCtgT+DGEIITvIpm3jw46ST45S/TjyVJkiRJy/rud2GvvWKnkFaqVmVRCKET8GPg5kWPJUkyrfK5ALQAkhpeui9wb5Ikc5Ik+S/wHvCd1Q2tDPnyS9hzT7jhhthJJEmSJCnbLrrIVUXKhdquLLoGGAQsrPpgCOFW4DOgK3B9Da/bAPioyucfVz5WTQjhlyGE0SGE0VPcwpQf48fD9tvD3/4WO4kkSZIkZVufPrDbbrFTSLWy0rIohLA38HmSJGOWfi5JkqOAjqTb0w6p6eU1PLbMCqQkSf6YJEnvJEl6d+jQYeWpFd9jj8H3vgf/+U/sJJIkSZKUfa4qUo7UZmXRDkC/EMJE4F5g1xDCXYueTJJkAXAfcEANr/0Y6Fzl807Ap6ucVvElCVx6Key7L0yfHjuNJEmSJGXfbrtB376xU0i1ttKyKEmSwUmSdEqSpAvpsOq/AUeEEDaFxTOL9gHeruHljwL9QwjNQggbA5sBo+orvEps5kw47DAYPDgtjSRJkiRJKzd0aOwEUp00XsXXBeD2EEKbyo9fA44HCCH0A3onSXJekiTjQwj3A28B84ETKlciKW8+/hj22w/GLLMbUZIkSZK0PHvuCd//fuwUUp2EJGMrRHr37p2MHj06dgxVNXIk7L8/TJ4cO4kkSZIk5cuoUfDtb8dOIRFCGJMkSe/aXFvb09BUrm6/HXbe2aJIkiRJkuqqXz+LIuWSZZFqNn8+nHYaHHkkzJ0bO40kSZIk5c+FF8ZOIK2SVZ1ZpCL7+mvo3x+eeSZ2EkmSJEnKpwMOgG22iZ1CWiWWRarunXfSpZL//nfsJJIkSZKUTyHABRfETiGtMrehaYmnnoLtt7cokiRJkqTVccgh0L177BTSKrMsEiQJXHUV7L03TJ0aO40kSZIk5VejRq4qUu65Da3czZ4Nxx4Ld9wRO4kkSZIk5d/hh8MWW8ROIa0Wy6JyNmkS7L8/vPJK7CSSJEmSlH8VFTBkSOwU0mqzLCpX//oX7LcffPpp7CSSJEmSVAxHHgmbbho7hbTanFlUju6+G3bayaJIkiRJkupLkyauKlJhWBaVkySBwYPhsMPSWUWSJEmSpPpxzDGw0UaxU0j1wrKonDzyCFx6aewUkiRJklQszZrB2WfHTiHVG8uicjF/PpxzTuwUkiRJklQ8xx4LnTrFTiHVG8uicnHnnfD227FTSJIkSVKxtGiRjvuQCsSyqBzMng0XXBA7hSRJkiQVz69+BeutFzuFVK8si8rBTTfBhx/GTiFJkiRJxdKqFZx5ZuwUUr2zLCq66dPh4otjp5AkSZKk4jn5ZOjQIXYKqd5ZFhXd1VfDF1/ETiFJkiRJxdK6NZx+euwUUoOwLCqyL76AK6+MnUKSJEmSimfAAGjfPnYKqUFYFhXZJZek29AkSZIkSfWnXbu0LJIKyrKoqD76CH73u9gpJEmSJKl4Tj89LYykgrIsKqoLL4Q5c2KnkCRJkqRiWWutdLC1VGCWRUX0zjtw662xU0iSJElS8QwalA63lgrMsqiIhgyBhQtjp5AkSZKkYllnHTjhhNgppAZnWVQ0Y8bAAw/ETiFJkiRJxXPWWdCqVewUUoOzLCqas8+OnUCSJEmSiqdjRzjuuNgppJKwLCqSv/8dhg+PnUKSJEmSiufss6FFi9gppJKwLCqKJIHBg2OnkCRJkqTi6dwZjjkmdgqpZCyLiuLRR+GVV2KnkCRJkqTiOfdcaNYsdgqpZCyLimDBAjjnnNgpJEmSJKl4Nt4YjjoqdgqppCyLimDYMBg/PnYKSZIkSSqe886DJk1ip5BKyrIo7+bOhfPPj51CkiRJkopns83g8MNjp5BKzrIo7/74R5g4MXYKSZIkSSqe88+Hxo1jp5BKzrIoz2bMgIsuip1CkiRJkopnyy2hf//YKaQorEjz7Npr4fPPY6fQqmoD9AG2AloAs4D/Vj63ceVjCRBquK/NtSu6ZhYwHhgBTGugP58kSZKUZxdcABUVsVNIUVgW5dWXX8Lll8dOoVXVBvg10B3YjLTImQ0srHy+AmgONAHmLXU/txbXruiauaRl0bvAHsC5WBhJkiRJVfXsCQccEDuFFI1lUV5ddhlM82/4ubUHsDPQCliTdLVPK9KNoUmV6xoDC0jLnkX3TWtx7YquaUpaTnUB1q7M8kD9/dEkSZKk3LvwQmjk1BaVL//tz6NPPoHrr4+dQqvjB6SrfNqSFjiNqtxXVH5cQVoiNV7qvqIW167omorKW5vKDLs18J9VkiRJypNevWDffWOnkKJyZVEeXXQRzJ4dO4VWRxPSVT3NWfL/wrDUNaGGx6Dminfpa1d0TaPK+xaVGZrWOrUkSZJUfEOHQqjpB3GpfLiyKG/efRduvjl2Cq2uz1iy0mfR96HlfT9Klrqvcu2ECXD77en98q6p0aL3rajMIkmSJAm23x5+9KPYKaToLIvy5rzzYMGC2Cm0umYD86m+qihZ/uXLSOCkk2DL7nDkz9P7k05e9poVqqjM4CI1SZIkKXXRRa4qkrAsypdx4+Dee2OnUH1oQVoUza/8vC5FEelKohturP7YDTfA408sWWn0+5tgp53T+xotqMzQom7vLUmSJBVSnz7wgx/ETiFlgjOL8uTss2MnUH1Zl/RY+6VPK6tiyhSY+AF02QgIMPG/0GVj6LA2jBpV82v26bfsYyNGwLnnwpdfLPVEqMyw7ir+GSRJkqQicVaRtJhlUV6MGAFPPRU7hepT1WHTS7nnHjj6F9C0KcyaBUkCLVvC3Llw9dVQUcfvYf/7Kl1hdPzxLNnytpz3liRJksrOrrvCzjvHTiFlhmVRHiQJDB4cO4Xq09csu/2rssSZMiUtimbNSm+LTJ2a3h933Kq95T33VpZFCUtKohaVWSRJkqRyNnRo7ARSpjizKA+eeAJeeil2CtWndkCVIoiExdvRJk6Epk1q/6Ua17Ly/X/9l3o/KjO0q/17SZIkSYWzxx6www6xU0iZYlmUdQsXwjnnxE6hhlZlO1iXLjB3Xu1fOn/+yq9pv2blqqKl3kuSJEkqe64qkpZhWZR1994Lr78eO4Xq2/K2oQEdOsAtt0CzZqv/Nn36wI2/gy+/ZMlqIrehSZIkSal99oHvfCd2CilznFmUZXPnwpAhsVOoISzahrZG5ecJDLsb7n8ADj4IDjsUtukJ224Hc+Ys/8s0aQLzVrAK6Q+/h27dWPbENbehSZIkSXDhhbETSJnkyqIsu+UWeP/92ClUAp27wOFHwKOPpvcbbgTdtoRbb13+6Z3f/S588hEkC5b/dUeNqvJJWOpekiRJKmc/+Qlsu23sFFImWRZl1cyZ7p0tsirb0IbdDR9/XP3pjz6GYcPSodTNm9f8Jd54I92yRoC33qz5msUraitPWgPchiZJkiSF4KoiaQUsi7Lquuvgs89ip1BDqXIa2v0P1HzJosd/uHvNz/9gt8oPknSr2YknVn/+xBMqt6BVXlON29AkSZJUzg45BLp3j51CyizLoiz66iu47LLYKVQiBx+04sf//Oean//zI1U+CXD9dfDWeLjt1vT++uuWeoHb0CRJkiRo1AjOPz92CinTLIuy6Ior4Gv3BhValW1ohx0KnTtVf7pz5/RxABJIFsK+/aBVq/Q+WVjl4ipbzLp1hZ/9LL2vWgq1aAWhEbRoidvQJEmSVN4OOwy6do2dQso0T0PLmkmT4JprYqdQQ1vqNLQPJ8Kwe6qfhra0Pz/CkmKo6raypbeYLfV4qFjy0OzZ6eeLh2K7DU2SJEnlpKICzjsvdgop8yyLsubXv4ZZs2KnUCkkQJUVQocdWnNJVKftY0td06JVzZe1aAWzvmL5RZMkSZJURD/7GWy6aewUUua5DS1L3n8f/vjH2ClUCp+RFjtzWenKoOXe1+La2bNr/tKzZwPzKjM4R12SJEnloEkTGDIkdgopFyyLsuS882D+/NgpVApfAx8Ac4D5wILKW9WPkxXcanPtAmjevOa3b9688r0/wJlFkiRJKg9HHw1dusROIeWC29Cy4o034O67Y6dQqYwH3iQtajYnXWHUmiWrfRqTlkGtSUudZlXup1c+v6JrK6+Z9T6Ejsu+/az3Kt//o8oskiRJUpE1bQrnnBM7hZQblkVZcc45kDhApmyMAHau/LgNadHzMdCUdFXQPNLh1wH4BmhV5X5G5W1F11a5JnkTWvSC2XOheTOY9SYwufL9JldmkSRJkors2GOhU6eVXycJgJBkrKDo3bt3Mnr06NgxSuull2DHHWOnUKm1AfoAW5EeYT8L+G/lcxtXPrbomPul72tz7YqumUW6omgEMK2B/nySJElSFjRvns6HXX/92EmkqEIIY5Ik6V2ba11ZFFuSwNlnx06hGKYBT1TeJEmSJDWME06wKJLqyAHXsT3zDLzwQuwUkiRJklQ8rVrBoEGxU0i5Y1kUW5JARUXsFJIkSZJUPP36wTrrxE4h5Y5lUWx77QU33xw7hSRJkiQVz1/+Ap98EjuFlDuWRVlw5JFw2WWxU0iSJElSscycmZ48LalOLIuy4owz4LTTYqeQJEmSpGK5/XYYMyZ2CilXLIuyIgS4/HI44ojYSSRJkiSpWAYMSOfFSqoVy6IsadQIbrkFfvSj2EkkSZIkqThGjICHH46dQsoNy6KsadIE7r8fvvvd2EkkSZIkqTgGDYI5c2KnkHLBsiiLWrWCJ56ALbeMnUSSJEmSiuH99+H662OnkHLBsiir2reHZ56Bzp1jJ5EkSZKkYrjoIpgyJXYKKfMsi7KsU6e0MGrfPnYSSZIkScq/adPg/PNjp5Ayr9ZlUQihIoQwNoTweOXnw0II74QQ3gwh/F8IoclyXrcghDCu8vZofQUvG926wZNPQsuWsZNIkiRJUv794Q8wfnzsFFKm1WVl0SnAhCqfDwO6Aj2AFsAxy3ndrCRJtqm89Vu1mGVu++3Tyf2NG8dOIkmSJEn5tnAhnHZa7BRSptWqLAohdAJ+DNy86LEkSZ5MKgGjgE4NE1EA7LEH3HZb7BSSJEmSlH/PPANPPRU7hZRZtV1ZdA0wCFi49BOV28+OAJ5ezmubhxBGhxBeDiHsV9MFIYRfVl4zeorDxpbvsMPg6qtjp5AkSZKk/DvtNJg3L3YKKZNWWhaFEPYGPk+SZMxyLrkReCFJkhHLeX7DJEl6A4cC14QQNln6giRJ/pgkSe8kSXp36NChttnL06mnwuDBsVNIkiRJUr5NmAB/+lPsFFIm1WZl0Q5AvxDCROBeYNcQwl0AIYTzgQ7AwOW9OEmSTyvv3weeB7Zdvcji4ovh6KNjp5AkSZKkfDvvPPj669gppMxZaVmUJMngJEk6JUnSBegP/C1JksNDCMcAewD/L0mSZbanAYQQ1gwhNKv8eG3S4umtektfrkKAm26CffeNnUSSJEmS8uvLL+HXv46dQsqcupyGtrSbgHWBkSGEcSGE8wBCCL1DCIsGYXcDRocQXgP+DlyaJIllUX1o3BjuuQf69ImdRJIkSZLy67rr4L33YqeQMiWkh5llR+/evZPRo0fHjpEfX38NO+0Eb7wRO4kkSZIk5dP++8PDD8dOITWoEMKYypnSK7U6K4uUBe3awRNPQPPmsZNIkiRJUj498gg8/3zsFFJmWBbl3dSpcMwxMHt27CSSJEmSlF8DB8KCBbFTSJlgWZRnH3wAO+wAw4fHTiJJkiRJ+TZ2LNx5Z+wUUiZYFuXVv/4F228P48fHTiJJkiRJxXD22TBjRuwUUnSWRXn0yCPQty9Mnhw7iSRJkiQVx6RJcPnlsVNI0VkW5UmSwJVXwgEHwKxZsdNIkiRJUvFceSV89FHsFFJUlkV5MX8+HH88nHFGWhpJkiRJkurfrFkweHDsFFJUlkV5MG0a7L03/OEPsZNIkiRJUvENGwajRsVOIUVjWZR1H36Ynnj2zDOxk0iSJElS+RgwwF0dKluWRVk2enR64tmbb8ZOIkmSJEnl5Z//hAceiJ1CisKyKKseeQR22gk++yx2EkmSJEkqT2eeCbNnx04hlZxlUdYkCVx1lSeeSZIkSVJsEyfCNdfETiGVnGVRlsyfD7/6FZx+untjJUmSJCkLfvMbmDw5dgqppCyLsmLaNNhnH7jppthJJEmSJEmLTJ8OQ4bETiGVlGVRFnz4Iey4Izz9dOwkkiRJkqSl3XILvP567BRSyVgWxTZmTHri2RtvxE4iSZIkSarJwoUwcKDjQlQ2LIti+stfPPFMkiRJkvLguefgiSdip5BKwrIohiSBq6+G/feHmTNjp5EkSZIk1cbpp8O8ebFTSA3OsqjU5s+HE05wCaMkSZIk5c0778Dvfx87hdTgLItKadGJZ/7HRZIkSZLy6YIL4H//i51CalCWRaXy0UeeeCZJkiRJeffVVzB0aOwUUoOyLCoFTzyTJEmSpOL43e/SLWlSQVkWNbRFJ55NmhQ7iSRJkiSpPsyfD2ecETuF1GAsixrSTTd54pkkSZIkFdFjj8Fzz8VOITUIy6KGtPfe6U2SJEmSVDwDB8KCBbFTSPXOsqghdeqUbkO7/35YZ53YaSRJkiRJ9en11+HWW2OnkOqdZVFDCwEOOggmTICf/zx2GkmSJElSfTr3XJg+PXYKqV5ZFpVK+/Zwyy3w7LPwrW/FTiNJkiRJqg+TJ8Mll8ROIdUry6JS2203eOONdHJ+I//xS5IkSVLu/fa3MHFi7BRSvbGtiKFlS7j8cvjXv2DbbWOnkSRJkiStjjlz4KyzYqeQ6o1lUUy9esGoUXDZZdC8eew0kiRJkqRVdd99MHJk7BRSvbAsiq1xYxg0KN2atssusdNIkiRJklbVgAGwcGHsFNJqsyzKik03heeeS4dgt2sXO40kSZIkqa5eeQXuvTd2Cmm1WRZlSQjw85/DhAlw0EGx00iSJEmS6uqss2DmzNgppNViWZRF660H998Pf/4zdOwYO40kSZIkqbY++ig9HU3KMcuiLNt3X3jrLTj++NhJJEmSJEm1deml8OmnsVNIq8yyKOvatoUbb4QRI2CLLWKnkSRJkiStzDffwLnnxk4hrTLLorzYcUcYNw6GDElPUJMkSZIkZddtt8HYsbFTSKvEsihPmjeHoUPh1Vdh++1jp5EkSZIkLU+SwMCB6b2UM5ZFedSjB7z0Elx7LbRqFTuNJEmSJKkmzz8Pf/lL7BRSnVkW5VVFBZx8MowfD3vuGTuNJEmSJKkmZ5wBc+fGTiHViWVR3m20ETz5JAwbBmuvHTuNJEmSJKmq996DG26InUKqE8uiIggBDj0UJkyAww+PnUaSJEmSVNXQofDFF7FTSLVmWVQka68Nd94JTz+drjiSJEmSJMU3dSpccEHsFFKtWRYV0R57wJtvwqmnpquOJEmSJElx3XRTuhtEygHLoqJaYw24+moYOTI9PU2SJEmSFM+CBXD66bFTSLViWVR0228Po0fDr38NTZvGTiNJkiRJ5evJJ2H48NgppJWyLCoHTZvCOefAa69Bnz6x00iSJElS+Ro4EObPj51CWiHLonLStSs8/3y6V7ZNm9hpJEmSJKn8jB8PN98cO4X+f3t3HmVXWacL+P2SCpkDCWHIICg2tigKSIkiowFkCBCURtDL5fZSVHTh3OqibVsExQmH1iUoiDattKKItiLOiNq2igEFFSKRUcIQaEVRBgPs+8euVIVQSeqEqtpneJ61aqXq1Dl13sDOrqr3/L5vs17Kol4zYULyilckV1+dLFnSdBoAAIDe86//Wl8hDdqUsqhXLViQfPnLyQUXJFtv3XQaAACA3nHnncm73tV0ClgnZVEvKyU58sh6yuj445tOAwAA0Dv+7d+S669vOgUMS1lEMnt2cvbZySWXJH/3d02nAQAA6H5/+1vylrc0nQKG1dd0ANrIc5+bXHVVcsopyfvfnzz0UNOJAACg+0yenOy3X72H6HbbJddemyxbNvT2+983nZDxcsEFyY9+5KrVtJ1SVVXTGR6hv7+/Wrp0adMx+OUvk5e+NLniiqaTAABA55szJ1m8uC6IDjwwmTFj3ff9y18eWSD99rdDfz7wwPhlZnzsumty2WX1xYhgDJVSLq+qqn9E91UWsU4PPlivo33b25L77ms6DQAAdJYnPKEuh5YsSfbcM+l7jAs7HnooufnmR04hrS6R7rhjdDLTjHPPTY47rukUdDllEaPr+uuTV7wi+e53m04CAADtrb9/qCDaccf6ojLj4Y9/HJpAWvPtuuvqF4Fpb/Pn19Nk06c3nYQupixi9FVV3Xa/4Q31NyIAACCZNClZtKguhw47LFm4sOlEj7RqVf3i79ol0rJlyd13N52ONb397cnJJzedgi6mLGLs3HFH8trXJuef33QSAABoxqabDu0/dNBByaxZTSdqXVUlK1c+ck+k1W833lh/nvE1dWqyfHmyYEHTSehSyiLG3te+lrzqVckttzSdBAAAxt7jHje0vGyffeqJom513311abH2BtvLliX33tt0uu523HH1ig4YA8oixsef/5z88z8nZ5zhlQcAALrPzjsPFUQ77zx++w+1q4cfTlasGH6D7RUrmk7XPX7+83rvKxhlyiLG149/nLzsZck11zSdBAAANl5fXz01tGRJcvjhybbbNp2oc/z5z/UGzWsXScuXJ3/7W9PpOsueeyY//KFyklGnLGL8PfBA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yTnnJHfckXz1q8mLX5zMnNl0suZtskm9P9O119b/fbbbrulEwEhYhgYALRvJZNEeSQ4vpdyY5PNJFpVSPjvSJ6iq6taBP69PcmmSXYa5z1lVVfVXVdW/xRZbjPRLwxCTRbDxSkn23js544zk1luTb387eclL6s2rebRJk+r/PsuWJZ/+dPLER70GArQTk0UA0LINlkVVVZ1UVdXCqqoen+SYJJdUVXXsSL54KWV2KWXywPtzUxdPVz+GvDA8k0XQut12Sz74weTmm5Mf/CB55SvrDeMZmUmTkn/8x7o0OvfcZPvtm04EDMdkEQC0bKOvbVxKeU0p5ZYkC5NcVUr55MDt/avfT7JDkqWllCuTfD/Je6qqUhYx+kwWwcg8/enJaacl112X/Oxnyetfr2x9rPr6kuOOS66+ut74++//vulEwJpMFgFAy1q6znFVVZemXkqWqqo+kuQjw9xnaZLjB97/nyRPe6whYYP8sgvr9qQnJS96UXL00ckOOzSdpnv19SXHHlv/tz7//OTUU+upI6BZyiIAaNlGTxZBWzFZBI+07bbJW96S/OIXdWFx8smKovEycWK9Kfivf518/vPJU57SdCLobZahAUDLlEV0h/nzm04AzZs3L3nd65Kf/CS54YbkPe9Jdt653sCa8TdxYj3N9atfJV/4QrLjjk0ngt5ksggAWqYsojtMnpy4kh69aPPNkxNOSC69NPn975MPfSh59rMVRO1kwoTkqKOSK69MLrig3jcKGD8miwCgZcoiuod9i+gVs2bVV+H65jeT225Lzjwz2WefepKF9jVhQnLkkfXSwAsvrKe+gLFnsggAWqYsonvYt4huNm1avXHyV76SrFyZfPrTyYEHesW8E02YkDz/+ckVV9T/P3fZpelE0N2URQDQMmUR3cNkEd1m8uS6VDj//Log+s//TJYsqW+n85VS//+8/PLkq19Ndt216UTQnZTqANAyZRHdw2QR3aCvLzn44OTcc5M77qiXK73whcn06U0nY6yUkhx2WPLznycXXZQ885lNJ4LuYrIIAFqmLKJ7mCyiU5WSLFqUnHVWcvvtycUXJ8cdl2y6adPJGE+lJIsXJz/7WX0MPOtZTSeC7mCyCABapiyie5gsotM85znJRz6SrFiRfO97ycteVl/djN5WSj1d9pOf1JuY775704mgs5ksAoCW9TUdAEaNySI6wTOekRxzTL20bNttm05DOyul3sT8ec+ry8R3vCP57/9uOhV0HmURALRMWUT3MFlEu3rKU+ormR19dLL99k2nodOUkuy/f7Lffsn3v1+XRj/8YdOpoHNYhgYALVMW0T1mzUpmzkzuuafpJJA88Yn1BNExxyQ77th0GrrB6r2tFi1KLr00Ofnk5Ac/aDoVtD+TRQDQMnsW0V1MF9GkhQuTN76xvqrV8uXJO9+pKGJs7LtvXRhdemny3Oc2HAbanMkiAGiZsojuYt8ixtuWWyYnnljvJXPTTcnppyf9/fUUCIy1ffZJLrmkXpa2//5Np4H2ZLIIAFpmGRrdxWQR42H27OTII+slZvvsk/Q5ldKwvfZKvvOd5H/+p97T6NvfbjoRtA9lEQC0zGQR3cVkEWNlxozk2GOTiy5Kbr89OfvsesNhRRHt5DnPSb71rbo0OuigptNAe7AMDQBapiyiu5gsYjRNmZIcdVTypS8lK1cmn/lMsnixV6lpf7vvnnzjG8lPf5occkjTaaBZztkA0DJlEd3FZBGP1aRJyWGHJeedVxdEX/hC8oIXJFOnNp0MWvesZyVf/3py2WXJoYc2nQaaYbIIAFqmLKK7mCxiY0ycmBxwQHLOOckddyRf/Wry4hcnM2c2nQxGxzOfmXzta8nSpcnhhzedBsaXySIAaJmyiO5isoiRKiXZe+/kjDOSW2+tNwR+yUvqzauhW+26a/Jf/5VccUVyxBFNp4HxoSwCgJbZmZXuMnduPW6+alXTSWhXu+1WX8XsqKOUi/SuXXZJvvzl5Mork1NOSS68sOlEMHYsQwOAlimL6C4TJiS/+EVyzz3JvfeO3tt99zX9N+Ox2GmnuiB64QuT7bZrOg20j512qjdwv+qq5NRTkwsuaDoRjD6TRQDQMmUR3eepTx39r/nww8n9949uATXcm4mo0fOkJyUvelFy9NHJDjs0nQba29Ofnnzxi8mvf5288531xu5V1XQq2Hhz5ybz59d7GU6Z0nQaAOg4pWqzHwb7+/urpUuXNh0DmrFqVT3FNNalVJv9ux81225bTxAdc0w9MVFK04mgM119dV0aff7z3Xu+oDNNnVoXQKvfVhdCq/9csCCZNy+ZPLnppADQdkopl1dV1T+i+yqLoMdUVfLAA2NfSD3wwPj8febNq6eHjj66vky4gghGz7JldWn0uc/VE5YwViZMqM/nw5U/a9626abO8wCwkZRFQPMeemjspqQefjg5+OB6gmjPPZOJE5v+20J3++1vk3e9KznvPKURrZs9e8Ml0FZbOZcDwBhTFgEAo2/58ro0+uxn60KY3jZ58rrLn9V/zp+fTJvWdFIAIMoiAGAs/e53yWmnJf/xH0qjblRKPekzXPmzZjE0Z44lYQDQQZRFAMDYu/76ujQ699zkwQebTsNIzJq14SVhW2+dTJrUdFIAYJQpiwCA8XPjjXVp9OlPK42aMmlSvUH0+paELViQzJjRdFIAoCHKIgBg/N10U/Ludyef+lSyalXTabrH3Lnrv1T8/Pn1fSZMaDopANDGlEUAQHNuvjl573uTT34y+dvfmk7TvqZNe3QJtHYhNG9evZE0AMBjpCwCAJp3yy11aXT22ckDDzSdZvxMnFjv+7O+EmjBgnr/IBtEAwDjRFkEALSPFSuS970v+cQnOr80mj17w/sCbbllXRgBALQRZREA0H5uu60ujT7+8eT++5tO80iTJ294X6D585OpU5tOCgCwUZRFAED7uv325P3vT848M7nvvrF9rlKSrbba8JKw2bMtCQMAupqyCABof3fckZx+enLGGcm997b++FmzNrwkbOutk76+0c8OANBhlEUAQOdYuTL5wAeSj30s+etfk0mT1l3+rLkkbMaMppMDAHQMZREA0HnuvjtZtSrZfPNkwoSm0wAAdJVWyiJz2QBAe9hss6YTAACQxMt2AAAAAAxSFgEAAAAwSFkEAAAAwCBlEQAAAACDlEUAAAAADFIWAQAAADBIWQQAAADAIGURAAAAAIOURQAAAAAMUhYBAAAAMEhZBAAAAMAgZREAAAAAg5RFAAAAAAxSFgEAAAAwSFkEAAAAwCBlEQAAAACDlEUAAAAADFIWAQAAADBIWQQAAADAIGURAAAAAIOURQAAAAAMUhYBAAAAMEhZBAAAAMCgUlVV0xkeoZRyZ5Kbms5BV5ub5K6mQ8AAxyPtxPFIu3FM0k4cj7QTxyMbY9uqqrYYyR3briyCsVZKWVpVVX/TOSBxPNJeHI+0G8ck7cTxSDtxPDLWLEMDAAAAYJCyCAAAAIBByiJ60VlNB4A1OB5pJ45H2o1jknbieKSdOB4ZU/YsAgAAAGCQySIAAAAABimLAAAAABikLKJrlVIeV0r5finlmlLKb0oprx24/dRSylWllF+WUr5dSpnfdFZ6w7qOyTU+/0+llKqUMrepjPSO9ZwjTy6lrBg4R/6ylHJI01npfus7P5ZSXl1K+e3A7e9rMie9YT3nx/PXODfeWEr5ZdNZ6Q3rOSZ3LqX8dOCYXFpK2a3prHQPexbRtUop85LMq6rqilLKzCSXJzkiyS1VVf154D6vSfKUqqpOaDAqPWJdx2RVVVeXUh6X5JNJnpxk16qq7moyK91vPefIFyb5S1VVpzcakJ6ynuNxqyRvTbK4qqoHSilbVlW1ssmsdL/1fb9e4z4fSPKnqqpOaSonvWM958gPJ/lQVVXfGHhx581VVe3bYFS6iMkiulZVVbdVVXXFwPv3JLkmyYLVRdGA6Uk0poyLdR2TA5/+UJI3x/HIONnA8Qjjaj3H4yuTvKeqqgcGPqcoYsxt6PxYSimpi/XPNZOQXrOeY7JKMmvgbpsmubWZhHQjZRE9oZTy+CS7JPnZwMfvKqX8Psn/SfKvzSWjV615TJZSDk+yoqqqKxsNRc9a+xyZ5MSB5bqfKqXMbiwYPWmt4/FJSfYqpfyslPKDUsozm8xG7xnm/JgkeyW5o6qq5U1koretdUy+Lsn7B36vOT3JSc0lo9soi+h6pZQZSb6U5HWrp4qqqnprVVWPS3JekhObzEfvWfOYTPJg6iUWSksaMcw58swkT0yyc5LbknygwXj0mGGOx74ks5M8O8mbknxhYKoDxtxwP0MOeFFMFdGAYY7JVyZ5/cDvNa9Pck6T+egu9iyiq5VSJiW5KMm3qqr64DCf3zbJ16uq2nHcw9GT1j4mSylPS/K9JPcO3GVh6hHi3aqqur2hmPSIEZwjH5/kIudIxsNwx2Mp5Zupl6FdOvDxdUmeXVXVnY0FpSes6/xYSulLsiL1/oK3NJWP3rOOc+SfkmxWVVU1UKT/qaqqWev7OjBSJovoWgMnzHOSXLPWN/nt17jb4UmWjXc2etNwx2RVVb+qqmrLqqoeX1XV45PckuQZiiLG2nrOkfPWuNvzk/x6vLPRe9Z1PCb5SpJFA/d5UpJNkrgAAGNqPcdjkuyfZJmiiPG0nmPy1iT7DLy/KImlkYwak0V0rVLKnkl+lORXSR4euPmfk7w0yd8P3HZTkhOqqlrRSEh6yrqOyaqqLl7jPjcm6Xc1NMbaes6RL0q9BK1KcmOSV1RVdVsTGekd6zkev5vkU6mPyb8l+aeqqi5pJCQ9Y33fr0sp/57kp1VVfbypfPSe9Zwj/5zk31Iv2b0/yauqqrq8kZB0HWURAAAAAIMsQwMAAABgkLIIAAAAgEHKIgAAAAAGKYsAAAAAGKQsAgAAAGCQsggAAACAQcoiAAAAAAb9f/dl4pUNj2HdAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the points on a map \n",
    "world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))\n",
    "cities = geopandas.read_file(geopandas.datasets.get_path('naturalearth_cities'))\n",
    "\n",
    "countries = world[['geometry', 'name']]\n",
    "countries = countries.rename(columns={'name' : 'country'})\n",
    "#ax1 = (cities[cities.name == 'Sofia'])\n",
    "\n",
    "cities_with_country = geopandas.sjoin(countries, cities, how='inner', op='intersects')\n",
    "\n",
    "\n",
    "bulgaria_sofia = cities_with_country[cities_with_country.name == 'Sofia']\n",
    "ax = bulgaria_sofia.plot(color='red', figsize=(20,10))\n",
    "ax2 = sofia_geo_frame.plot(ax=ax, markersize=30, color='yellow', alpha=0.5)\n",
    "ax3 = citizen_geo_dataframe.plot(ax=ax2, markersize=20, color='black')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(876, 12)"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "citizen_geo_dataframe.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
