Skip to content

Instantly share code, notes, and snippets.

@tossolini
Created July 12, 2019 00:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tossolini/56c58978b2bd0fa0cc46003e95fc0402 to your computer and use it in GitHub Desktop.
Save tossolini/56c58978b2bd0fa0cc46003e95fc0402 to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np "
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: beautifulsoup4 in /home/jupyterlab/conda/lib/python3.6/site-packages (4.7.1)\n",
"Requirement already satisfied: soupsieve>=1.2 in /home/jupyterlab/conda/lib/python3.6/site-packages (from beautifulsoup4) (1.8)\n",
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"source": [
"pip install beautifulsoup4\n"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: lxml in /home/jupyterlab/conda/lib/python3.6/site-packages (4.3.0)\n",
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"source": [
"pip install lxml"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: requests in /home/jupyterlab/conda/lib/python3.6/site-packages (2.22.0)\n",
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /home/jupyterlab/conda/lib/python3.6/site-packages (from requests) (1.24.3)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/jupyterlab/conda/lib/python3.6/site-packages (from requests) (3.0.4)\n",
"Requirement already satisfied: idna<2.9,>=2.5 in /home/jupyterlab/conda/lib/python3.6/site-packages (from requests) (2.8)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /home/jupyterlab/conda/lib/python3.6/site-packages (from requests) (2019.6.16)\n",
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"source": [
"pip install requests"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting bs4\n",
" Downloading https://files.pythonhosted.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gz\n",
"Requirement already satisfied: beautifulsoup4 in /home/jupyterlab/conda/lib/python3.6/site-packages (from bs4) (4.7.1)\n",
"Requirement already satisfied: soupsieve>=1.2 in /home/jupyterlab/conda/lib/python3.6/site-packages (from beautifulsoup4->bs4) (1.8)\n",
"Building wheels for collected packages: bs4\n",
" Building wheel for bs4 (setup.py) ... \u001b[?25ldone\n",
"\u001b[?25h Stored in directory: /home/jupyterlab/.cache/pip/wheels/a0/b0/b2/4f80b9456b87abedbc0bf2d52235414c3467d8889be38dd472\n",
"Successfully built bs4\n",
"Installing collected packages: bs4\n",
"Successfully installed bs4-0.0.1\n",
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"source": [
"pip install bs4\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"from bs4 import BeautifulSoup\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"\n",
"with open('/resources/data/Toronto_wiki.html') as html_file:\n",
" soup = BeautifulSoup(html_file, 'lxml')\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Files in '/resources': ['First Notebook.ipynb', 'Tutorial #1 - Get Data.ipynb', '.ka_workbench', 'labs', '.jupyterlab', 'data', '.ipynb_checkpoints', 'Untitled.ipynb', 'dfs', '.log', 'Submit-to-Spark-Cluster.ipynb', 'rstudio', 'common', 'jupyter', 'Tutorial - Spark in Python0.ipynb', 'Tutorial - Spark in Python.ipynb', 'Toronto Neighborhoods.ipynb', 'zeppelin', 'Second Notebook.ipynb']\n"
]
}
],
"source": [
"import os\n",
"\n",
"cwd = os.getcwd() # Get the current working directory (cwd)\n",
"files = os.listdir(cwd) # Get all the files in that directory\n",
"print(\"Files in '%s': %s\" % (cwd, files))\n"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"table = soup.find('table')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"pd.set_option('display.max_rows', 200)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n"
]
},
{
"cell_type": "code",
"execution_count": 18,
"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>Postal Code</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M3A</td>\n",
" <td>North York</td>\n",
" <td>Parkwoods\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M4A</td>\n",
" <td>North York</td>\n",
" <td>Victoria Village\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront, Regent Park</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Regent Park\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>M6A</td>\n",
" <td>North York</td>\n",
" <td>Lawrence Heights, Lawrence Manor</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>M6A</td>\n",
" <td>North York</td>\n",
" <td>Lawrence Manor\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>M7A</td>\n",
" <td>Queen's Park</td>\n",
" <td>Queen's Park</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>M9A</td>\n",
" <td>Etobicoke</td>\n",
" <td>Islington Avenue\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge, Malvern</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Malvern\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>M3B</td>\n",
" <td>North York</td>\n",
" <td>Don Mills North\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>M4B</td>\n",
" <td>East York</td>\n",
" <td>Woodbine Gardens, Parkview Hill</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>M4B</td>\n",
" <td>East York</td>\n",
" <td>Parkview Hill\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>M5B</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Ryerson, Garden District</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>M5B</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Garden District\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>M6B</td>\n",
" <td>North York</td>\n",
" <td>Glencairn\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Cloverdale, Islington, Martin Grove, Princess ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Islington\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Martin Grove\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Princess Gardens\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>West Deane Park\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Highland Creek\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge Hill, Port Union, Highland Creek</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Port Union\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>M3C</td>\n",
" <td>North York</td>\n",
" <td>Flemingdon Park, Don Mills South</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>M3C</td>\n",
" <td>North York</td>\n",
" <td>Don Mills South\\n</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>M4C</td>\n",
" <td>East York</td>\n",
" <td>Woodbine Heights\\n</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Postal Code Borough \\\n",
"0 None None \n",
"3 M3A North York \n",
"4 M4A North York \n",
"5 M5A Downtown Toronto \n",
"6 M5A Downtown Toronto \n",
"7 M6A North York \n",
"8 M6A North York \n",
"9 M7A Queen's Park \n",
"11 M9A Etobicoke \n",
"12 M1B Scarborough \n",
"13 M1B Scarborough \n",
"15 M3B North York \n",
"16 M4B East York \n",
"17 M4B East York \n",
"18 M5B Downtown Toronto \n",
"19 M5B Downtown Toronto \n",
"20 M6B North York \n",
"23 M9B Etobicoke \n",
"24 M9B Etobicoke \n",
"25 M9B Etobicoke \n",
"26 M9B Etobicoke \n",
"27 M9B Etobicoke \n",
"28 M1C Scarborough \n",
"29 M1C Scarborough \n",
"30 M1C Scarborough \n",
"32 M3C North York \n",
"33 M3C North York \n",
"34 M4C East York \n",
"\n",
" Neighborhood \n",
"0 None \n",
"3 Parkwoods\\n \n",
"4 Victoria Village\\n \n",
"5 Harbourfront, Regent Park \n",
"6 Regent Park\\n \n",
"7 Lawrence Heights, Lawrence Manor \n",
"8 Lawrence Manor\\n \n",
"9 Queen's Park \n",
"11 Islington Avenue\\n \n",
"12 Rouge, Malvern \n",
"13 Malvern\\n \n",
"15 Don Mills North\\n \n",
"16 Woodbine Gardens, Parkview Hill \n",
"17 Parkview Hill\\n \n",
"18 Ryerson, Garden District \n",
"19 Garden District\\n \n",
"20 Glencairn\\n \n",
"23 Cloverdale, Islington, Martin Grove, Princess ... \n",
"24 Islington\\n \n",
"25 Martin Grove\\n \n",
"26 Princess Gardens\\n \n",
"27 West Deane Park\\n \n",
"28 Highland Creek\\n \n",
"29 Rouge Hill, Port Union, Highland Creek \n",
"30 Port Union\\n \n",
"32 Flemingdon Park, Don Mills South \n",
"33 Don Mills South\\n \n",
"34 Woodbine Heights\\n "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"l = []\n",
"table_rows = table.find_all('tr')\n",
"for tr in table_rows:\n",
" td = tr.find_all('td')\n",
" row = [i.text for i in td]\n",
" l.append(row)\n",
"df3 = pd.DataFrame(l, columns=[\"A\", \"B\", \"C\"])\n",
"df3\n",
"df2 = df3[df3.B != 'Not assigned']\n",
"df2\n",
"df2.columns = ['PostalCode', 'Borough', 'Neighborhood']\n",
"df2\n",
"df2[df2.Borough != 'None']\n",
"df2.at[5, 'Neighborhood'] = \"Harbourfront, Regent Park\"\n",
"df2.at[9, 'Neighborhood'] = \"Queen's Park\"\n",
"df2.at[7, 'Neighborhood'] = \"Lawrence Heights, Lawrence Manor\"\n",
"df2.at[12, 'Neighborhood'] = \"Rouge, Malvern\"\n",
"df2.at[16, 'Neighborhood'] = \"Woodbine Gardens, Parkview Hill\"\n",
"df2.at[18, 'Neighborhood'] = \"Ryerson, Garden District\"\n",
"df2.at[23, 'Neighborhood'] = \"Cloverdale, Islington, Martin Grove, Princess Gardens, West Deane Park\"\n",
"df2.at[29, 'Neighborhood'] = \"Rouge Hill, Port Union, Highland Creek\"\n",
"df2.at[32, 'Neighborhood'] = \"Flemingdon Park, Don Mills South\"\n",
"df2.at[39, 'Neighborhood'] = \"Bloordale Gardens, Eringate, Markland Wood, Old Burnhamthorpe\"\n",
"df2.at[43, 'Neighborhood'] = \"Guildwood, Morningside, West Hill, Old Burnhamthorpe\"\n",
"df2.at[64, 'Neighborhood'] = \"Hillcrest Village, Bathurst Manor, Downsview North, Wilson Heights\"\n",
"df2.at[69, 'Neighborhood'] = \"Hillcrest Village, King, Richmond\"\n",
"df2.at[72, 'Neighborhood'] = \"Dovercourt Village, Dufferin\"\n",
"df2.at[78, 'Neighborhood'] = \"Fairview, Dufferin, Henry Farm, Oriole, Northwood Park, York University\"\n",
"df2.at[84, 'Neighborhood'] = \"Harbourfront East, Toronto Island, Union Station\"\n",
"df2.at[87, 'Neighborhood'] = \"Little Portugal, Trinity\"\n",
"df2.at[93, 'Neighborhood'] = \"Loneview, Kennedy Park\"\n",
"df2.at[95, 'Neighborhood'] = \"Bayview village, CFB Toronto, Downsview East\"\n",
"df2.at[98, 'Neighborhood'] = \"The Danforth West, Riverdale\"\n",
"df2.at[100, 'Neighborhood'] = \"Design Exchange, Toronto Dominion Centre\"\n",
"df2.at[102, 'Neighborhood'] = \"Brockton, Exhibition Place, Parkdale Village\"\n",
"df2.at[108, 'Neighborhood'] = \"Clairlea, Golen Mile, Oakridge\"\n",
"df2.at[111, 'Neighborhood'] = \"Silver Hills, York Mills\"\n",
"df2.at[111, 'Neighborhood'] = \"Silver Hills, York Mills\"\n",
"df2.at[114, 'Neighborhood'] = \"The Beaches West, India Bazaar\"\n",
"df2.at[116, 'Neighborhood'] = \"Commerce court, victoria hotel\"\n",
"df2.at[118, 'Neighborhood'] = \"Downview, North Park, Upwood Park\"\n",
"df2.at[124, 'Neighborhood'] = \"Cliffcrest, Cliffside, SCarborough Village West\"\n",
"df2.at[127, 'Neighborhood'] = \"Newtonobrook, Willodale\"\n",
"df2.at[129, 'Neighborhood'] = \"Downsview central, Studio District\"\n",
"df2.at[131, 'Neighborhood'] = \"Bedford Park, Lawrence Manor East\"\n",
"df2.at[133, 'Neighborhood'] = \"Del Ray, Keelesdale, Mount Dennis, Silverthorn\"\n",
"df2.at[139, 'Neighborhood'] = \"Emery, Humberlea\"\n",
"df2.at[141, 'Neighborhood'] = \"Birch Cliff, Cliffside West\"\n",
"\n",
"\n",
"#df2.drop([0,6,8,13,17,19,24,25,26,27,28,92,30,33,40,41,42,44,45,65,66,67,70,71,\n",
" # 73,79,80,81,82,85,86,88,94,96,97,99,101,103,104,109,110,112,115,117,119,\n",
" #120,125,126,128,130,132,134,135,136,140,142,], axis=0, inplace=True)\n",
"\n",
"#df4 = df2.drop(df2[df2.index > 20].index)\n",
"\n",
"df5 = df2.drop(df2[df2.index > 34].index)\n",
"\n",
"\n",
"#df2 = df2.reset_index()\n",
"\n",
"\n",
"#df4.drop('index', axis=1)\n",
"#Other method to derive table (not used)\n",
"#dfs = pd.read_html('https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M')\n",
"#print(dfs)\n",
"#dfs=df;\n",
"df5.rename(columns={'PostalCode':'Postal Code'}, inplace=True)\n",
"df5"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"\n",
"from geopy.geocoders import Nominatim\n",
"from geopy.distance import vincenty\n",
"import datetime as DT\n",
"import hmac\n",
"import pandas as pd\n",
"import io\n",
"import requests"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(28, 3)"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"shape = df5.shape\n",
"shape "
]
},
{
"cell_type": "code",
"execution_count": 21,
"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>Postal Code</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M3A</td>\n",
" <td>North York</td>\n",
" <td>Parkwoods\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M4A</td>\n",
" <td>North York</td>\n",
" <td>Victoria Village\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront, Regent Park</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Regent Park\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>M6A</td>\n",
" <td>North York</td>\n",
" <td>Lawrence Heights, Lawrence Manor</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>M6A</td>\n",
" <td>North York</td>\n",
" <td>Lawrence Manor\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>M7A</td>\n",
" <td>Queen's Park</td>\n",
" <td>Queen's Park</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>M9A</td>\n",
" <td>Etobicoke</td>\n",
" <td>Islington Avenue\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge, Malvern</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Malvern\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>M3B</td>\n",
" <td>North York</td>\n",
" <td>Don Mills North\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>M4B</td>\n",
" <td>East York</td>\n",
" <td>Woodbine Gardens, Parkview Hill</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>M4B</td>\n",
" <td>East York</td>\n",
" <td>Parkview Hill\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>M5B</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Ryerson, Garden District</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>M5B</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Garden District\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>M6B</td>\n",
" <td>North York</td>\n",
" <td>Glencairn\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Cloverdale, Islington, Martin Grove, Princess ...</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Islington\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Martin Grove\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Princess Gardens\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>West Deane Park\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Highland Creek\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge Hill, Port Union, Highland Creek</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Port Union\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>M3C</td>\n",
" <td>North York</td>\n",
" <td>Flemingdon Park, Don Mills South</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>M3C</td>\n",
" <td>North York</td>\n",
" <td>Don Mills South\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>M4C</td>\n",
" <td>East York</td>\n",
" <td>Woodbine Heights\\n</td>\n",
" <td>abc</td>\n",
" <td>abc</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Postal Code Borough \\\n",
"0 None None \n",
"3 M3A North York \n",
"4 M4A North York \n",
"5 M5A Downtown Toronto \n",
"6 M5A Downtown Toronto \n",
"7 M6A North York \n",
"8 M6A North York \n",
"9 M7A Queen's Park \n",
"11 M9A Etobicoke \n",
"12 M1B Scarborough \n",
"13 M1B Scarborough \n",
"15 M3B North York \n",
"16 M4B East York \n",
"17 M4B East York \n",
"18 M5B Downtown Toronto \n",
"19 M5B Downtown Toronto \n",
"20 M6B North York \n",
"23 M9B Etobicoke \n",
"24 M9B Etobicoke \n",
"25 M9B Etobicoke \n",
"26 M9B Etobicoke \n",
"27 M9B Etobicoke \n",
"28 M1C Scarborough \n",
"29 M1C Scarborough \n",
"30 M1C Scarborough \n",
"32 M3C North York \n",
"33 M3C North York \n",
"34 M4C East York \n",
"\n",
" Neighborhood Latitude Longitude \n",
"0 None abc abc \n",
"3 Parkwoods\\n abc abc \n",
"4 Victoria Village\\n abc abc \n",
"5 Harbourfront, Regent Park abc abc \n",
"6 Regent Park\\n abc abc \n",
"7 Lawrence Heights, Lawrence Manor abc abc \n",
"8 Lawrence Manor\\n abc abc \n",
"9 Queen's Park abc abc \n",
"11 Islington Avenue\\n abc abc \n",
"12 Rouge, Malvern abc abc \n",
"13 Malvern\\n abc abc \n",
"15 Don Mills North\\n abc abc \n",
"16 Woodbine Gardens, Parkview Hill abc abc \n",
"17 Parkview Hill\\n abc abc \n",
"18 Ryerson, Garden District abc abc \n",
"19 Garden District\\n abc abc \n",
"20 Glencairn\\n abc abc \n",
"23 Cloverdale, Islington, Martin Grove, Princess ... abc abc \n",
"24 Islington\\n abc abc \n",
"25 Martin Grove\\n abc abc \n",
"26 Princess Gardens\\n abc abc \n",
"27 West Deane Park\\n abc abc \n",
"28 Highland Creek\\n abc abc \n",
"29 Rouge Hill, Port Union, Highland Creek abc abc \n",
"30 Port Union\\n abc abc \n",
"32 Flemingdon Park, Don Mills South abc abc \n",
"33 Don Mills South\\n abc abc \n",
"34 Woodbine Heights\\n abc abc "
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df5['Latitude']='abc'\n",
"df5['Longitude']='abc'\n",
"df5"
]
},
{
"cell_type": "code",
"execution_count": 22,
"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>Postal Code</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M1B</td>\n",
" <td>43.806686</td>\n",
" <td>-79.194353</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M1C</td>\n",
" <td>43.784535</td>\n",
" <td>-79.160497</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M1E</td>\n",
" <td>43.763573</td>\n",
" <td>-79.188711</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M1G</td>\n",
" <td>43.770992</td>\n",
" <td>-79.216917</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M1H</td>\n",
" <td>43.773136</td>\n",
" <td>-79.239476</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Postal Code Latitude Longitude\n",
"0 M1B 43.806686 -79.194353\n",
"1 M1C 43.784535 -79.160497\n",
"2 M1E 43.763573 -79.188711\n",
"3 M1G 43.770992 -79.216917\n",
"4 M1H 43.773136 -79.239476"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"url = \"http://cocl.us/Geospatial_data\"\n",
"s = requests.get(url).content\n",
"ds = pd.read_csv(io.StringIO(s.decode('utf-8')))\n",
"ds.head()"
]
},
{
"cell_type": "code",
"execution_count": 55,
"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>Postal Code</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M3A</td>\n",
" <td>North York</td>\n",
" <td>Parkwoods\\n</td>\n",
" <td>43.753259</td>\n",
" <td>-79.329656</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M4A</td>\n",
" <td>North York</td>\n",
" <td>Victoria Village\\n</td>\n",
" <td>43.725882</td>\n",
" <td>-79.315572</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront, Regent Park</td>\n",
" <td>43.654260</td>\n",
" <td>-79.360636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Regent Park\\n</td>\n",
" <td>43.654260</td>\n",
" <td>-79.360636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M6A</td>\n",
" <td>North York</td>\n",
" <td>Lawrence Heights, Lawrence Manor</td>\n",
" <td>43.718518</td>\n",
" <td>-79.464763</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>M6A</td>\n",
" <td>North York</td>\n",
" <td>Lawrence Manor\\n</td>\n",
" <td>43.718518</td>\n",
" <td>-79.464763</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>M7A</td>\n",
" <td>Queen's Park</td>\n",
" <td>Queen's Park</td>\n",
" <td>43.662301</td>\n",
" <td>-79.389494</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>M9A</td>\n",
" <td>Etobicoke</td>\n",
" <td>Islington Avenue\\n</td>\n",
" <td>43.667856</td>\n",
" <td>-79.532242</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge, Malvern</td>\n",
" <td>43.806686</td>\n",
" <td>-79.194353</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Malvern\\n</td>\n",
" <td>43.806686</td>\n",
" <td>-79.194353</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>M3B</td>\n",
" <td>North York</td>\n",
" <td>Don Mills North\\n</td>\n",
" <td>43.745906</td>\n",
" <td>-79.352188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>M4B</td>\n",
" <td>East York</td>\n",
" <td>Woodbine Gardens, Parkview Hill</td>\n",
" <td>43.706397</td>\n",
" <td>-79.309937</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>M4B</td>\n",
" <td>East York</td>\n",
" <td>Parkview Hill\\n</td>\n",
" <td>43.706397</td>\n",
" <td>-79.309937</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>M5B</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Ryerson, Garden District</td>\n",
" <td>43.657162</td>\n",
" <td>-79.378937</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>M5B</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Garden District\\n</td>\n",
" <td>43.657162</td>\n",
" <td>-79.378937</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>M6B</td>\n",
" <td>North York</td>\n",
" <td>Glencairn\\n</td>\n",
" <td>43.709577</td>\n",
" <td>-79.445073</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Cloverdale, Islington, Martin Grove, Princess ...</td>\n",
" <td>43.650943</td>\n",
" <td>-79.554724</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Islington\\n</td>\n",
" <td>43.650943</td>\n",
" <td>-79.554724</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Martin Grove\\n</td>\n",
" <td>43.650943</td>\n",
" <td>-79.554724</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>Princess Gardens\\n</td>\n",
" <td>43.650943</td>\n",
" <td>-79.554724</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>M9B</td>\n",
" <td>Etobicoke</td>\n",
" <td>West Deane Park\\n</td>\n",
" <td>43.650943</td>\n",
" <td>-79.554724</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Highland Creek\\n</td>\n",
" <td>43.784535</td>\n",
" <td>-79.160497</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge Hill, Port Union, Highland Creek</td>\n",
" <td>43.784535</td>\n",
" <td>-79.160497</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Port Union\\n</td>\n",
" <td>43.784535</td>\n",
" <td>-79.160497</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>M3C</td>\n",
" <td>North York</td>\n",
" <td>Flemingdon Park, Don Mills South</td>\n",
" <td>43.725900</td>\n",
" <td>-79.340923</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>M3C</td>\n",
" <td>North York</td>\n",
" <td>Don Mills South\\n</td>\n",
" <td>43.725900</td>\n",
" <td>-79.340923</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>M4C</td>\n",
" <td>East York</td>\n",
" <td>Woodbine Heights\\n</td>\n",
" <td>43.695344</td>\n",
" <td>-79.318389</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Postal Code Borough \\\n",
"0 M3A North York \n",
"1 M4A North York \n",
"2 M5A Downtown Toronto \n",
"3 M5A Downtown Toronto \n",
"4 M6A North York \n",
"5 M6A North York \n",
"6 M7A Queen's Park \n",
"7 M9A Etobicoke \n",
"8 M1B Scarborough \n",
"9 M1B Scarborough \n",
"10 M3B North York \n",
"11 M4B East York \n",
"12 M4B East York \n",
"13 M5B Downtown Toronto \n",
"14 M5B Downtown Toronto \n",
"15 M6B North York \n",
"16 M9B Etobicoke \n",
"17 M9B Etobicoke \n",
"18 M9B Etobicoke \n",
"19 M9B Etobicoke \n",
"20 M9B Etobicoke \n",
"21 M1C Scarborough \n",
"22 M1C Scarborough \n",
"23 M1C Scarborough \n",
"24 M3C North York \n",
"25 M3C North York \n",
"26 M4C East York \n",
"\n",
" Neighborhood Latitude Longitude \n",
"0 Parkwoods\\n 43.753259 -79.329656 \n",
"1 Victoria Village\\n 43.725882 -79.315572 \n",
"2 Harbourfront, Regent Park 43.654260 -79.360636 \n",
"3 Regent Park\\n 43.654260 -79.360636 \n",
"4 Lawrence Heights, Lawrence Manor 43.718518 -79.464763 \n",
"5 Lawrence Manor\\n 43.718518 -79.464763 \n",
"6 Queen's Park 43.662301 -79.389494 \n",
"7 Islington Avenue\\n 43.667856 -79.532242 \n",
"8 Rouge, Malvern 43.806686 -79.194353 \n",
"9 Malvern\\n 43.806686 -79.194353 \n",
"10 Don Mills North\\n 43.745906 -79.352188 \n",
"11 Woodbine Gardens, Parkview Hill 43.706397 -79.309937 \n",
"12 Parkview Hill\\n 43.706397 -79.309937 \n",
"13 Ryerson, Garden District 43.657162 -79.378937 \n",
"14 Garden District\\n 43.657162 -79.378937 \n",
"15 Glencairn\\n 43.709577 -79.445073 \n",
"16 Cloverdale, Islington, Martin Grove, Princess ... 43.650943 -79.554724 \n",
"17 Islington\\n 43.650943 -79.554724 \n",
"18 Martin Grove\\n 43.650943 -79.554724 \n",
"19 Princess Gardens\\n 43.650943 -79.554724 \n",
"20 West Deane Park\\n 43.650943 -79.554724 \n",
"21 Highland Creek\\n 43.784535 -79.160497 \n",
"22 Rouge Hill, Port Union, Highland Creek 43.784535 -79.160497 \n",
"23 Port Union\\n 43.784535 -79.160497 \n",
"24 Flemingdon Park, Don Mills South 43.725900 -79.340923 \n",
"25 Don Mills South\\n 43.725900 -79.340923 \n",
"26 Woodbine Heights\\n 43.695344 -79.318389 "
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"#ds.rename(columns={'Lat':'Latitude'}, inplace=True)\n",
"#ds.rename(columns={'Long':'Longitude'}, inplace=True)\n",
"#df5.rename(columns={'Lat':'Latitude'}, inplace=True)\n",
"#df5.rename(columns={'Long':'Longitude'}, inplace=True)\n",
"#df5.rename(columns={'PostalCode':'Postal Code'}, inplace=True)\n",
"#df5 = df5.merge(ds[['Postal Code', 'Latitude']], on=['Postal Code'])\n",
"#df5 = df5.merge(ds[['Postal Code', 'Longitude']], on=['Postal Code'])\n",
"#df5.rename(columns={'Latitude_y':'Latitude'}, inplace=True)\n",
"#df5.rename(columns={'Longitude_y':'Longitude'}, inplace=True)\n",
"#df5=df5.drop(columns=['Longitude_x'])\n",
"df5"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np # library to handle data in a vectorized manner\n",
"\n",
"import pandas as pd # library for data analsysis\n",
"pd.set_option('display.max_columns', None)\n",
"pd.set_option('display.max_rows', None)\n",
"\n",
"import json # library to handle JSON files\n",
"\n",
"#!conda install -c conda-forge geopy --yes # uncomment this line if you haven't completed the Foursquare API lab\n",
"from geopy.geocoders import Nominatim # convert an address into latitude and longitude values\n",
"\n",
"import requests # library to handle requests\n",
"from pandas.io.json import json_normalize # tranform JSON file into a pandas dataframe\n",
"\n",
"# Matplotlib and associated plotting modules\n",
"import matplotlib.cm as cm\n",
"import matplotlib.colors as colors\n",
"\n",
"# import k-means from clustering stage\n",
"from sklearn.cluster import KMeans\n",
"\n",
"#!conda install -c conda-forge folium=0.5.0 --yes # uncomment this line if you haven't completed the Foursquare API lab\n",
"import folium # map rendering library\n"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Your credentails:\n",
"CLIENT_ID: PJS5VPSQJK5GSZVFE2QVMOMLPYLINYY1XLXGOU31EELHT1MJ\n",
"CLIENT_SECRET:GPZVYLDEHPZPGQ0RPXZHNSQU2T3TDWNY2DGDP5H1H4EM5GRR\n"
]
}
],
"source": [
"CLIENT_ID = 'PJS5VPSQJK5GSZVFE2QVMOMLPYLINYY1XLXGOU31EELHT1MJ' # your Foursquare ID\n",
"CLIENT_SECRET = 'GPZVYLDEHPZPGQ0RPXZHNSQU2T3TDWNY2DGDP5H1H4EM5GRR' # your Foursquare Secret\n",
"VERSION = '20180605' # Foursquare API version\n",
"\n",
"print('Your credentails:')\n",
"print('CLIENT_ID: ' + CLIENT_ID)\n",
"print('CLIENT_SECRET:' + CLIENT_SECRET)\n"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"#results = requests.get(url).json()\n",
"#results\n",
"df5.loc[0, 'Borough']"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Latitude and longitude values of North York are 43.7532586, -79.3296565.\n"
]
}
],
"source": [
"neighborhood_latitude = df5.loc[0, 'Latitude'] # neighborhood latitude value\n",
"neighborhood_longitude = df5.loc[0, 'Longitude'] # neighborhood longitude value\n",
"\n",
"neighborhood_name = df5.loc[0, 'Borough'] # neighborhood name\n",
"\n",
"print('Latitude and longitude values of {} are {}, {}.'.format(neighborhood_name, \n",
" neighborhood_latitude, \n",
" neighborhood_longitude))\n"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'https://api.foursquare.com/v2/venues/explore?&client_id=PJS5VPSQJK5GSZVFE2QVMOMLPYLINYY1XLXGOU31EELHT1MJ&client_secret=GPZVYLDEHPZPGQ0RPXZHNSQU2T3TDWNY2DGDP5H1H4EM5GRR&v=20180605&ll=43.7532586,-79.3296565&radius=500&limit=100'"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"LIMIT = 100 # limit of number of venues returned by Foursquare API\n",
"radius = 500 # define radius\n",
"# create URL\n",
"url = 'https://api.foursquare.com/v2/venues/explore?&client_id={}&client_secret={}&v={}&ll={},{}&radius={}&limit={}'.format(\n",
" CLIENT_ID, \n",
" CLIENT_SECRET, \n",
" VERSION, \n",
" neighborhood_latitude, \n",
" neighborhood_longitude, \n",
" radius, \n",
" LIMIT)\n",
"url # display URL\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'meta': {'code': 200, 'requestId': '5d27cf0ba87921002c53f5a4'},\n",
" 'response': {'warning': {'text': \"There aren't a lot of results near you. Try something more general, reset your filters, or expand the search area.\"},\n",
" 'headerLocation': 'Parkwoods - Donalda',\n",
" 'headerFullLocation': 'Parkwoods - Donalda, Toronto',\n",
" 'headerLocationGranularity': 'neighborhood',\n",
" 'totalResults': 3,\n",
" 'suggestedBounds': {'ne': {'lat': 43.757758604500005,\n",
" 'lng': -79.32343823984928},\n",
" 'sw': {'lat': 43.7487585955, 'lng': -79.33587476015072}},\n",
" 'groups': [{'type': 'Recommended Places',\n",
" 'name': 'recommended',\n",
" 'items': [{'reasons': {'count': 0,\n",
" 'items': [{'summary': 'This spot is popular',\n",
" 'type': 'general',\n",
" 'reasonName': 'globalInteractionReason'}]},\n",
" 'venue': {'id': '4e8d9dcdd5fbbbb6b3003c7b',\n",
" 'name': 'Brookbanks Park',\n",
" 'location': {'address': 'Toronto',\n",
" 'lat': 43.751976046055574,\n",
" 'lng': -79.33214044722958,\n",
" 'labeledLatLngs': [{'label': 'display',\n",
" 'lat': 43.751976046055574,\n",
" 'lng': -79.33214044722958}],\n",
" 'distance': 245,\n",
" 'cc': 'CA',\n",
" 'city': 'Toronto',\n",
" 'state': 'ON',\n",
" 'country': 'Canada',\n",
" 'formattedAddress': ['Toronto', 'Toronto ON', 'Canada']},\n",
" 'categories': [{'id': '4bf58dd8d48988d163941735',\n",
" 'name': 'Park',\n",
" 'pluralName': 'Parks',\n",
" 'shortName': 'Park',\n",
" 'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/parks_outdoors/park_',\n",
" 'suffix': '.png'},\n",
" 'primary': True}],\n",
" 'photos': {'count': 0, 'groups': []}},\n",
" 'referralId': 'e-0-4e8d9dcdd5fbbbb6b3003c7b-0'},\n",
" {'reasons': {'count': 0,\n",
" 'items': [{'summary': 'This spot is popular',\n",
" 'type': 'general',\n",
" 'reasonName': 'globalInteractionReason'}]},\n",
" 'venue': {'id': '4e6696b6d16433b9ffff47c3',\n",
" 'name': 'KFC',\n",
" 'location': {'lat': 43.75438666345904,\n",
" 'lng': -79.3330206627504,\n",
" 'labeledLatLngs': [{'label': 'display',\n",
" 'lat': 43.75438666345904,\n",
" 'lng': -79.3330206627504}],\n",
" 'distance': 298,\n",
" 'cc': 'CA',\n",
" 'country': 'Canada',\n",
" 'formattedAddress': ['Canada']},\n",
" 'categories': [{'id': '4bf58dd8d48988d16e941735',\n",
" 'name': 'Fast Food Restaurant',\n",
" 'pluralName': 'Fast Food Restaurants',\n",
" 'shortName': 'Fast Food',\n",
" 'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/food/fastfood_',\n",
" 'suffix': '.png'},\n",
" 'primary': True}],\n",
" 'photos': {'count': 0, 'groups': []}},\n",
" 'referralId': 'e-0-4e6696b6d16433b9ffff47c3-1'},\n",
" {'reasons': {'count': 0,\n",
" 'items': [{'summary': 'This spot is popular',\n",
" 'type': 'general',\n",
" 'reasonName': 'globalInteractionReason'}]},\n",
" 'venue': {'id': '4cb11e2075ebb60cd1c4caad',\n",
" 'name': 'Variety Store',\n",
" 'location': {'address': '29 Valley Woods Road',\n",
" 'lat': 43.75197441585782,\n",
" 'lng': -79.33311418516017,\n",
" 'labeledLatLngs': [{'label': 'display',\n",
" 'lat': 43.75197441585782,\n",
" 'lng': -79.33311418516017}],\n",
" 'distance': 312,\n",
" 'cc': 'CA',\n",
" 'city': 'Toronto',\n",
" 'state': 'ON',\n",
" 'country': 'Canada',\n",
" 'formattedAddress': ['29 Valley Woods Road', 'Toronto ON', 'Canada']},\n",
" 'categories': [{'id': '4bf58dd8d48988d1f9941735',\n",
" 'name': 'Food & Drink Shop',\n",
" 'pluralName': 'Food & Drink Shops',\n",
" 'shortName': 'Food & Drink',\n",
" 'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/shops/foodanddrink_',\n",
" 'suffix': '.png'},\n",
" 'primary': True}],\n",
" 'photos': {'count': 0, 'groups': []}},\n",
" 'referralId': 'e-0-4cb11e2075ebb60cd1c4caad-2'}]}]}}"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"results = requests.get(url).json()\n",
"results\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [],
"source": [
"\n",
"def get_category_type(row):\n",
" try:\n",
" categories_list = row['categories']\n",
" except:\n",
" categories_list = row['venue.categories']\n",
" \n",
" if len(categories_list) == 0:\n",
" return None\n",
" else:\n",
" return categories_list[0]['name']"
]
},
{
"cell_type": "code",
"execution_count": 62,
"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>name</th>\n",
" <th>categories</th>\n",
" <th>lat</th>\n",
" <th>lng</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Brookbanks Park</td>\n",
" <td>Park</td>\n",
" <td>43.751976</td>\n",
" <td>-79.332140</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>KFC</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>43.754387</td>\n",
" <td>-79.333021</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Variety Store</td>\n",
" <td>Food &amp; Drink Shop</td>\n",
" <td>43.751974</td>\n",
" <td>-79.333114</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" name categories lat lng\n",
"0 Brookbanks Park Park 43.751976 -79.332140\n",
"1 KFC Fast Food Restaurant 43.754387 -79.333021\n",
"2 Variety Store Food & Drink Shop 43.751974 -79.333114"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"venues = results['response']['groups'][0]['items']\n",
" \n",
"nearby_venues = json_normalize(venues) # flatten JSON\n",
"\n",
"# filter columns\n",
"filtered_columns = ['venue.name', 'venue.categories', 'venue.location.lat', 'venue.location.lng']\n",
"nearby_venues =nearby_venues.loc[:, filtered_columns]\n",
"\n",
"# filter the category for each row\n",
"nearby_venues['venue.categories'] = nearby_venues.apply(get_category_type, axis=1)\n",
"\n",
"# clean columns\n",
"nearby_venues.columns = [col.split(\".\")[-1] for col in nearby_venues.columns]\n",
"\n",
"nearby_venues.head()"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3 venues were returned by Foursquare.\n"
]
}
],
"source": [
"print('{} venues were returned by Foursquare.'.format(nearby_venues.shape[0]))"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [],
"source": [
"def getNearbyVenues(names, latitudes, longitudes, radius=500):\n",
" \n",
" venues_list=[]\n",
" for name, lat, lng in zip(names, latitudes, longitudes):\n",
" print(name)\n",
" \n",
" # create the API request URL\n",
" url = 'https://api.foursquare.com/v2/venues/explore?&client_id={}&client_secret={}&v={}&ll={},{}&radius={}&limit={}'.format(\n",
" CLIENT_ID, \n",
" CLIENT_SECRET, \n",
" VERSION, \n",
" lat, \n",
" lng, \n",
" radius, \n",
" LIMIT)\n",
" \n",
" # make the GET request\n",
" results = requests.get(url).json()[\"response\"]['groups'][0]['items']\n",
" \n",
" # return only relevant information for each nearby venue\n",
" venues_list.append([(\n",
" name, \n",
" lat, \n",
" lng, \n",
" v['venue']['name'], \n",
" v['venue']['location']['lat'], \n",
" v['venue']['location']['lng'], \n",
" v['venue']['categories'][0]['name']) for v in results])\n",
"\n",
" nearby_venues = pd.DataFrame([item for venue_list in venues_list for item in venue_list])\n",
" nearby_venues.columns = ['Neighborhood', \n",
" 'Neighborhood Latitude', \n",
" 'Neighborhood Longitude', \n",
" 'Venue', \n",
" 'Venue Latitude', \n",
" 'Venue Longitude', \n",
" 'Venue Category']\n",
" \n",
" return(nearby_venues)"
]
},
{
"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>name</th>\n",
" <th>categories</th>\n",
" <th>lat</th>\n",
" <th>lng</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Brookbanks Park</td>\n",
" <td>Park</td>\n",
" <td>43.751976</td>\n",
" <td>-79.332140</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>KFC</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>43.754387</td>\n",
" <td>-79.333021</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Variety Store</td>\n",
" <td>Food &amp; Drink Shop</td>\n",
" <td>43.751974</td>\n",
" <td>-79.333114</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" name categories lat lng\n",
"0 Brookbanks Park Park 43.751976 -79.332140\n",
"1 KFC Fast Food Restaurant 43.754387 -79.333021\n",
"2 Variety Store Food & Drink Shop 43.751974 -79.333114"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"\n",
"venues = results['response']['groups'][0]['items']\n",
" \n",
"nearby_venues = json_normalize(venues) # flatten JSON\n",
"\n",
"# filter columns\n",
"filtered_columns = ['venue.name', 'venue.categories', 'venue.location.lat', 'venue.location.lng']\n",
"nearby_venues =nearby_venues.loc[:, filtered_columns]\n",
"\n",
"# filter the category for each row\n",
"nearby_venues['venue.categories'] = nearby_venues.apply(get_category_type, axis=1)\n",
"\n",
"# clean columns\n",
"nearby_venues.columns = [col.split(\".\")[-1] for col in nearby_venues.columns]\n",
"\n",
"nearby_venues.head()"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Parkwoods\n",
"\n",
"Victoria Village\n",
"\n",
"Harbourfront, Regent Park\n",
"Regent Park\n",
"\n",
"Lawrence Heights, Lawrence Manor\n",
"Lawrence Manor\n",
"\n",
"Queen's Park\n",
"Islington Avenue\n",
"\n",
"Rouge, Malvern\n",
"Malvern\n",
"\n",
"Don Mills North\n",
"\n",
"Woodbine Gardens, Parkview Hill\n",
"Parkview Hill\n",
"\n",
"Ryerson, Garden District\n",
"Garden District\n",
"\n",
"Glencairn\n",
"\n",
"Cloverdale, Islington, Martin Grove, Princess Gardens, West Deane Park\n",
"Islington\n",
"\n",
"Martin Grove\n",
"\n",
"Princess Gardens\n",
"\n",
"West Deane Park\n",
"\n",
"Highland Creek\n",
"\n",
"Rouge Hill, Port Union, Highland Creek\n",
"Port Union\n",
"\n",
"Flemingdon Park, Don Mills South\n",
"Don Mills South\n",
"\n",
"Woodbine Heights\n",
"\n"
]
}
],
"source": [
"toronto_venues = getNearbyVenues(names=df5['Neighborhood'],\n",
" latitudes=df5['Latitude'],\n",
" longitudes=df5['Longitude'])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(469, 7)\n"
]
},
{
"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>Neighborhood</th>\n",
" <th>Neighborhood Latitude</th>\n",
" <th>Neighborhood Longitude</th>\n",
" <th>Venue</th>\n",
" <th>Venue Latitude</th>\n",
" <th>Venue Longitude</th>\n",
" <th>Venue Category</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Parkwoods\\n</td>\n",
" <td>43.753259</td>\n",
" <td>-79.329656</td>\n",
" <td>Brookbanks Park</td>\n",
" <td>43.751976</td>\n",
" <td>-79.332140</td>\n",
" <td>Park</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Parkwoods\\n</td>\n",
" <td>43.753259</td>\n",
" <td>-79.329656</td>\n",
" <td>KFC</td>\n",
" <td>43.754387</td>\n",
" <td>-79.333021</td>\n",
" <td>Fast Food Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Parkwoods\\n</td>\n",
" <td>43.753259</td>\n",
" <td>-79.329656</td>\n",
" <td>Variety Store</td>\n",
" <td>43.751974</td>\n",
" <td>-79.333114</td>\n",
" <td>Food &amp; Drink Shop</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Victoria Village\\n</td>\n",
" <td>43.725882</td>\n",
" <td>-79.315572</td>\n",
" <td>Victoria Village Arena</td>\n",
" <td>43.723481</td>\n",
" <td>-79.315635</td>\n",
" <td>Hockey Arena</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Victoria Village\\n</td>\n",
" <td>43.725882</td>\n",
" <td>-79.315572</td>\n",
" <td>Tim Hortons</td>\n",
" <td>43.725517</td>\n",
" <td>-79.313103</td>\n",
" <td>Coffee Shop</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Neighborhood Neighborhood Latitude Neighborhood Longitude \\\n",
"0 Parkwoods\\n 43.753259 -79.329656 \n",
"1 Parkwoods\\n 43.753259 -79.329656 \n",
"2 Parkwoods\\n 43.753259 -79.329656 \n",
"3 Victoria Village\\n 43.725882 -79.315572 \n",
"4 Victoria Village\\n 43.725882 -79.315572 \n",
"\n",
" Venue Venue Latitude Venue Longitude \\\n",
"0 Brookbanks Park 43.751976 -79.332140 \n",
"1 KFC 43.754387 -79.333021 \n",
"2 Variety Store 43.751974 -79.333114 \n",
"3 Victoria Village Arena 43.723481 -79.315635 \n",
"4 Tim Hortons 43.725517 -79.313103 \n",
"\n",
" Venue Category \n",
"0 Park \n",
"1 Fast Food Restaurant \n",
"2 Food & Drink Shop \n",
"3 Hockey Arena \n",
"4 Coffee Shop "
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(toronto_venues.shape)\n",
"toronto_venues.head()"
]
},
{
"cell_type": "code",
"execution_count": 68,
"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>Neighborhood Latitude</th>\n",
" <th>Neighborhood Longitude</th>\n",
" <th>Venue</th>\n",
" <th>Venue Latitude</th>\n",
" <th>Venue Longitude</th>\n",
" <th>Venue Category</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Neighborhood</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>Cloverdale, Islington, Martin Grove, Princess Gardens, West Deane Park</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Don Mills North\\n</th>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Don Mills South\\n</th>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Flemingdon Park, Don Mills South</th>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Garden District\\n</th>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Glencairn\\n</th>\n",
" <td>6</td>\n",
" <td>6</td>\n",
" <td>6</td>\n",
" <td>6</td>\n",
" <td>6</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Harbourfront, Regent Park</th>\n",
" <td>50</td>\n",
" <td>50</td>\n",
" <td>50</td>\n",
" <td>50</td>\n",
" <td>50</td>\n",
" <td>50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Highland Creek\\n</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Islington\\n</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Lawrence Heights, Lawrence Manor</th>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Lawrence Manor\\n</th>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Malvern\\n</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Martin Grove\\n</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Parkview Hill\\n</th>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Parkwoods\\n</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Port Union\\n</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Princess Gardens\\n</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Queen's Park</th>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Regent Park\\n</th>\n",
" <td>50</td>\n",
" <td>50</td>\n",
" <td>50</td>\n",
" <td>50</td>\n",
" <td>50</td>\n",
" <td>50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Rouge Hill, Port Union, Highland Creek</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Rouge, Malvern</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ryerson, Garden District</th>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Victoria Village\\n</th>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>West Deane Park\\n</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Woodbine Gardens, Parkview Hill</th>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Woodbine Heights\\n</th>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Neighborhood Latitude \\\n",
"Neighborhood \n",
"Cloverdale, Islington, Martin Grove, Princess G... 1 \n",
"Don Mills North\\n 5 \n",
"Don Mills South\\n 22 \n",
"Flemingdon Park, Don Mills South 22 \n",
"Garden District\\n 100 \n",
"Glencairn\\n 6 \n",
"Harbourfront, Regent Park 50 \n",
"Highland Creek\\n 1 \n",
"Islington\\n 1 \n",
"Lawrence Heights, Lawrence Manor 11 \n",
"Lawrence Manor\\n 11 \n",
"Malvern\\n 2 \n",
"Martin Grove\\n 1 \n",
"Parkview Hill\\n 13 \n",
"Parkwoods\\n 3 \n",
"Port Union\\n 1 \n",
"Princess Gardens\\n 1 \n",
"Queen's Park 39 \n",
"Regent Park\\n 50 \n",
"Rouge Hill, Port Union, Highland Creek 1 \n",
"Rouge, Malvern 2 \n",
"Ryerson, Garden District 100 \n",
"Victoria Village\\n 4 \n",
"West Deane Park\\n 1 \n",
"Woodbine Gardens, Parkview Hill 13 \n",
"Woodbine Heights\\n 8 \n",
"\n",
" Neighborhood Longitude \\\n",
"Neighborhood \n",
"Cloverdale, Islington, Martin Grove, Princess G... 1 \n",
"Don Mills North\\n 5 \n",
"Don Mills South\\n 22 \n",
"Flemingdon Park, Don Mills South 22 \n",
"Garden District\\n 100 \n",
"Glencairn\\n 6 \n",
"Harbourfront, Regent Park 50 \n",
"Highland Creek\\n 1 \n",
"Islington\\n 1 \n",
"Lawrence Heights, Lawrence Manor 11 \n",
"Lawrence Manor\\n 11 \n",
"Malvern\\n 2 \n",
"Martin Grove\\n 1 \n",
"Parkview Hill\\n 13 \n",
"Parkwoods\\n 3 \n",
"Port Union\\n 1 \n",
"Princess Gardens\\n 1 \n",
"Queen's Park 39 \n",
"Regent Park\\n 50 \n",
"Rouge Hill, Port Union, Highland Creek 1 \n",
"Rouge, Malvern 2 \n",
"Ryerson, Garden District 100 \n",
"Victoria Village\\n 4 \n",
"West Deane Park\\n 1 \n",
"Woodbine Gardens, Parkview Hill 13 \n",
"Woodbine Heights\\n 8 \n",
"\n",
" Venue Venue Latitude \\\n",
"Neighborhood \n",
"Cloverdale, Islington, Martin Grove, Princess G... 1 1 \n",
"Don Mills North\\n 5 5 \n",
"Don Mills South\\n 22 22 \n",
"Flemingdon Park, Don Mills South 22 22 \n",
"Garden District\\n 100 100 \n",
"Glencairn\\n 6 6 \n",
"Harbourfront, Regent Park 50 50 \n",
"Highland Creek\\n 1 1 \n",
"Islington\\n 1 1 \n",
"Lawrence Heights, Lawrence Manor 11 11 \n",
"Lawrence Manor\\n 11 11 \n",
"Malvern\\n 2 2 \n",
"Martin Grove\\n 1 1 \n",
"Parkview Hill\\n 13 13 \n",
"Parkwoods\\n 3 3 \n",
"Port Union\\n 1 1 \n",
"Princess Gardens\\n 1 1 \n",
"Queen's Park 39 39 \n",
"Regent Park\\n 50 50 \n",
"Rouge Hill, Port Union, Highland Creek 1 1 \n",
"Rouge, Malvern 2 2 \n",
"Ryerson, Garden District 100 100 \n",
"Victoria Village\\n 4 4 \n",
"West Deane Park\\n 1 1 \n",
"Woodbine Gardens, Parkview Hill 13 13 \n",
"Woodbine Heights\\n 8 8 \n",
"\n",
" Venue Longitude \\\n",
"Neighborhood \n",
"Cloverdale, Islington, Martin Grove, Princess G... 1 \n",
"Don Mills North\\n 5 \n",
"Don Mills South\\n 22 \n",
"Flemingdon Park, Don Mills South 22 \n",
"Garden District\\n 100 \n",
"Glencairn\\n 6 \n",
"Harbourfront, Regent Park 50 \n",
"Highland Creek\\n 1 \n",
"Islington\\n 1 \n",
"Lawrence Heights, Lawrence Manor 11 \n",
"Lawrence Manor\\n 11 \n",
"Malvern\\n 2 \n",
"Martin Grove\\n 1 \n",
"Parkview Hill\\n 13 \n",
"Parkwoods\\n 3 \n",
"Port Union\\n 1 \n",
"Princess Gardens\\n 1 \n",
"Queen's Park 39 \n",
"Regent Park\\n 50 \n",
"Rouge Hill, Port Union, Highland Creek 1 \n",
"Rouge, Malvern 2 \n",
"Ryerson, Garden District 100 \n",
"Victoria Village\\n 4 \n",
"West Deane Park\\n 1 \n",
"Woodbine Gardens, Parkview Hill 13 \n",
"Woodbine Heights\\n 8 \n",
"\n",
" Venue Category \n",
"Neighborhood \n",
"Cloverdale, Islington, Martin Grove, Princess G... 1 \n",
"Don Mills North\\n 5 \n",
"Don Mills South\\n 22 \n",
"Flemingdon Park, Don Mills South 22 \n",
"Garden District\\n 100 \n",
"Glencairn\\n 6 \n",
"Harbourfront, Regent Park 50 \n",
"Highland Creek\\n 1 \n",
"Islington\\n 1 \n",
"Lawrence Heights, Lawrence Manor 11 \n",
"Lawrence Manor\\n 11 \n",
"Malvern\\n 2 \n",
"Martin Grove\\n 1 \n",
"Parkview Hill\\n 13 \n",
"Parkwoods\\n 3 \n",
"Port Union\\n 1 \n",
"Princess Gardens\\n 1 \n",
"Queen's Park 39 \n",
"Regent Park\\n 50 \n",
"Rouge Hill, Port Union, Highland Creek 1 \n",
"Rouge, Malvern 2 \n",
"Ryerson, Garden District 100 \n",
"Victoria Village\\n 4 \n",
"West Deane Park\\n 1 \n",
"Woodbine Gardens, Parkview Hill 13 \n",
"Woodbine Heights\\n 8 "
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_venues.groupby('Neighborhood').count()"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"There are 113 uniques categories.\n"
]
}
],
"source": [
"print('There are {} uniques categories.'.format(len(toronto_venues['Venue Category'].unique())))"
]
},
{
"cell_type": "code",
"execution_count": 70,
"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>Neighborhood</th>\n",
" <th>Accessories Store</th>\n",
" <th>American Restaurant</th>\n",
" <th>Antique Shop</th>\n",
" <th>Art Gallery</th>\n",
" <th>Arts &amp; Crafts Store</th>\n",
" <th>Asian Restaurant</th>\n",
" <th>Athletics &amp; Sports</th>\n",
" <th>Bakery</th>\n",
" <th>Bank</th>\n",
" <th>Bar</th>\n",
" <th>Basketball Court</th>\n",
" <th>Beer Bar</th>\n",
" <th>Beer Store</th>\n",
" <th>Bike Shop</th>\n",
" <th>Bookstore</th>\n",
" <th>Boutique</th>\n",
" <th>Breakfast Spot</th>\n",
" <th>Brewery</th>\n",
" <th>Bubble Tea Shop</th>\n",
" <th>Burger Joint</th>\n",
" <th>Burrito Place</th>\n",
" <th>Café</th>\n",
" <th>Caribbean Restaurant</th>\n",
" <th>Chinese Restaurant</th>\n",
" <th>Chocolate Shop</th>\n",
" <th>Clothing Store</th>\n",
" <th>Coffee Shop</th>\n",
" <th>College Auditorium</th>\n",
" <th>College Cafeteria</th>\n",
" <th>College Rec Center</th>\n",
" <th>Comic Shop</th>\n",
" <th>Cosmetics Shop</th>\n",
" <th>Creperie</th>\n",
" <th>Curling Ice</th>\n",
" <th>Dance Studio</th>\n",
" <th>Department Store</th>\n",
" <th>Dessert Shop</th>\n",
" <th>Dim Sum Restaurant</th>\n",
" <th>Diner</th>\n",
" <th>Discount Store</th>\n",
" <th>Electronics Store</th>\n",
" <th>Ethiopian Restaurant</th>\n",
" <th>Event Space</th>\n",
" <th>Farmers Market</th>\n",
" <th>Fast Food Restaurant</th>\n",
" <th>Food &amp; Drink Shop</th>\n",
" <th>French Restaurant</th>\n",
" <th>Furniture / Home Store</th>\n",
" <th>Gastropub</th>\n",
" <th>General Entertainment</th>\n",
" <th>Grocery Store</th>\n",
" <th>Gym</th>\n",
" <th>Gym / Fitness Center</th>\n",
" <th>Health Food Store</th>\n",
" <th>Historic Site</th>\n",
" <th>Hobby Shop</th>\n",
" <th>Hockey Arena</th>\n",
" <th>Hookah Bar</th>\n",
" <th>Hotel</th>\n",
" <th>Ice Cream Shop</th>\n",
" <th>Intersection</th>\n",
" <th>Italian Restaurant</th>\n",
" <th>Japanese Restaurant</th>\n",
" <th>Lake</th>\n",
" <th>Lingerie Store</th>\n",
" <th>Lounge</th>\n",
" <th>Mexican Restaurant</th>\n",
" <th>Middle Eastern Restaurant</th>\n",
" <th>Miscellaneous Shop</th>\n",
" <th>Modern European Restaurant</th>\n",
" <th>Movie Theater</th>\n",
" <th>Music Venue</th>\n",
" <th>Nightclub</th>\n",
" <th>Office</th>\n",
" <th>Other Great Outdoors</th>\n",
" <th>Park</th>\n",
" <th>Performing Arts Venue</th>\n",
" <th>Pet Store</th>\n",
" <th>Pharmacy</th>\n",
" <th>Pizza Place</th>\n",
" <th>Playground</th>\n",
" <th>Plaza</th>\n",
" <th>Portuguese Restaurant</th>\n",
" <th>Poutine Place</th>\n",
" <th>Print Shop</th>\n",
" <th>Pub</th>\n",
" <th>Ramen Restaurant</th>\n",
" <th>Restaurant</th>\n",
" <th>Sandwich Place</th>\n",
" <th>Seafood Restaurant</th>\n",
" <th>Shoe Store</th>\n",
" <th>Shopping Mall</th>\n",
" <th>Skating Rink</th>\n",
" <th>Smoke Shop</th>\n",
" <th>Smoothie Shop</th>\n",
" <th>Spa</th>\n",
" <th>Sporting Goods Shop</th>\n",
" <th>Steakhouse</th>\n",
" <th>Sushi Restaurant</th>\n",
" <th>Taco Place</th>\n",
" <th>Tanning Salon</th>\n",
" <th>Tea Room</th>\n",
" <th>Thai Restaurant</th>\n",
" <th>Theater</th>\n",
" <th>Toy / Game Store</th>\n",
" <th>Vegetarian / Vegan Restaurant</th>\n",
" <th>Video Game Store</th>\n",
" <th>Video Store</th>\n",
" <th>Vietnamese Restaurant</th>\n",
" <th>Wine Bar</th>\n",
" <th>Wings Joint</th>\n",
" <th>Women's Store</th>\n",
" <th>Yoga Studio</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Parkwoods\\n</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Parkwoods\\n</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Parkwoods\\n</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Victoria Village\\n</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Victoria Village\\n</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Neighborhood Accessories Store American Restaurant Antique Shop \\\n",
"0 Parkwoods\\n 0 0 0 \n",
"1 Parkwoods\\n 0 0 0 \n",
"2 Parkwoods\\n 0 0 0 \n",
"3 Victoria Village\\n 0 0 0 \n",
"4 Victoria Village\\n 0 0 0 \n",
"\n",
" Art Gallery Arts & Crafts Store Asian Restaurant Athletics & Sports \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Bakery Bank Bar Basketball Court Beer Bar Beer Store Bike Shop \\\n",
"0 0 0 0 0 0 0 0 \n",
"1 0 0 0 0 0 0 0 \n",
"2 0 0 0 0 0 0 0 \n",
"3 0 0 0 0 0 0 0 \n",
"4 0 0 0 0 0 0 0 \n",
"\n",
" Bookstore Boutique Breakfast Spot Brewery Bubble Tea Shop \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Burger Joint Burrito Place Café Caribbean Restaurant \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Chinese Restaurant Chocolate Shop Clothing Store Coffee Shop \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 1 \n",
"\n",
" College Auditorium College Cafeteria College Rec Center Comic Shop \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Cosmetics Shop Creperie Curling Ice Dance Studio Department Store \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Dessert Shop Dim Sum Restaurant Diner Discount Store Electronics Store \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Ethiopian Restaurant Event Space Farmers Market Fast Food Restaurant \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 1 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Food & Drink Shop French Restaurant Furniture / Home Store Gastropub \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 1 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" General Entertainment Grocery Store Gym Gym / Fitness Center \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Health Food Store Historic Site Hobby Shop Hockey Arena Hookah Bar \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 1 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Hotel Ice Cream Shop Intersection Italian Restaurant \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Japanese Restaurant Lake Lingerie Store Lounge Mexican Restaurant \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Middle Eastern Restaurant Miscellaneous Shop Modern European Restaurant \\\n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"\n",
" Movie Theater Music Venue Nightclub Office Other Great Outdoors Park \\\n",
"0 0 0 0 0 0 1 \n",
"1 0 0 0 0 0 0 \n",
"2 0 0 0 0 0 0 \n",
"3 0 0 0 0 0 0 \n",
"4 0 0 0 0 0 0 \n",
"\n",
" Performing Arts Venue Pet Store Pharmacy Pizza Place Playground Plaza \\\n",
"0 0 0 0 0 0 0 \n",
"1 0 0 0 0 0 0 \n",
"2 0 0 0 0 0 0 \n",
"3 0 0 0 0 0 0 \n",
"4 0 0 0 0 0 0 \n",
"\n",
" Portuguese Restaurant Poutine Place Print Shop Pub Ramen Restaurant \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Restaurant Sandwich Place Seafood Restaurant Shoe Store Shopping Mall \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Skating Rink Smoke Shop Smoothie Shop Spa Sporting Goods Shop \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Steakhouse Sushi Restaurant Taco Place Tanning Salon Tea Room \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Thai Restaurant Theater Toy / Game Store Vegetarian / Vegan Restaurant \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Video Game Store Video Store Vietnamese Restaurant Wine Bar \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Wings Joint Women's Store Yoga Studio \n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 "
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# one hot encoding\n",
"toronto_onehot = pd.get_dummies(toronto_venues[['Venue Category']], prefix=\"\", prefix_sep=\"\")\n",
"\n",
"# add neighborhood column back to dataframe\n",
"toronto_onehot['Neighborhood'] = toronto_venues['Neighborhood'] \n",
"\n",
"# move neighborhood column to the first column\n",
"fixed_columns = [toronto_onehot.columns[-1]] + list(toronto_onehot.columns[:-1])\n",
"toronto_onehot = toronto_onehot[fixed_columns]\n",
"\n",
"toronto_onehot.head()"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(469, 114)"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_onehot.shape"
]
},
{
"cell_type": "code",
"execution_count": 72,
"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>Neighborhood</th>\n",
" <th>Accessories Store</th>\n",
" <th>American Restaurant</th>\n",
" <th>Antique Shop</th>\n",
" <th>Art Gallery</th>\n",
" <th>Arts &amp; Crafts Store</th>\n",
" <th>Asian Restaurant</th>\n",
" <th>Athletics &amp; Sports</th>\n",
" <th>Bakery</th>\n",
" <th>Bank</th>\n",
" <th>Bar</th>\n",
" <th>Basketball Court</th>\n",
" <th>Beer Bar</th>\n",
" <th>Beer Store</th>\n",
" <th>Bike Shop</th>\n",
" <th>Bookstore</th>\n",
" <th>Boutique</th>\n",
" <th>Breakfast Spot</th>\n",
" <th>Brewery</th>\n",
" <th>Bubble Tea Shop</th>\n",
" <th>Burger Joint</th>\n",
" <th>Burrito Place</th>\n",
" <th>Café</th>\n",
" <th>Caribbean Restaurant</th>\n",
" <th>Chinese Restaurant</th>\n",
" <th>Chocolate Shop</th>\n",
" <th>Clothing Store</th>\n",
" <th>Coffee Shop</th>\n",
" <th>College Auditorium</th>\n",
" <th>College Cafeteria</th>\n",
" <th>College Rec Center</th>\n",
" <th>Comic Shop</th>\n",
" <th>Cosmetics Shop</th>\n",
" <th>Creperie</th>\n",
" <th>Curling Ice</th>\n",
" <th>Dance Studio</th>\n",
" <th>Department Store</th>\n",
" <th>Dessert Shop</th>\n",
" <th>Dim Sum Restaurant</th>\n",
" <th>Diner</th>\n",
" <th>Discount Store</th>\n",
" <th>Electronics Store</th>\n",
" <th>Ethiopian Restaurant</th>\n",
" <th>Event Space</th>\n",
" <th>Farmers Market</th>\n",
" <th>Fast Food Restaurant</th>\n",
" <th>Food &amp; Drink Shop</th>\n",
" <th>French Restaurant</th>\n",
" <th>Furniture / Home Store</th>\n",
" <th>Gastropub</th>\n",
" <th>General Entertainment</th>\n",
" <th>Grocery Store</th>\n",
" <th>Gym</th>\n",
" <th>Gym / Fitness Center</th>\n",
" <th>Health Food Store</th>\n",
" <th>Historic Site</th>\n",
" <th>Hobby Shop</th>\n",
" <th>Hockey Arena</th>\n",
" <th>Hookah Bar</th>\n",
" <th>Hotel</th>\n",
" <th>Ice Cream Shop</th>\n",
" <th>Intersection</th>\n",
" <th>Italian Restaurant</th>\n",
" <th>Japanese Restaurant</th>\n",
" <th>Lake</th>\n",
" <th>Lingerie Store</th>\n",
" <th>Lounge</th>\n",
" <th>Mexican Restaurant</th>\n",
" <th>Middle Eastern Restaurant</th>\n",
" <th>Miscellaneous Shop</th>\n",
" <th>Modern European Restaurant</th>\n",
" <th>Movie Theater</th>\n",
" <th>Music Venue</th>\n",
" <th>Nightclub</th>\n",
" <th>Office</th>\n",
" <th>Other Great Outdoors</th>\n",
" <th>Park</th>\n",
" <th>Performing Arts Venue</th>\n",
" <th>Pet Store</th>\n",
" <th>Pharmacy</th>\n",
" <th>Pizza Place</th>\n",
" <th>Playground</th>\n",
" <th>Plaza</th>\n",
" <th>Portuguese Restaurant</th>\n",
" <th>Poutine Place</th>\n",
" <th>Print Shop</th>\n",
" <th>Pub</th>\n",
" <th>Ramen Restaurant</th>\n",
" <th>Restaurant</th>\n",
" <th>Sandwich Place</th>\n",
" <th>Seafood Restaurant</th>\n",
" <th>Shoe Store</th>\n",
" <th>Shopping Mall</th>\n",
" <th>Skating Rink</th>\n",
" <th>Smoke Shop</th>\n",
" <th>Smoothie Shop</th>\n",
" <th>Spa</th>\n",
" <th>Sporting Goods Shop</th>\n",
" <th>Steakhouse</th>\n",
" <th>Sushi Restaurant</th>\n",
" <th>Taco Place</th>\n",
" <th>Tanning Salon</th>\n",
" <th>Tea Room</th>\n",
" <th>Thai Restaurant</th>\n",
" <th>Theater</th>\n",
" <th>Toy / Game Store</th>\n",
" <th>Vegetarian / Vegan Restaurant</th>\n",
" <th>Video Game Store</th>\n",
" <th>Video Store</th>\n",
" <th>Vietnamese Restaurant</th>\n",
" <th>Wine Bar</th>\n",
" <th>Wings Joint</th>\n",
" <th>Women's Store</th>\n",
" <th>Yoga Studio</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Cloverdale, Islington, Martin Grove, Princess ...</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Don Mills North\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.2</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.200000</td>\n",
" <td>0.2</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.200000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.200000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Don Mills South\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.090909</td>\n",
" <td>0.045455</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.045455</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.045455</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.045455</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Flemingdon Park, Don Mills South</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.090909</td>\n",
" <td>0.045455</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.045455</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.045455</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.045455</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Garden District\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.00</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.02</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.030000</td>\n",
" <td>0.0</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.070000</td>\n",
" <td>0.090000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.040</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.020000</td>\n",
" <td>0.01</td>\n",
" <td>0.02</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.0</td>\n",
" <td>0.010000</td>\n",
" <td>0.02</td>\n",
" <td>0.020000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.02</td>\n",
" <td>0.01</td>\n",
" <td>0.020000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.000</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>Glencairn\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.166667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.166667</td>\n",
" <td>0.166667</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.166667</td>\n",
" <td>0.166667</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.166667</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Harbourfront, Regent Park</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.02</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.060000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.02</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.180000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.020</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.02</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.02</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.040000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.060000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.040000</td>\n",
" <td>0.00</td>\n",
" <td>0.040000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.040000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>Highland Creek\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>Islington\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>Lawrence Heights, Lawrence Manor</td>\n",
" <td>0.090909</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.272727</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.090909</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.090909</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.090909</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>Lawrence Manor\\n</td>\n",
" <td>0.090909</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.272727</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.090909</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.090909</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.090909</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>Malvern\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.500000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.5</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>Martin Grove\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>Parkview Hill\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.153846</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.076923</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.076923</td>\n",
" <td>0.076923</td>\n",
" <td>0.153846</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>Parkwoods\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.333333</td>\n",
" <td>0.333333</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.333333</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>Port Union\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>Princess Gardens\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>Queen's Park</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.025641</td>\n",
" <td>0.025641</td>\n",
" <td>0.0</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.256410</td>\n",
" <td>0.025641</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.051282</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.051282</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.051282</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>Regent Park\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.02</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.060000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.02</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.180000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.020</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.02</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.02</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.040000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.060000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.040000</td>\n",
" <td>0.00</td>\n",
" <td>0.040000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.040000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>Rouge Hill, Port Union, Highland Creek</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>Rouge, Malvern</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.500000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.5</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>Ryerson, Garden District</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.00</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.02</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.030000</td>\n",
" <td>0.0</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.070000</td>\n",
" <td>0.090000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.040</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.020000</td>\n",
" <td>0.01</td>\n",
" <td>0.02</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.0</td>\n",
" <td>0.010000</td>\n",
" <td>0.02</td>\n",
" <td>0.020000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.02</td>\n",
" <td>0.01</td>\n",
" <td>0.020000</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.01</td>\n",
" <td>0.000</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>Victoria Village\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.250000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.250000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.25</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.250000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>West Deane Park\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>Woodbine Gardens, Parkview Hill</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.153846</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.076923</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.076923</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.076923</td>\n",
" <td>0.076923</td>\n",
" <td>0.153846</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>Woodbine Heights\\n</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.125</td>\n",
" <td>0.000000</td>\n",
" <td>0.125</td>\n",
" <td>0.125</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.125000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.125</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.125</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Neighborhood Accessories Store \\\n",
"0 Cloverdale, Islington, Martin Grove, Princess ... 0.000000 \n",
"1 Don Mills North\\n 0.000000 \n",
"2 Don Mills South\\n 0.000000 \n",
"3 Flemingdon Park, Don Mills South 0.000000 \n",
"4 Garden District\\n 0.000000 \n",
"5 Glencairn\\n 0.000000 \n",
"6 Harbourfront, Regent Park 0.000000 \n",
"7 Highland Creek\\n 0.000000 \n",
"8 Islington\\n 0.000000 \n",
"9 Lawrence Heights, Lawrence Manor 0.090909 \n",
"10 Lawrence Manor\\n 0.090909 \n",
"11 Malvern\\n 0.000000 \n",
"12 Martin Grove\\n 0.000000 \n",
"13 Parkview Hill\\n 0.000000 \n",
"14 Parkwoods\\n 0.000000 \n",
"15 Port Union\\n 0.000000 \n",
"16 Princess Gardens\\n 0.000000 \n",
"17 Queen's Park 0.000000 \n",
"18 Regent Park\\n 0.000000 \n",
"19 Rouge Hill, Port Union, Highland Creek 0.000000 \n",
"20 Rouge, Malvern 0.000000 \n",
"21 Ryerson, Garden District 0.000000 \n",
"22 Victoria Village\\n 0.000000 \n",
"23 West Deane Park\\n 0.000000 \n",
"24 Woodbine Gardens, Parkview Hill 0.000000 \n",
"25 Woodbine Heights\\n 0.000000 \n",
"\n",
" American Restaurant Antique Shop Art Gallery Arts & Crafts Store \\\n",
"0 0.00 0.00 0.00 0.000000 \n",
"1 0.00 0.00 0.00 0.000000 \n",
"2 0.00 0.00 0.00 0.000000 \n",
"3 0.00 0.00 0.00 0.000000 \n",
"4 0.01 0.00 0.01 0.000000 \n",
"5 0.00 0.00 0.00 0.000000 \n",
"6 0.00 0.02 0.02 0.000000 \n",
"7 0.00 0.00 0.00 0.000000 \n",
"8 0.00 0.00 0.00 0.000000 \n",
"9 0.00 0.00 0.00 0.000000 \n",
"10 0.00 0.00 0.00 0.000000 \n",
"11 0.00 0.00 0.00 0.000000 \n",
"12 0.00 0.00 0.00 0.000000 \n",
"13 0.00 0.00 0.00 0.000000 \n",
"14 0.00 0.00 0.00 0.000000 \n",
"15 0.00 0.00 0.00 0.000000 \n",
"16 0.00 0.00 0.00 0.000000 \n",
"17 0.00 0.00 0.00 0.025641 \n",
"18 0.00 0.02 0.02 0.000000 \n",
"19 0.00 0.00 0.00 0.000000 \n",
"20 0.00 0.00 0.00 0.000000 \n",
"21 0.01 0.00 0.01 0.000000 \n",
"22 0.00 0.00 0.00 0.000000 \n",
"23 0.00 0.00 0.00 0.000000 \n",
"24 0.00 0.00 0.00 0.000000 \n",
"25 0.00 0.00 0.00 0.000000 \n",
"\n",
" Asian Restaurant Athletics & Sports Bakery Bank Bar \\\n",
"0 0.000000 0.000000 0.000000 1.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"2 0.090909 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.090909 0.000000 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.010000 0.010000 0.010000 \n",
"5 0.000000 0.000000 0.166667 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.060000 0.020000 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.000000 1.000000 \n",
"8 0.000000 0.000000 0.000000 1.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.000000 0.000000 1.000000 0.000000 \n",
"13 0.000000 0.076923 0.000000 0.076923 0.000000 \n",
"14 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"15 0.000000 0.000000 0.000000 0.000000 1.000000 \n",
"16 0.000000 0.000000 0.000000 1.000000 0.000000 \n",
"17 0.000000 0.000000 0.000000 0.000000 0.025641 \n",
"18 0.000000 0.000000 0.060000 0.020000 0.000000 \n",
"19 0.000000 0.000000 0.000000 0.000000 1.000000 \n",
"20 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.000000 0.010000 0.010000 0.010000 \n",
"22 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 1.000000 0.000000 \n",
"24 0.000000 0.076923 0.000000 0.076923 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Basketball Court Beer Bar Beer Store Bike Shop Bookstore Boutique \\\n",
"0 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"1 0.2 0.00 0.000000 0.000000 0.00 0.000000 \n",
"2 0.0 0.00 0.090909 0.045455 0.00 0.000000 \n",
"3 0.0 0.00 0.090909 0.045455 0.00 0.000000 \n",
"4 0.0 0.01 0.000000 0.000000 0.02 0.000000 \n",
"5 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"6 0.0 0.00 0.020000 0.000000 0.00 0.000000 \n",
"7 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"8 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"9 0.0 0.00 0.000000 0.000000 0.00 0.090909 \n",
"10 0.0 0.00 0.000000 0.000000 0.00 0.090909 \n",
"11 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"12 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"13 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"14 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"15 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"16 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"17 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"18 0.0 0.00 0.020000 0.000000 0.00 0.000000 \n",
"19 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"20 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"21 0.0 0.01 0.000000 0.000000 0.02 0.000000 \n",
"22 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"23 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"24 0.0 0.00 0.000000 0.000000 0.00 0.000000 \n",
"25 0.0 0.00 0.125000 0.000000 0.00 0.000000 \n",
"\n",
" Breakfast Spot Brewery Bubble Tea Shop Burger Joint Burrito Place \\\n",
"0 0.000000 0.00 0.00 0.000000 0.000000 \n",
"1 0.000000 0.00 0.00 0.000000 0.000000 \n",
"2 0.000000 0.00 0.00 0.000000 0.000000 \n",
"3 0.000000 0.00 0.00 0.000000 0.000000 \n",
"4 0.000000 0.00 0.02 0.010000 0.010000 \n",
"5 0.000000 0.00 0.00 0.000000 0.000000 \n",
"6 0.040000 0.02 0.00 0.000000 0.000000 \n",
"7 0.000000 0.00 0.00 0.000000 0.000000 \n",
"8 0.000000 0.00 0.00 0.000000 0.000000 \n",
"9 0.000000 0.00 0.00 0.000000 0.000000 \n",
"10 0.000000 0.00 0.00 0.000000 0.000000 \n",
"11 0.000000 0.00 0.00 0.000000 0.000000 \n",
"12 0.000000 0.00 0.00 0.000000 0.000000 \n",
"13 0.076923 0.00 0.00 0.000000 0.000000 \n",
"14 0.000000 0.00 0.00 0.000000 0.000000 \n",
"15 0.000000 0.00 0.00 0.000000 0.000000 \n",
"16 0.000000 0.00 0.00 0.000000 0.000000 \n",
"17 0.000000 0.00 0.00 0.025641 0.025641 \n",
"18 0.040000 0.02 0.00 0.000000 0.000000 \n",
"19 0.000000 0.00 0.00 0.000000 0.000000 \n",
"20 0.000000 0.00 0.00 0.000000 0.000000 \n",
"21 0.000000 0.00 0.02 0.010000 0.010000 \n",
"22 0.000000 0.00 0.00 0.000000 0.000000 \n",
"23 0.000000 0.00 0.00 0.000000 0.000000 \n",
"24 0.076923 0.00 0.00 0.000000 0.000000 \n",
"25 0.000000 0.00 0.00 0.000000 0.000000 \n",
"\n",
" Café Caribbean Restaurant Chinese Restaurant Chocolate Shop \\\n",
"0 0.000000 0.0 0.000000 0.00 \n",
"1 0.200000 0.2 0.000000 0.00 \n",
"2 0.000000 0.0 0.045455 0.00 \n",
"3 0.000000 0.0 0.045455 0.00 \n",
"4 0.030000 0.0 0.010000 0.00 \n",
"5 0.000000 0.0 0.000000 0.00 \n",
"6 0.040000 0.0 0.000000 0.02 \n",
"7 0.000000 0.0 0.000000 0.00 \n",
"8 0.000000 0.0 0.000000 0.00 \n",
"9 0.000000 0.0 0.000000 0.00 \n",
"10 0.000000 0.0 0.000000 0.00 \n",
"11 0.000000 0.0 0.000000 0.00 \n",
"12 0.000000 0.0 0.000000 0.00 \n",
"13 0.076923 0.0 0.000000 0.00 \n",
"14 0.000000 0.0 0.000000 0.00 \n",
"15 0.000000 0.0 0.000000 0.00 \n",
"16 0.000000 0.0 0.000000 0.00 \n",
"17 0.025641 0.0 0.025641 0.00 \n",
"18 0.040000 0.0 0.000000 0.02 \n",
"19 0.000000 0.0 0.000000 0.00 \n",
"20 0.000000 0.0 0.000000 0.00 \n",
"21 0.030000 0.0 0.010000 0.00 \n",
"22 0.000000 0.0 0.000000 0.00 \n",
"23 0.000000 0.0 0.000000 0.00 \n",
"24 0.076923 0.0 0.000000 0.00 \n",
"25 0.000000 0.0 0.000000 0.00 \n",
"\n",
" Clothing Store Coffee Shop College Auditorium College Cafeteria \\\n",
"0 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.000000 \n",
"2 0.045455 0.090909 0.000000 0.000000 \n",
"3 0.045455 0.090909 0.000000 0.000000 \n",
"4 0.070000 0.090000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.180000 0.000000 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.272727 0.090909 0.000000 0.000000 \n",
"10 0.272727 0.090909 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.000000 0.000000 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.000000 \n",
"14 0.000000 0.000000 0.000000 0.000000 \n",
"15 0.000000 0.000000 0.000000 0.000000 \n",
"16 0.000000 0.000000 0.000000 0.000000 \n",
"17 0.000000 0.256410 0.025641 0.025641 \n",
"18 0.000000 0.180000 0.000000 0.000000 \n",
"19 0.000000 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.000000 0.000000 \n",
"21 0.070000 0.090000 0.000000 0.000000 \n",
"22 0.000000 0.250000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" College Rec Center Comic Shop Cosmetics Shop Creperie Curling Ice \\\n",
"0 0.00 0.00 0.000 0.000000 0.000 \n",
"1 0.00 0.00 0.000 0.000000 0.000 \n",
"2 0.00 0.00 0.000 0.000000 0.000 \n",
"3 0.00 0.00 0.000 0.000000 0.000 \n",
"4 0.01 0.01 0.040 0.000000 0.000 \n",
"5 0.00 0.00 0.000 0.000000 0.000 \n",
"6 0.00 0.00 0.020 0.000000 0.000 \n",
"7 0.00 0.00 0.000 0.000000 0.000 \n",
"8 0.00 0.00 0.000 0.000000 0.000 \n",
"9 0.00 0.00 0.000 0.000000 0.000 \n",
"10 0.00 0.00 0.000 0.000000 0.000 \n",
"11 0.00 0.00 0.000 0.000000 0.000 \n",
"12 0.00 0.00 0.000 0.000000 0.000 \n",
"13 0.00 0.00 0.000 0.000000 0.000 \n",
"14 0.00 0.00 0.000 0.000000 0.000 \n",
"15 0.00 0.00 0.000 0.000000 0.000 \n",
"16 0.00 0.00 0.000 0.000000 0.000 \n",
"17 0.00 0.00 0.000 0.025641 0.000 \n",
"18 0.00 0.00 0.020 0.000000 0.000 \n",
"19 0.00 0.00 0.000 0.000000 0.000 \n",
"20 0.00 0.00 0.000 0.000000 0.000 \n",
"21 0.01 0.01 0.040 0.000000 0.000 \n",
"22 0.00 0.00 0.000 0.000000 0.000 \n",
"23 0.00 0.00 0.000 0.000000 0.000 \n",
"24 0.00 0.00 0.000 0.000000 0.000 \n",
"25 0.00 0.00 0.125 0.000000 0.125 \n",
"\n",
" Dance Studio Department Store Dessert Shop Dim Sum Restaurant \\\n",
"0 0.000 0.00 0.00 0.000000 \n",
"1 0.000 0.00 0.00 0.000000 \n",
"2 0.000 0.00 0.00 0.045455 \n",
"3 0.000 0.00 0.00 0.045455 \n",
"4 0.000 0.01 0.01 0.000000 \n",
"5 0.000 0.00 0.00 0.000000 \n",
"6 0.000 0.00 0.02 0.000000 \n",
"7 0.000 0.00 0.00 0.000000 \n",
"8 0.000 0.00 0.00 0.000000 \n",
"9 0.000 0.00 0.00 0.000000 \n",
"10 0.000 0.00 0.00 0.000000 \n",
"11 0.000 0.00 0.00 0.000000 \n",
"12 0.000 0.00 0.00 0.000000 \n",
"13 0.000 0.00 0.00 0.000000 \n",
"14 0.000 0.00 0.00 0.000000 \n",
"15 0.000 0.00 0.00 0.000000 \n",
"16 0.000 0.00 0.00 0.000000 \n",
"17 0.000 0.00 0.00 0.000000 \n",
"18 0.000 0.00 0.02 0.000000 \n",
"19 0.000 0.00 0.00 0.000000 \n",
"20 0.000 0.00 0.00 0.000000 \n",
"21 0.000 0.01 0.01 0.000000 \n",
"22 0.000 0.00 0.00 0.000000 \n",
"23 0.000 0.00 0.00 0.000000 \n",
"24 0.000 0.00 0.00 0.000000 \n",
"25 0.125 0.00 0.00 0.000000 \n",
"\n",
" Diner Discount Store Electronics Store Ethiopian Restaurant \\\n",
"0 0.000000 0.000000 0.00 0.00 \n",
"1 0.000000 0.000000 0.00 0.00 \n",
"2 0.000000 0.045455 0.00 0.00 \n",
"3 0.000000 0.045455 0.00 0.00 \n",
"4 0.020000 0.000000 0.00 0.01 \n",
"5 0.000000 0.000000 0.00 0.00 \n",
"6 0.000000 0.000000 0.02 0.00 \n",
"7 0.000000 0.000000 0.00 0.00 \n",
"8 0.000000 0.000000 0.00 0.00 \n",
"9 0.000000 0.000000 0.00 0.00 \n",
"10 0.000000 0.000000 0.00 0.00 \n",
"11 0.000000 0.000000 0.00 0.00 \n",
"12 0.000000 0.000000 0.00 0.00 \n",
"13 0.000000 0.000000 0.00 0.00 \n",
"14 0.000000 0.000000 0.00 0.00 \n",
"15 0.000000 0.000000 0.00 0.00 \n",
"16 0.000000 0.000000 0.00 0.00 \n",
"17 0.051282 0.000000 0.00 0.00 \n",
"18 0.000000 0.000000 0.02 0.00 \n",
"19 0.000000 0.000000 0.00 0.00 \n",
"20 0.000000 0.000000 0.00 0.00 \n",
"21 0.020000 0.000000 0.00 0.01 \n",
"22 0.000000 0.000000 0.00 0.00 \n",
"23 0.000000 0.000000 0.00 0.00 \n",
"24 0.000000 0.000000 0.00 0.00 \n",
"25 0.000000 0.000000 0.00 0.00 \n",
"\n",
" Event Space Farmers Market Fast Food Restaurant Food & Drink Shop \\\n",
"0 0.000000 0.00 0.000000 0.000000 \n",
"1 0.000000 0.00 0.000000 0.000000 \n",
"2 0.000000 0.00 0.045455 0.000000 \n",
"3 0.000000 0.00 0.045455 0.000000 \n",
"4 0.000000 0.00 0.030000 0.000000 \n",
"5 0.000000 0.00 0.000000 0.000000 \n",
"6 0.020000 0.02 0.000000 0.000000 \n",
"7 0.000000 0.00 0.000000 0.000000 \n",
"8 0.000000 0.00 0.000000 0.000000 \n",
"9 0.090909 0.00 0.000000 0.000000 \n",
"10 0.090909 0.00 0.000000 0.000000 \n",
"11 0.000000 0.00 0.500000 0.000000 \n",
"12 0.000000 0.00 0.000000 0.000000 \n",
"13 0.000000 0.00 0.153846 0.000000 \n",
"14 0.000000 0.00 0.333333 0.333333 \n",
"15 0.000000 0.00 0.000000 0.000000 \n",
"16 0.000000 0.00 0.000000 0.000000 \n",
"17 0.000000 0.00 0.025641 0.000000 \n",
"18 0.020000 0.02 0.000000 0.000000 \n",
"19 0.000000 0.00 0.000000 0.000000 \n",
"20 0.000000 0.00 0.500000 0.000000 \n",
"21 0.000000 0.00 0.030000 0.000000 \n",
"22 0.000000 0.00 0.000000 0.000000 \n",
"23 0.000000 0.00 0.000000 0.000000 \n",
"24 0.000000 0.00 0.153846 0.000000 \n",
"25 0.000000 0.00 0.000000 0.000000 \n",
"\n",
" French Restaurant Furniture / Home Store Gastropub \\\n",
"0 0.00 0.000000 0.000000 \n",
"1 0.00 0.000000 0.000000 \n",
"2 0.00 0.000000 0.000000 \n",
"3 0.00 0.000000 0.000000 \n",
"4 0.00 0.010000 0.010000 \n",
"5 0.00 0.000000 0.000000 \n",
"6 0.02 0.000000 0.000000 \n",
"7 0.00 0.000000 0.000000 \n",
"8 0.00 0.000000 0.000000 \n",
"9 0.00 0.090909 0.000000 \n",
"10 0.00 0.090909 0.000000 \n",
"11 0.00 0.000000 0.000000 \n",
"12 0.00 0.000000 0.000000 \n",
"13 0.00 0.000000 0.076923 \n",
"14 0.00 0.000000 0.000000 \n",
"15 0.00 0.000000 0.000000 \n",
"16 0.00 0.000000 0.000000 \n",
"17 0.00 0.000000 0.000000 \n",
"18 0.02 0.000000 0.000000 \n",
"19 0.00 0.000000 0.000000 \n",
"20 0.00 0.000000 0.000000 \n",
"21 0.00 0.010000 0.010000 \n",
"22 0.00 0.000000 0.000000 \n",
"23 0.00 0.000000 0.000000 \n",
"24 0.00 0.000000 0.076923 \n",
"25 0.00 0.000000 0.000000 \n",
"\n",
" General Entertainment Grocery Store Gym Gym / Fitness Center \\\n",
"0 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.200000 \n",
"2 0.045455 0.045455 0.090909 0.000000 \n",
"3 0.045455 0.045455 0.090909 0.000000 \n",
"4 0.000000 0.000000 0.010000 0.010000 \n",
"5 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.040000 \n",
"7 0.000000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.000000 0.000000 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.076923 \n",
"14 0.000000 0.000000 0.000000 0.000000 \n",
"15 0.000000 0.000000 0.000000 0.000000 \n",
"16 0.000000 0.000000 0.000000 0.000000 \n",
"17 0.000000 0.000000 0.051282 0.000000 \n",
"18 0.000000 0.000000 0.000000 0.040000 \n",
"19 0.000000 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.000000 0.010000 0.010000 \n",
"22 0.000000 0.250000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.076923 \n",
"25 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Health Food Store Historic Site Hobby Shop Hockey Arena Hookah Bar \\\n",
"0 0.00 0.00 0.000000 0.00 0.00 \n",
"1 0.00 0.00 0.000000 0.00 0.00 \n",
"2 0.00 0.00 0.000000 0.00 0.00 \n",
"3 0.00 0.00 0.000000 0.00 0.00 \n",
"4 0.00 0.00 0.000000 0.00 0.01 \n",
"5 0.00 0.00 0.000000 0.00 0.00 \n",
"6 0.02 0.02 0.000000 0.00 0.00 \n",
"7 0.00 0.00 0.000000 0.00 0.00 \n",
"8 0.00 0.00 0.000000 0.00 0.00 \n",
"9 0.00 0.00 0.000000 0.00 0.00 \n",
"10 0.00 0.00 0.000000 0.00 0.00 \n",
"11 0.00 0.00 0.000000 0.00 0.00 \n",
"12 0.00 0.00 0.000000 0.00 0.00 \n",
"13 0.00 0.00 0.000000 0.00 0.00 \n",
"14 0.00 0.00 0.000000 0.00 0.00 \n",
"15 0.00 0.00 0.000000 0.00 0.00 \n",
"16 0.00 0.00 0.000000 0.00 0.00 \n",
"17 0.00 0.00 0.025641 0.00 0.00 \n",
"18 0.02 0.02 0.000000 0.00 0.00 \n",
"19 0.00 0.00 0.000000 0.00 0.00 \n",
"20 0.00 0.00 0.000000 0.00 0.00 \n",
"21 0.00 0.00 0.000000 0.00 0.01 \n",
"22 0.00 0.00 0.000000 0.25 0.00 \n",
"23 0.00 0.00 0.000000 0.00 0.00 \n",
"24 0.00 0.00 0.000000 0.00 0.00 \n",
"25 0.00 0.00 0.000000 0.00 0.00 \n",
"\n",
" Hotel Ice Cream Shop Intersection Italian Restaurant \\\n",
"0 0.00 0.00 0.000000 0.000000 \n",
"1 0.00 0.00 0.000000 0.000000 \n",
"2 0.00 0.00 0.000000 0.045455 \n",
"3 0.00 0.00 0.000000 0.045455 \n",
"4 0.01 0.02 0.000000 0.020000 \n",
"5 0.00 0.00 0.000000 0.166667 \n",
"6 0.02 0.02 0.000000 0.020000 \n",
"7 0.00 0.00 0.000000 0.000000 \n",
"8 0.00 0.00 0.000000 0.000000 \n",
"9 0.00 0.00 0.000000 0.000000 \n",
"10 0.00 0.00 0.000000 0.000000 \n",
"11 0.00 0.00 0.000000 0.000000 \n",
"12 0.00 0.00 0.000000 0.000000 \n",
"13 0.00 0.00 0.076923 0.000000 \n",
"14 0.00 0.00 0.000000 0.000000 \n",
"15 0.00 0.00 0.000000 0.000000 \n",
"16 0.00 0.00 0.000000 0.000000 \n",
"17 0.00 0.00 0.000000 0.025641 \n",
"18 0.02 0.02 0.000000 0.020000 \n",
"19 0.00 0.00 0.000000 0.000000 \n",
"20 0.00 0.00 0.000000 0.000000 \n",
"21 0.01 0.02 0.000000 0.020000 \n",
"22 0.00 0.00 0.000000 0.000000 \n",
"23 0.00 0.00 0.000000 0.000000 \n",
"24 0.00 0.00 0.076923 0.000000 \n",
"25 0.00 0.00 0.000000 0.000000 \n",
"\n",
" Japanese Restaurant Lake Lingerie Store Lounge Mexican Restaurant \\\n",
"0 0.000000 0.00 0.00 0.00 0.000000 \n",
"1 0.200000 0.00 0.00 0.00 0.000000 \n",
"2 0.045455 0.00 0.00 0.00 0.000000 \n",
"3 0.045455 0.00 0.00 0.00 0.000000 \n",
"4 0.020000 0.01 0.02 0.01 0.000000 \n",
"5 0.166667 0.00 0.00 0.00 0.000000 \n",
"6 0.000000 0.00 0.00 0.00 0.040000 \n",
"7 0.000000 0.00 0.00 0.00 0.000000 \n",
"8 0.000000 0.00 0.00 0.00 0.000000 \n",
"9 0.000000 0.00 0.00 0.00 0.000000 \n",
"10 0.000000 0.00 0.00 0.00 0.000000 \n",
"11 0.000000 0.00 0.00 0.00 0.000000 \n",
"12 0.000000 0.00 0.00 0.00 0.000000 \n",
"13 0.000000 0.00 0.00 0.00 0.000000 \n",
"14 0.000000 0.00 0.00 0.00 0.000000 \n",
"15 0.000000 0.00 0.00 0.00 0.000000 \n",
"16 0.000000 0.00 0.00 0.00 0.000000 \n",
"17 0.025641 0.00 0.00 0.00 0.025641 \n",
"18 0.000000 0.00 0.00 0.00 0.040000 \n",
"19 0.000000 0.00 0.00 0.00 0.000000 \n",
"20 0.000000 0.00 0.00 0.00 0.000000 \n",
"21 0.020000 0.01 0.02 0.01 0.000000 \n",
"22 0.000000 0.00 0.00 0.00 0.000000 \n",
"23 0.000000 0.00 0.00 0.00 0.000000 \n",
"24 0.000000 0.00 0.00 0.00 0.000000 \n",
"25 0.000000 0.00 0.00 0.00 0.000000 \n",
"\n",
" Middle Eastern Restaurant Miscellaneous Shop Modern European Restaurant \\\n",
"0 0.00 0.000000 0.00 \n",
"1 0.00 0.000000 0.00 \n",
"2 0.00 0.000000 0.00 \n",
"3 0.00 0.000000 0.00 \n",
"4 0.02 0.010000 0.01 \n",
"5 0.00 0.000000 0.00 \n",
"6 0.00 0.000000 0.00 \n",
"7 0.00 0.000000 0.00 \n",
"8 0.00 0.000000 0.00 \n",
"9 0.00 0.090909 0.00 \n",
"10 0.00 0.090909 0.00 \n",
"11 0.00 0.000000 0.00 \n",
"12 0.00 0.000000 0.00 \n",
"13 0.00 0.000000 0.00 \n",
"14 0.00 0.000000 0.00 \n",
"15 0.00 0.000000 0.00 \n",
"16 0.00 0.000000 0.00 \n",
"17 0.00 0.000000 0.00 \n",
"18 0.00 0.000000 0.00 \n",
"19 0.00 0.000000 0.00 \n",
"20 0.00 0.000000 0.00 \n",
"21 0.02 0.010000 0.01 \n",
"22 0.00 0.000000 0.00 \n",
"23 0.00 0.000000 0.00 \n",
"24 0.00 0.000000 0.00 \n",
"25 0.00 0.000000 0.00 \n",
"\n",
" Movie Theater Music Venue Nightclub Office Other Great Outdoors \\\n",
"0 0.00 0.00 0.000000 0.00 0.00 \n",
"1 0.00 0.00 0.000000 0.00 0.00 \n",
"2 0.00 0.00 0.000000 0.00 0.00 \n",
"3 0.00 0.00 0.000000 0.00 0.00 \n",
"4 0.01 0.01 0.000000 0.01 0.01 \n",
"5 0.00 0.00 0.000000 0.00 0.00 \n",
"6 0.00 0.00 0.000000 0.00 0.00 \n",
"7 0.00 0.00 0.000000 0.00 0.00 \n",
"8 0.00 0.00 0.000000 0.00 0.00 \n",
"9 0.00 0.00 0.000000 0.00 0.00 \n",
"10 0.00 0.00 0.000000 0.00 0.00 \n",
"11 0.00 0.00 0.000000 0.00 0.00 \n",
"12 0.00 0.00 0.000000 0.00 0.00 \n",
"13 0.00 0.00 0.000000 0.00 0.00 \n",
"14 0.00 0.00 0.000000 0.00 0.00 \n",
"15 0.00 0.00 0.000000 0.00 0.00 \n",
"16 0.00 0.00 0.000000 0.00 0.00 \n",
"17 0.00 0.00 0.025641 0.00 0.00 \n",
"18 0.00 0.00 0.000000 0.00 0.00 \n",
"19 0.00 0.00 0.000000 0.00 0.00 \n",
"20 0.00 0.00 0.000000 0.00 0.00 \n",
"21 0.01 0.01 0.000000 0.01 0.01 \n",
"22 0.00 0.00 0.000000 0.00 0.00 \n",
"23 0.00 0.00 0.000000 0.00 0.00 \n",
"24 0.00 0.00 0.000000 0.00 0.00 \n",
"25 0.00 0.00 0.000000 0.00 0.00 \n",
"\n",
" Park Performing Arts Venue Pet Store Pharmacy Pizza Place \\\n",
"0 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.00 0.000000 0.000000 0.020000 \n",
"5 0.000000 0.00 0.000000 0.000000 0.166667 \n",
"6 0.060000 0.02 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"13 0.000000 0.00 0.076923 0.076923 0.153846 \n",
"14 0.333333 0.00 0.000000 0.000000 0.000000 \n",
"15 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"16 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"17 0.051282 0.00 0.000000 0.000000 0.000000 \n",
"18 0.060000 0.02 0.000000 0.000000 0.000000 \n",
"19 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.00 0.000000 0.000000 0.020000 \n",
"22 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.00 0.076923 0.076923 0.153846 \n",
"25 0.125000 0.00 0.000000 0.125000 0.000000 \n",
"\n",
" Playground Plaza Portuguese Restaurant Poutine Place Print Shop \\\n",
"0 0.000000 0.00 0.000000 0.00 0.0 \n",
"1 0.000000 0.00 0.000000 0.00 0.0 \n",
"2 0.000000 0.00 0.000000 0.00 0.0 \n",
"3 0.000000 0.00 0.000000 0.00 0.0 \n",
"4 0.000000 0.01 0.000000 0.01 0.0 \n",
"5 0.166667 0.00 0.000000 0.00 0.0 \n",
"6 0.000000 0.00 0.000000 0.00 0.0 \n",
"7 0.000000 0.00 0.000000 0.00 0.0 \n",
"8 0.000000 0.00 0.000000 0.00 0.0 \n",
"9 0.000000 0.00 0.000000 0.00 0.0 \n",
"10 0.000000 0.00 0.000000 0.00 0.0 \n",
"11 0.000000 0.00 0.000000 0.00 0.5 \n",
"12 0.000000 0.00 0.000000 0.00 0.0 \n",
"13 0.000000 0.00 0.000000 0.00 0.0 \n",
"14 0.000000 0.00 0.000000 0.00 0.0 \n",
"15 0.000000 0.00 0.000000 0.00 0.0 \n",
"16 0.000000 0.00 0.000000 0.00 0.0 \n",
"17 0.000000 0.00 0.025641 0.00 0.0 \n",
"18 0.000000 0.00 0.000000 0.00 0.0 \n",
"19 0.000000 0.00 0.000000 0.00 0.0 \n",
"20 0.000000 0.00 0.000000 0.00 0.5 \n",
"21 0.000000 0.01 0.000000 0.01 0.0 \n",
"22 0.000000 0.00 0.250000 0.00 0.0 \n",
"23 0.000000 0.00 0.000000 0.00 0.0 \n",
"24 0.000000 0.00 0.000000 0.00 0.0 \n",
"25 0.000000 0.00 0.000000 0.00 0.0 \n",
"\n",
" Pub Ramen Restaurant Restaurant Sandwich Place \\\n",
"0 0.000000 0.00 0.000000 0.000000 \n",
"1 0.000000 0.00 0.000000 0.000000 \n",
"2 0.000000 0.00 0.045455 0.045455 \n",
"3 0.000000 0.00 0.045455 0.045455 \n",
"4 0.010000 0.02 0.020000 0.010000 \n",
"5 0.166667 0.00 0.000000 0.000000 \n",
"6 0.040000 0.00 0.040000 0.000000 \n",
"7 0.000000 0.00 0.000000 0.000000 \n",
"8 0.000000 0.00 0.000000 0.000000 \n",
"9 0.000000 0.00 0.000000 0.000000 \n",
"10 0.000000 0.00 0.000000 0.000000 \n",
"11 0.000000 0.00 0.000000 0.000000 \n",
"12 0.000000 0.00 0.000000 0.000000 \n",
"13 0.000000 0.00 0.000000 0.000000 \n",
"14 0.000000 0.00 0.000000 0.000000 \n",
"15 0.000000 0.00 0.000000 0.000000 \n",
"16 0.000000 0.00 0.000000 0.000000 \n",
"17 0.000000 0.00 0.000000 0.025641 \n",
"18 0.040000 0.00 0.040000 0.000000 \n",
"19 0.000000 0.00 0.000000 0.000000 \n",
"20 0.000000 0.00 0.000000 0.000000 \n",
"21 0.010000 0.02 0.020000 0.010000 \n",
"22 0.000000 0.00 0.000000 0.000000 \n",
"23 0.000000 0.00 0.000000 0.000000 \n",
"24 0.000000 0.00 0.000000 0.000000 \n",
"25 0.000000 0.00 0.000000 0.000000 \n",
"\n",
" Seafood Restaurant Shoe Store Shopping Mall Skating Rink Smoke Shop \\\n",
"0 0.000000 0.00 0.000000 0.000 0.00 \n",
"1 0.000000 0.00 0.000000 0.000 0.00 \n",
"2 0.000000 0.00 0.045455 0.000 0.00 \n",
"3 0.000000 0.00 0.045455 0.000 0.00 \n",
"4 0.010000 0.01 0.010000 0.000 0.01 \n",
"5 0.000000 0.00 0.000000 0.000 0.00 \n",
"6 0.000000 0.02 0.000000 0.000 0.00 \n",
"7 0.000000 0.00 0.000000 0.000 0.00 \n",
"8 0.000000 0.00 0.000000 0.000 0.00 \n",
"9 0.000000 0.00 0.000000 0.000 0.00 \n",
"10 0.000000 0.00 0.000000 0.000 0.00 \n",
"11 0.000000 0.00 0.000000 0.000 0.00 \n",
"12 0.000000 0.00 0.000000 0.000 0.00 \n",
"13 0.000000 0.00 0.000000 0.000 0.00 \n",
"14 0.000000 0.00 0.000000 0.000 0.00 \n",
"15 0.000000 0.00 0.000000 0.000 0.00 \n",
"16 0.000000 0.00 0.000000 0.000 0.00 \n",
"17 0.025641 0.00 0.000000 0.000 0.00 \n",
"18 0.000000 0.02 0.000000 0.000 0.00 \n",
"19 0.000000 0.00 0.000000 0.000 0.00 \n",
"20 0.000000 0.00 0.000000 0.000 0.00 \n",
"21 0.010000 0.01 0.010000 0.000 0.01 \n",
"22 0.000000 0.00 0.000000 0.000 0.00 \n",
"23 0.000000 0.00 0.000000 0.000 0.00 \n",
"24 0.000000 0.00 0.000000 0.000 0.00 \n",
"25 0.000000 0.00 0.000000 0.125 0.00 \n",
"\n",
" Smoothie Shop Spa Sporting Goods Shop Steakhouse Sushi Restaurant \\\n",
"0 0.000000 0.00 0.000000 0.00 0.000000 \n",
"1 0.000000 0.00 0.000000 0.00 0.000000 \n",
"2 0.000000 0.00 0.045455 0.00 0.000000 \n",
"3 0.000000 0.00 0.045455 0.00 0.000000 \n",
"4 0.000000 0.01 0.010000 0.01 0.010000 \n",
"5 0.000000 0.00 0.000000 0.00 0.000000 \n",
"6 0.000000 0.02 0.000000 0.00 0.000000 \n",
"7 0.000000 0.00 0.000000 0.00 0.000000 \n",
"8 0.000000 0.00 0.000000 0.00 0.000000 \n",
"9 0.000000 0.00 0.000000 0.00 0.000000 \n",
"10 0.000000 0.00 0.000000 0.00 0.000000 \n",
"11 0.000000 0.00 0.000000 0.00 0.000000 \n",
"12 0.000000 0.00 0.000000 0.00 0.000000 \n",
"13 0.000000 0.00 0.000000 0.00 0.000000 \n",
"14 0.000000 0.00 0.000000 0.00 0.000000 \n",
"15 0.000000 0.00 0.000000 0.00 0.000000 \n",
"16 0.000000 0.00 0.000000 0.00 0.000000 \n",
"17 0.025641 0.00 0.000000 0.00 0.025641 \n",
"18 0.000000 0.02 0.000000 0.00 0.000000 \n",
"19 0.000000 0.00 0.000000 0.00 0.000000 \n",
"20 0.000000 0.00 0.000000 0.00 0.000000 \n",
"21 0.000000 0.01 0.010000 0.01 0.010000 \n",
"22 0.000000 0.00 0.000000 0.00 0.000000 \n",
"23 0.000000 0.00 0.000000 0.00 0.000000 \n",
"24 0.000000 0.00 0.000000 0.00 0.000000 \n",
"25 0.000000 0.00 0.000000 0.00 0.000000 \n",
"\n",
" Taco Place Tanning Salon Tea Room Thai Restaurant Theater \\\n",
"0 0.00 0.00 0.00 0.00 0.000000 \n",
"1 0.00 0.00 0.00 0.00 0.000000 \n",
"2 0.00 0.00 0.00 0.00 0.000000 \n",
"3 0.00 0.00 0.00 0.00 0.000000 \n",
"4 0.01 0.01 0.02 0.01 0.020000 \n",
"5 0.00 0.00 0.00 0.00 0.000000 \n",
"6 0.00 0.00 0.00 0.00 0.040000 \n",
"7 0.00 0.00 0.00 0.00 0.000000 \n",
"8 0.00 0.00 0.00 0.00 0.000000 \n",
"9 0.00 0.00 0.00 0.00 0.000000 \n",
"10 0.00 0.00 0.00 0.00 0.000000 \n",
"11 0.00 0.00 0.00 0.00 0.000000 \n",
"12 0.00 0.00 0.00 0.00 0.000000 \n",
"13 0.00 0.00 0.00 0.00 0.000000 \n",
"14 0.00 0.00 0.00 0.00 0.000000 \n",
"15 0.00 0.00 0.00 0.00 0.000000 \n",
"16 0.00 0.00 0.00 0.00 0.000000 \n",
"17 0.00 0.00 0.00 0.00 0.025641 \n",
"18 0.00 0.00 0.00 0.00 0.040000 \n",
"19 0.00 0.00 0.00 0.00 0.000000 \n",
"20 0.00 0.00 0.00 0.00 0.000000 \n",
"21 0.01 0.01 0.02 0.01 0.020000 \n",
"22 0.00 0.00 0.00 0.00 0.000000 \n",
"23 0.00 0.00 0.00 0.00 0.000000 \n",
"24 0.00 0.00 0.00 0.00 0.000000 \n",
"25 0.00 0.00 0.00 0.00 0.000000 \n",
"\n",
" Toy / Game Store Vegetarian / Vegan Restaurant Video Game Store \\\n",
"0 0.00 0.00 0.00 \n",
"1 0.00 0.00 0.00 \n",
"2 0.00 0.00 0.00 \n",
"3 0.00 0.00 0.00 \n",
"4 0.01 0.01 0.01 \n",
"5 0.00 0.00 0.00 \n",
"6 0.00 0.00 0.00 \n",
"7 0.00 0.00 0.00 \n",
"8 0.00 0.00 0.00 \n",
"9 0.00 0.00 0.00 \n",
"10 0.00 0.00 0.00 \n",
"11 0.00 0.00 0.00 \n",
"12 0.00 0.00 0.00 \n",
"13 0.00 0.00 0.00 \n",
"14 0.00 0.00 0.00 \n",
"15 0.00 0.00 0.00 \n",
"16 0.00 0.00 0.00 \n",
"17 0.00 0.00 0.00 \n",
"18 0.00 0.00 0.00 \n",
"19 0.00 0.00 0.00 \n",
"20 0.00 0.00 0.00 \n",
"21 0.01 0.01 0.01 \n",
"22 0.00 0.00 0.00 \n",
"23 0.00 0.00 0.00 \n",
"24 0.00 0.00 0.00 \n",
"25 0.00 0.00 0.00 \n",
"\n",
" Video Store Vietnamese Restaurant Wine Bar Wings Joint Women's Store \\\n",
"0 0.000 0.000000 0.00 0.000000 0.000000 \n",
"1 0.000 0.000000 0.00 0.000000 0.000000 \n",
"2 0.000 0.000000 0.00 0.000000 0.000000 \n",
"3 0.000 0.000000 0.00 0.000000 0.000000 \n",
"4 0.000 0.010000 0.01 0.000000 0.000000 \n",
"5 0.000 0.000000 0.00 0.000000 0.000000 \n",
"6 0.000 0.000000 0.00 0.000000 0.000000 \n",
"7 0.000 0.000000 0.00 0.000000 0.000000 \n",
"8 0.000 0.000000 0.00 0.000000 0.000000 \n",
"9 0.000 0.090909 0.00 0.000000 0.090909 \n",
"10 0.000 0.090909 0.00 0.000000 0.090909 \n",
"11 0.000 0.000000 0.00 0.000000 0.000000 \n",
"12 0.000 0.000000 0.00 0.000000 0.000000 \n",
"13 0.000 0.000000 0.00 0.000000 0.000000 \n",
"14 0.000 0.000000 0.00 0.000000 0.000000 \n",
"15 0.000 0.000000 0.00 0.000000 0.000000 \n",
"16 0.000 0.000000 0.00 0.000000 0.000000 \n",
"17 0.000 0.000000 0.00 0.025641 0.000000 \n",
"18 0.000 0.000000 0.00 0.000000 0.000000 \n",
"19 0.000 0.000000 0.00 0.000000 0.000000 \n",
"20 0.000 0.000000 0.00 0.000000 0.000000 \n",
"21 0.000 0.010000 0.01 0.000000 0.000000 \n",
"22 0.000 0.000000 0.00 0.000000 0.000000 \n",
"23 0.000 0.000000 0.00 0.000000 0.000000 \n",
"24 0.000 0.000000 0.00 0.000000 0.000000 \n",
"25 0.125 0.000000 0.00 0.000000 0.000000 \n",
"\n",
" Yoga Studio \n",
"0 0.000000 \n",
"1 0.000000 \n",
"2 0.000000 \n",
"3 0.000000 \n",
"4 0.000000 \n",
"5 0.000000 \n",
"6 0.020000 \n",
"7 0.000000 \n",
"8 0.000000 \n",
"9 0.000000 \n",
"10 0.000000 \n",
"11 0.000000 \n",
"12 0.000000 \n",
"13 0.000000 \n",
"14 0.000000 \n",
"15 0.000000 \n",
"16 0.000000 \n",
"17 0.025641 \n",
"18 0.020000 \n",
"19 0.000000 \n",
"20 0.000000 \n",
"21 0.000000 \n",
"22 0.000000 \n",
"23 0.000000 \n",
"24 0.000000 \n",
"25 0.000000 "
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_grouped = toronto_onehot.groupby('Neighborhood').mean().reset_index()\n",
"toronto_grouped"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(26, 114)"
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_grouped.shape"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"----Cloverdale, Islington, Martin Grove, Princess Gardens, West Deane Park----\n",
" venue freq\n",
"0 Bank 1.0\n",
"1 Accessories Store 0.0\n",
"2 Music Venue 0.0\n",
"3 Poutine Place 0.0\n",
"4 Portuguese Restaurant 0.0\n",
"\n",
"\n",
"----Don Mills North\n",
"----\n",
" venue freq\n",
"0 Japanese Restaurant 0.2\n",
"1 Gym / Fitness Center 0.2\n",
"2 Basketball Court 0.2\n",
"3 Caribbean Restaurant 0.2\n",
"4 Café 0.2\n",
"\n",
"\n",
"----Don Mills South\n",
"----\n",
" venue freq\n",
"0 Gym 0.09\n",
"1 Asian Restaurant 0.09\n",
"2 Beer Store 0.09\n",
"3 Coffee Shop 0.09\n",
"4 Sandwich Place 0.05\n",
"\n",
"\n",
"----Flemingdon Park, Don Mills South----\n",
" venue freq\n",
"0 Gym 0.09\n",
"1 Asian Restaurant 0.09\n",
"2 Beer Store 0.09\n",
"3 Coffee Shop 0.09\n",
"4 Sandwich Place 0.05\n",
"\n",
"\n",
"----Garden District\n",
"----\n",
" venue freq\n",
"0 Coffee Shop 0.09\n",
"1 Clothing Store 0.07\n",
"2 Cosmetics Shop 0.04\n",
"3 Fast Food Restaurant 0.03\n",
"4 Café 0.03\n",
"\n",
"\n",
"----Glencairn\n",
"----\n",
" venue freq\n",
"0 Italian Restaurant 0.17\n",
"1 Japanese Restaurant 0.17\n",
"2 Bakery 0.17\n",
"3 Playground 0.17\n",
"4 Pizza Place 0.17\n",
"\n",
"\n",
"----Harbourfront, Regent Park----\n",
" venue freq\n",
"0 Coffee Shop 0.18\n",
"1 Park 0.06\n",
"2 Bakery 0.06\n",
"3 Theater 0.04\n",
"4 Mexican Restaurant 0.04\n",
"\n",
"\n",
"----Highland Creek\n",
"----\n",
" venue freq\n",
"0 Bar 1.0\n",
"1 Accessories Store 0.0\n",
"2 Music Venue 0.0\n",
"3 Poutine Place 0.0\n",
"4 Portuguese Restaurant 0.0\n",
"\n",
"\n",
"----Islington\n",
"----\n",
" venue freq\n",
"0 Bank 1.0\n",
"1 Accessories Store 0.0\n",
"2 Music Venue 0.0\n",
"3 Poutine Place 0.0\n",
"4 Portuguese Restaurant 0.0\n",
"\n",
"\n",
"----Lawrence Heights, Lawrence Manor----\n",
" venue freq\n",
"0 Clothing Store 0.27\n",
"1 Coffee Shop 0.09\n",
"2 Boutique 0.09\n",
"3 Furniture / Home Store 0.09\n",
"4 Miscellaneous Shop 0.09\n",
"\n",
"\n",
"----Lawrence Manor\n",
"----\n",
" venue freq\n",
"0 Clothing Store 0.27\n",
"1 Coffee Shop 0.09\n",
"2 Boutique 0.09\n",
"3 Furniture / Home Store 0.09\n",
"4 Miscellaneous Shop 0.09\n",
"\n",
"\n",
"----Malvern\n",
"----\n",
" venue freq\n",
"0 Fast Food Restaurant 0.5\n",
"1 Print Shop 0.5\n",
"2 Accessories Store 0.0\n",
"3 Music Venue 0.0\n",
"4 Portuguese Restaurant 0.0\n",
"\n",
"\n",
"----Martin Grove\n",
"----\n",
" venue freq\n",
"0 Bank 1.0\n",
"1 Accessories Store 0.0\n",
"2 Music Venue 0.0\n",
"3 Poutine Place 0.0\n",
"4 Portuguese Restaurant 0.0\n",
"\n",
"\n",
"----Parkview Hill\n",
"----\n",
" venue freq\n",
"0 Fast Food Restaurant 0.15\n",
"1 Pizza Place 0.15\n",
"2 Café 0.08\n",
"3 Gastropub 0.08\n",
"4 Pet Store 0.08\n",
"\n",
"\n",
"----Parkwoods\n",
"----\n",
" venue freq\n",
"0 Park 0.33\n",
"1 Food & Drink Shop 0.33\n",
"2 Fast Food Restaurant 0.33\n",
"3 Accessories Store 0.00\n",
"4 Music Venue 0.00\n",
"\n",
"\n",
"----Port Union\n",
"----\n",
" venue freq\n",
"0 Bar 1.0\n",
"1 Accessories Store 0.0\n",
"2 Music Venue 0.0\n",
"3 Poutine Place 0.0\n",
"4 Portuguese Restaurant 0.0\n",
"\n",
"\n",
"----Princess Gardens\n",
"----\n",
" venue freq\n",
"0 Bank 1.0\n",
"1 Accessories Store 0.0\n",
"2 Music Venue 0.0\n",
"3 Poutine Place 0.0\n",
"4 Portuguese Restaurant 0.0\n",
"\n",
"\n",
"----Queen's Park----\n",
" venue freq\n",
"0 Coffee Shop 0.26\n",
"1 Gym 0.05\n",
"2 Park 0.05\n",
"3 Diner 0.05\n",
"4 Yoga Studio 0.03\n",
"\n",
"\n",
"----Regent Park\n",
"----\n",
" venue freq\n",
"0 Coffee Shop 0.18\n",
"1 Park 0.06\n",
"2 Bakery 0.06\n",
"3 Theater 0.04\n",
"4 Mexican Restaurant 0.04\n",
"\n",
"\n",
"----Rouge Hill, Port Union, Highland Creek----\n",
" venue freq\n",
"0 Bar 1.0\n",
"1 Accessories Store 0.0\n",
"2 Music Venue 0.0\n",
"3 Poutine Place 0.0\n",
"4 Portuguese Restaurant 0.0\n",
"\n",
"\n",
"----Rouge, Malvern----\n",
" venue freq\n",
"0 Fast Food Restaurant 0.5\n",
"1 Print Shop 0.5\n",
"2 Accessories Store 0.0\n",
"3 Music Venue 0.0\n",
"4 Portuguese Restaurant 0.0\n",
"\n",
"\n",
"----Ryerson, Garden District----\n",
" venue freq\n",
"0 Coffee Shop 0.09\n",
"1 Clothing Store 0.07\n",
"2 Cosmetics Shop 0.04\n",
"3 Fast Food Restaurant 0.03\n",
"4 Café 0.03\n",
"\n",
"\n",
"----Victoria Village\n",
"----\n",
" venue freq\n",
"0 Hockey Arena 0.25\n",
"1 Coffee Shop 0.25\n",
"2 Portuguese Restaurant 0.25\n",
"3 Grocery Store 0.25\n",
"4 Nightclub 0.00\n",
"\n",
"\n",
"----West Deane Park\n",
"----\n",
" venue freq\n",
"0 Bank 1.0\n",
"1 Accessories Store 0.0\n",
"2 Music Venue 0.0\n",
"3 Poutine Place 0.0\n",
"4 Portuguese Restaurant 0.0\n",
"\n",
"\n",
"----Woodbine Gardens, Parkview Hill----\n",
" venue freq\n",
"0 Fast Food Restaurant 0.15\n",
"1 Pizza Place 0.15\n",
"2 Café 0.08\n",
"3 Gastropub 0.08\n",
"4 Pet Store 0.08\n",
"\n",
"\n",
"----Woodbine Heights\n",
"----\n",
" venue freq\n",
"0 Curling Ice 0.12\n",
"1 Dance Studio 0.12\n",
"2 Video Store 0.12\n",
"3 Skating Rink 0.12\n",
"4 Pharmacy 0.12\n",
"\n",
"\n"
]
}
],
"source": [
"num_top_venues = 5\n",
"\n",
"for hood in toronto_grouped['Neighborhood']:\n",
" print(\"----\"+hood+\"----\")\n",
" temp = toronto_grouped[toronto_grouped['Neighborhood'] == hood].T.reset_index()\n",
" temp.columns = ['venue','freq']\n",
" temp = temp.iloc[1:]\n",
" temp['freq'] = temp['freq'].astype(float)\n",
" temp = temp.round({'freq': 2})\n",
" print(temp.sort_values('freq', ascending=False).reset_index(drop=True).head(num_top_venues))\n",
" print('\\n')"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [],
"source": [
"def return_most_common_venues(row, num_top_venues):\n",
" row_categories = row.iloc[1:]\n",
" row_categories_sorted = row_categories.sort_values(ascending=False)\n",
" \n",
" return row_categories_sorted.index.values[0:num_top_venues]"
]
},
{
"cell_type": "code",
"execution_count": 76,
"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>Neighborhood</th>\n",
" <th>1st Most Common Venue</th>\n",
" <th>2nd Most Common Venue</th>\n",
" <th>3rd Most Common Venue</th>\n",
" <th>4th Most Common Venue</th>\n",
" <th>5th Most Common Venue</th>\n",
" <th>6th Most Common Venue</th>\n",
" <th>7th Most Common Venue</th>\n",
" <th>8th Most Common Venue</th>\n",
" <th>9th Most Common Venue</th>\n",
" <th>10th Most Common Venue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Cloverdale, Islington, Martin Grove, Princess ...</td>\n",
" <td>Bank</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>Comic Shop</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" <td>Curling Ice</td>\n",
" <td>Dance Studio</td>\n",
" <td>Department Store</td>\n",
" <td>Dessert Shop</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Don Mills North\\n</td>\n",
" <td>Gym / Fitness Center</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Caribbean Restaurant</td>\n",
" <td>Café</td>\n",
" <td>Basketball Court</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Electronics Store</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" <td>Curling Ice</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Don Mills South\\n</td>\n",
" <td>Gym</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Asian Restaurant</td>\n",
" <td>Beer Store</td>\n",
" <td>Chinese Restaurant</td>\n",
" <td>Shopping Mall</td>\n",
" <td>Sandwich Place</td>\n",
" <td>Discount Store</td>\n",
" <td>Restaurant</td>\n",
" <td>Sporting Goods Shop</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Flemingdon Park, Don Mills South</td>\n",
" <td>Gym</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Asian Restaurant</td>\n",
" <td>Beer Store</td>\n",
" <td>Chinese Restaurant</td>\n",
" <td>Shopping Mall</td>\n",
" <td>Sandwich Place</td>\n",
" <td>Discount Store</td>\n",
" <td>Restaurant</td>\n",
" <td>Sporting Goods Shop</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Garden District\\n</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Clothing Store</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Café</td>\n",
" <td>Pizza Place</td>\n",
" <td>Middle Eastern Restaurant</td>\n",
" <td>Ramen Restaurant</td>\n",
" <td>Restaurant</td>\n",
" <td>Diner</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Neighborhood 1st Most Common Venue \\\n",
"0 Cloverdale, Islington, Martin Grove, Princess ... Bank \n",
"1 Don Mills North\\n Gym / Fitness Center \n",
"2 Don Mills South\\n Gym \n",
"3 Flemingdon Park, Don Mills South Gym \n",
"4 Garden District\\n Coffee Shop \n",
"\n",
" 2nd Most Common Venue 3rd Most Common Venue 4th Most Common Venue \\\n",
"0 Yoga Studio Ethiopian Restaurant Comic Shop \n",
"1 Japanese Restaurant Caribbean Restaurant Café \n",
"2 Coffee Shop Asian Restaurant Beer Store \n",
"3 Coffee Shop Asian Restaurant Beer Store \n",
"4 Clothing Store Cosmetics Shop Fast Food Restaurant \n",
"\n",
" 5th Most Common Venue 6th Most Common Venue 7th Most Common Venue \\\n",
"0 Cosmetics Shop Creperie Curling Ice \n",
"1 Basketball Court Yoga Studio Electronics Store \n",
"2 Chinese Restaurant Shopping Mall Sandwich Place \n",
"3 Chinese Restaurant Shopping Mall Sandwich Place \n",
"4 Café Pizza Place Middle Eastern Restaurant \n",
"\n",
" 8th Most Common Venue 9th Most Common Venue 10th Most Common Venue \n",
"0 Dance Studio Department Store Dessert Shop \n",
"1 Cosmetics Shop Creperie Curling Ice \n",
"2 Discount Store Restaurant Sporting Goods Shop \n",
"3 Discount Store Restaurant Sporting Goods Shop \n",
"4 Ramen Restaurant Restaurant Diner "
]
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"num_top_venues = 10\n",
"\n",
"indicators = ['st', 'nd', 'rd']\n",
"\n",
"# create columns according to number of top venues\n",
"columns = ['Neighborhood']\n",
"for ind in np.arange(num_top_venues):\n",
" try:\n",
" columns.append('{}{} Most Common Venue'.format(ind+1, indicators[ind]))\n",
" except:\n",
" columns.append('{}th Most Common Venue'.format(ind+1))\n",
"\n",
"# create a new dataframe\n",
"neighborhoods_venues_sorted = pd.DataFrame(columns=columns)\n",
"neighborhoods_venues_sorted['Neighborhood'] = toronto_grouped['Neighborhood']\n",
"\n",
"for ind in np.arange(toronto_grouped.shape[0]):\n",
" neighborhoods_venues_sorted.iloc[ind, 1:] = return_most_common_venues(toronto_grouped.iloc[ind, :], num_top_venues)\n",
"\n",
"neighborhoods_venues_sorted.head()"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0, 1, 1, 1, 1, 1, 1, 2, 0, 1], dtype=int32)"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# set number of clusters\n",
"kclusters = 5\n",
"\n",
"toronto_grouped_clustering = toronto_grouped.drop('Neighborhood', 1)\n",
"\n",
"# run k-means clustering\n",
"kmeans = KMeans(n_clusters=kclusters, random_state=0).fit(toronto_grouped_clustering)\n",
"\n",
"# check cluster labels generated for each row in the dataframe\n",
"kmeans.labels_[0:10] "
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Postal Code object\n",
"Borough object\n",
"Neighborhood object\n",
"Latitude float64\n",
"Longitude float64\n",
"Cluster_Labels2 int64\n",
"1st Most Common Venue object\n",
"2nd Most Common Venue object\n",
"3rd Most Common Venue object\n",
"4th Most Common Venue object\n",
"5th Most Common Venue object\n",
"6th Most Common Venue object\n",
"7th Most Common Venue object\n",
"8th Most Common Venue object\n",
"9th Most Common Venue object\n",
"10th Most Common Venue object\n",
"dtype: object"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# add clustering labels\n",
"neighborhoods_venues_sorted.insert(0, 'Cluster_Labels2', kmeans.labels_)\n",
"\n",
"toronto_merged = df5\n",
"\n",
"# merge toronto_grouped with toronto_data to add latitude/longitude for each neighborhood\n",
"toronto_merged = toronto_merged.join(neighborhoods_venues_sorted.set_index('Neighborhood'), on='Neighborhood')\n",
"\n",
"#toronto_merged.head() # check the last columns!\n",
"#toronto_merged = toronto_merged.fillna(0).astype(int)\n",
"\n",
"toronto_merged[['Cluster_Labels2']] = toronto_merged[['Cluster_Labels2']].fillna(value=0)\n",
"\n",
"toronto_merged.fillna({'Cluster_Labels2':0}, inplace=True)\n",
"#toronto_merged = toronto_merged.Cluster_Labels2.astype(int)\n",
"#toronto_merged = toronto_merged.Cluster_Labels2.astype(int)\n",
"toronto_merged\n",
"toronto_merged.Cluster_Labels2 = toronto_merged.Cluster_Labels2.astype(int)\n",
"toronto_merged.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The geographical coordinate of are 43.653963, -79.387207.\n"
]
}
],
"source": [
"address = 'Toronto, On'\n",
"\n",
"geolocator = Nominatim(user_agent=\"On_explorer\")\n",
"location = geolocator.geocode(address)\n",
"latitude = location.latitude\n",
"longitude = location.longitude\n",
"print('The geographical coordinate of are {}, {}.'.format(latitude, longitude))\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdD5MX1BSRUZFUl9DQU5WQVMgPSBmYWxzZTsgTF9OT19UT1VDSCA9IGZhbHNlOyBMX0RJU0FCTEVfM0QgPSBmYWxzZTs8L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4yLjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4yLjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9yYXdnaXQuY29tL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9tYXN0ZXIvZm9saXVtL3RlbXBsYXRlcy9sZWFmbGV0LmF3ZXNvbWUucm90YXRlLmNzcyIvPgogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIAogICAgICAgICAgICA8c3R5bGU+ICNtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEgewogICAgICAgICAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwLjAlOwogICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICBsZWZ0OiAwLjAlOwogICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwXzM3ZGE0NTkyZGQ1MzRiNDNiOThhNGY1Mjc5YmRlMjcxIiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGJvdW5kcyA9IG51bGw7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgdmFyIG1hcF8zN2RhNDU5MmRkNTM0YjQzYjk4YTRmNTI3OWJkZTI3MSA9IEwubWFwKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcF8zN2RhNDU5MmRkNTM0YjQzYjk4YTRmNTI3OWJkZTI3MScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2VudGVyOiBbNDMuNjUzOTYzLC03OS4zODcyMDddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbTogMTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhCb3VuZHM6IGJvdW5kcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyczogW10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JsZENvcHlKdW1wOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyXzg1NmFlYjU1ODYwMjQ4YmE4ZjVjNmNmMGUzYmVjOTFmID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAnaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLAogICAgICAgICAgICAgICAgewogICJhdHRyaWJ1dGlvbiI6IG51bGwsCiAgImRldGVjdFJldGluYSI6IGZhbHNlLAogICJtYXhab29tIjogMTgsCiAgIm1pblpvb20iOiAxLAogICJub1dyYXAiOiBmYWxzZSwKICAic3ViZG9tYWlucyI6ICJhYmMiCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzM3ZGE0NTkyZGQ1MzRiNDNiOThhNGY1Mjc5YmRlMjcxKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85ZTdiMmY3Mzc2NGI0NDgwOGZmZTBhN2ZmYWNmZmJhNSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjc1MzI1ODYsLTc5LjMyOTY1NjVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiI2ZmYjM2MCIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiNmZmIzNjAiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfODIwYzU2NDM4MzllNDQ5NWI1MGEyMzFlNjA2Y2ZiZjAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjQ3ZGI0NGRlZGIxNDczNDgzODlkMzVkNTg2Yzc0ZjMgPSAkKCc8ZGl2IGlkPSJodG1sXzI0N2RiNDRkZWRiMTQ3MzQ4Mzg5ZDM1ZDU4NmM3NGYzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QYXJrd29vZHMgIENsdXN0ZXIgNDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfODIwYzU2NDM4MzllNDQ5NWI1MGEyMzFlNjA2Y2ZiZjAuc2V0Q29udGVudChodG1sXzI0N2RiNDRkZWRiMTQ3MzQ4Mzg5ZDM1ZDU4NmM3NGYzKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzllN2IyZjczNzY0YjQ0ODA4ZmZlMGE3ZmZhY2ZmYmE1LmJpbmRQb3B1cChwb3B1cF84MjBjNTY0MzgzOWU0NDk1YjUwYTIzMWU2MDZjZmJmMCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hYjIxYTUxMjZlN2Q0MGU0OGQwMDBiYTFkZTZiZDBlMyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjcyNTg4MjI5OTk5OTk5NSwtNzkuMzE1NTcxNTk5OTk5OThdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiIzgwMDBmZiIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiM4MDAwZmYiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYzhlZDgwMGI1OTQ3NGJlMWI0YTdkMDVjMjdjOWI3MzQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOTE4Y2NmNTE0OTA0NDIxYTllNjFmYTU2Mjc3ZTU1NjQgPSAkKCc8ZGl2IGlkPSJodG1sXzkxOGNjZjUxNDkwNDQyMWE5ZTYxZmE1NjI3N2U1NTY0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5WaWN0b3JpYSBWaWxsYWdlICBDbHVzdGVyIDE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2M4ZWQ4MDBiNTk0NzRiZTFiNGE3ZDA1YzI3YzliNzM0LnNldENvbnRlbnQoaHRtbF85MThjY2Y1MTQ5MDQ0MjFhOWU2MWZhNTYyNzdlNTU2NCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hYjIxYTUxMjZlN2Q0MGU0OGQwMDBiYTFkZTZiZDBlMy5iaW5kUG9wdXAocG9wdXBfYzhlZDgwMGI1OTQ3NGJlMWI0YTdkMDVjMjdjOWI3MzQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZDQxYjM0MzE5ZjI4NDU3ZWI5MzUwYzBkNTc3ODc5ODEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTQyNTk5LC03OS4zNjA2MzU5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogIiM4MDAwZmYiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjODAwMGZmIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzM3ZGE0NTkyZGQ1MzRiNDNiOThhNGY1Mjc5YmRlMjcxKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzk2MGFlY2VhYjIxZjRkZGRhODk0NDQ4Zjc4NDEzYzA3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzUzY2UxYjQyNDI4OTRhYWY5ODJhMmUyYmNkMDZhMTgzID0gJCgnPGRpdiBpZD0iaHRtbF81M2NlMWI0MjQyODk0YWFmOTgyYTJlMmJjZDA2YTE4MyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SGFyYm91cmZyb250LCBSZWdlbnQgUGFyayBDbHVzdGVyIDE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzk2MGFlY2VhYjIxZjRkZGRhODk0NDQ4Zjc4NDEzYzA3LnNldENvbnRlbnQoaHRtbF81M2NlMWI0MjQyODk0YWFmOTgyYTJlMmJjZDA2YTE4Myk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9kNDFiMzQzMTlmMjg0NTdlYjkzNTBjMGQ1Nzc4Nzk4MS5iaW5kUG9wdXAocG9wdXBfOTYwYWVjZWFiMjFmNGRkZGE4OTQ0NDhmNzg0MTNjMDcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjMzMjMwYjExZGQ3NGUyMmJkOTU4ZDAxZTBlN2IxMDAgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTQyNTk5LC03OS4zNjA2MzU5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogIiM4MDAwZmYiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjODAwMGZmIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzM3ZGE0NTkyZGQ1MzRiNDNiOThhNGY1Mjc5YmRlMjcxKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzViOGYzYzI1ZGNkZTQ5OTA4MzZlMmEyMTgxN2I4NzZhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2MwYjU1NTg1YjcwMjRkNzhhODY2OTZiODg2NTQxNDM4ID0gJCgnPGRpdiBpZD0iaHRtbF9jMGI1NTU4NWI3MDI0ZDc4YTg2Njk2Yjg4NjU0MTQzOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UmVnZW50IFBhcmsgIENsdXN0ZXIgMTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNWI4ZjNjMjVkY2RlNDk5MDgzNmUyYTIxODE3Yjg3NmEuc2V0Q29udGVudChodG1sX2MwYjU1NTg1YjcwMjRkNzhhODY2OTZiODg2NTQxNDM4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2IzMzIzMGIxMWRkNzRlMjJiZDk1OGQwMWUwZTdiMTAwLmJpbmRQb3B1cChwb3B1cF81YjhmM2MyNWRjZGU0OTkwODM2ZTJhMjE4MTdiODc2YSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9mMTcwOTZkMDlkMjg0ODgyYmUyMmUxODE4Y2E0Mjg0MSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjcxODUxNzk5OTk5OTk5NiwtNzkuNDY0NzYzMjk5OTk5OTldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiIzgwMDBmZiIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiM4MDAwZmYiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfODY2ZWJjMDBkOTI5NDVkMGIyMTcyZmZlYzhkZmNiNDQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfM2U1OGRiMGVkODk4NDI1Y2FlNmQ5YTEyMzcxNjllNTMgPSAkKCc8ZGl2IGlkPSJodG1sXzNlNThkYjBlZDg5ODQyNWNhZTZkOWExMjM3MTY5ZTUzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5MYXdyZW5jZSBIZWlnaHRzLCBMYXdyZW5jZSBNYW5vciBDbHVzdGVyIDE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzg2NmViYzAwZDkyOTQ1ZDBiMjE3MmZmZWM4ZGZjYjQ0LnNldENvbnRlbnQoaHRtbF8zZTU4ZGIwZWQ4OTg0MjVjYWU2ZDlhMTIzNzE2OWU1Myk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mMTcwOTZkMDlkMjg0ODgyYmUyMmUxODE4Y2E0Mjg0MS5iaW5kUG9wdXAocG9wdXBfODY2ZWJjMDBkOTI5NDVkMGIyMTcyZmZlYzhkZmNiNDQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzU0NmU3MTdjYjRlNGFhY2ExNGExNDc0Mzc3NjYwNGEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MTg1MTc5OTk5OTk5OTYsLTc5LjQ2NDc2MzI5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogIiM4MDAwZmYiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjODAwMGZmIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzM3ZGE0NTkyZGQ1MzRiNDNiOThhNGY1Mjc5YmRlMjcxKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzI0ZGFhZTcyNTVlOTQyZDFiY2ZlYjM0YzcyMjZhNTU0ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzk2NTg5NjJhYjJiYTRmODE4NzdlMTY1OTE3MjBlNjg2ID0gJCgnPGRpdiBpZD0iaHRtbF85NjU4OTYyYWIyYmE0ZjgxODc3ZTE2NTkxNzIwZTY4NiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TGF3cmVuY2UgTWFub3IgIENsdXN0ZXIgMTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMjRkYWFlNzI1NWU5NDJkMWJjZmViMzRjNzIyNmE1NTQuc2V0Q29udGVudChodG1sXzk2NTg5NjJhYjJiYTRmODE4NzdlMTY1OTE3MjBlNjg2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzc1NDZlNzE3Y2I0ZTRhYWNhMTRhMTQ3NDM3NzY2MDRhLmJpbmRQb3B1cChwb3B1cF8yNGRhYWU3MjU1ZTk0MmQxYmNmZWIzNGM3MjI2YTU1NCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81ZWFjM2NkMzUwZmM0YzBmOGRmMjNkOTRiNGQyNjBiNSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY2MjMwMTUsLTc5LjM4OTQ5MzhdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiIzgwMDBmZiIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiM4MDAwZmYiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZDgzNDRkMDZkODZhNDE4NmIxZWFkOGUzNzczNWE0NjYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYzUzNWRjMjhhZjE5NGIwNTkzMDJkOWQ3N2NkNGM0OGMgPSAkKCc8ZGl2IGlkPSJodG1sX2M1MzVkYzI4YWYxOTRiMDU5MzAyZDlkNzdjZDRjNDhjIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5RdWVlbiYjMzk7cyBQYXJrIENsdXN0ZXIgMTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZDgzNDRkMDZkODZhNDE4NmIxZWFkOGUzNzczNWE0NjYuc2V0Q29udGVudChodG1sX2M1MzVkYzI4YWYxOTRiMDU5MzAyZDlkNzdjZDRjNDhjKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzVlYWMzY2QzNTBmYzRjMGY4ZGYyM2Q5NGI0ZDI2MGI1LmJpbmRQb3B1cChwb3B1cF9kODM0NGQwNmQ4NmE0MTg2YjFlYWQ4ZTM3NzM1YTQ2Nik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85YjI0OGY0NGY4MmU0YWZkOTY4OGU0YWRjNDU4ZTI2OSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY2Nzg1NTYsLTc5LjUzMjI0MjQwMDAwMDAyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogIiNmZjAwMDAiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjZmYwMDAwIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzM3ZGE0NTkyZGQ1MzRiNDNiOThhNGY1Mjc5YmRlMjcxKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzdlZWFkZjE3NzgwZjRmY2RhZjVmNmNkY2IwNWI4OWIwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc1MTA1ZjM0MjY3NjRjNTBiZGNjYTE4M2IzMmEwMGZlID0gJCgnPGRpdiBpZD0iaHRtbF83NTEwNWYzNDI2NzY0YzUwYmRjY2ExODNiMzJhMDBmZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SXNsaW5ndG9uIEF2ZW51ZSAgQ2x1c3RlciAwPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF83ZWVhZGYxNzc4MGY0ZmNkYWY1ZjZjZGNiMDViODliMC5zZXRDb250ZW50KGh0bWxfNzUxMDVmMzQyNjc2NGM1MGJkY2NhMTgzYjMyYTAwZmUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOWIyNDhmNDRmODJlNGFmZDk2ODhlNGFkYzQ1OGUyNjkuYmluZFBvcHVwKHBvcHVwXzdlZWFkZjE3NzgwZjRmY2RhZjVmNmNkY2IwNWI4OWIwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzYwZTU5YWIwZWUwOTQ1OWZiNjc3YzVjOGJkZDBjYmFhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuODA2Njg2Mjk5OTk5OTk2LC03OS4xOTQzNTM0MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjODBmZmI0IiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzgwZmZiNCIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF8zN2RhNDU5MmRkNTM0YjQzYjk4YTRmNTI3OWJkZTI3MSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83M2MwZTQzYzdhMTE0ODcxOTQ5ZmVhY2IyNTNhMDc4NCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lYzZlMDM3MmJlYjI0NGY2YWE1ZTQwZDc0ODJmMmRhZiA9ICQoJzxkaXYgaWQ9Imh0bWxfZWM2ZTAzNzJiZWIyNDRmNmFhNWU0MGQ3NDgyZjJkYWYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlJvdWdlLCBNYWx2ZXJuIENsdXN0ZXIgMzwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNzNjMGU0M2M3YTExNDg3MTk0OWZlYWNiMjUzYTA3ODQuc2V0Q29udGVudChodG1sX2VjNmUwMzcyYmViMjQ0ZjZhYTVlNDBkNzQ4MmYyZGFmKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzYwZTU5YWIwZWUwOTQ1OWZiNjc3YzVjOGJkZDBjYmFhLmJpbmRQb3B1cChwb3B1cF83M2MwZTQzYzdhMTE0ODcxOTQ5ZmVhY2IyNTNhMDc4NCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85MWJkNzVlZmNhNTY0N2E4YjNhYmFkY2UxY2E2ZTU3MSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjgwNjY4NjI5OTk5OTk5NiwtNzkuMTk0MzUzNDAwMDAwMDFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiIzgwZmZiNCIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiM4MGZmYjQiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYjJjMjUyZDJhOWM2NDk4ODg4YmQ5NTg0Y2ZlMjNmODMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOTFmZTQ3NjRmN2QyNDJjOWJiOTExYTlmNzFiOThmOWYgPSAkKCc8ZGl2IGlkPSJodG1sXzkxZmU0NzY0ZjdkMjQyYzliYjkxMWE5ZjcxYjk4ZjlmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NYWx2ZXJuICBDbHVzdGVyIDM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2IyYzI1MmQyYTljNjQ5ODg4OGJkOTU4NGNmZTIzZjgzLnNldENvbnRlbnQoaHRtbF85MWZlNDc2NGY3ZDI0MmM5YmI5MTFhOWY3MWI5OGY5Zik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl85MWJkNzVlZmNhNTY0N2E4YjNhYmFkY2UxY2E2ZTU3MS5iaW5kUG9wdXAocG9wdXBfYjJjMjUyZDJhOWM2NDk4ODg4YmQ5NTg0Y2ZlMjNmODMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjk1MjY2MmFmNWM3NDg3ODk1Yzg2Yzc4YTBmMmMwNmYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43NDU5MDU3OTk5OTk5OTYsLTc5LjM1MjE4OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjODAwMGZmIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzgwMDBmZiIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF8zN2RhNDU5MmRkNTM0YjQzYjk4YTRmNTI3OWJkZTI3MSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9jNWZjNDNmODgzOWQ0MjZiYmFiMzBkMjQ5NDY0ZTJlZSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82MTQ1NWVmYzAxNzA0ZGZiOWU5YmExYjdiMmY1MTEyZCA9ICQoJzxkaXYgaWQ9Imh0bWxfNjE0NTVlZmMwMTcwNGRmYjllOWJhMWI3YjJmNTExMmQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkRvbiBNaWxscyBOb3J0aCAgQ2x1c3RlciAxPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jNWZjNDNmODgzOWQ0MjZiYmFiMzBkMjQ5NDY0ZTJlZS5zZXRDb250ZW50KGh0bWxfNjE0NTVlZmMwMTcwNGRmYjllOWJhMWI3YjJmNTExMmQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjk1MjY2MmFmNWM3NDg3ODk1Yzg2Yzc4YTBmMmMwNmYuYmluZFBvcHVwKHBvcHVwX2M1ZmM0M2Y4ODM5ZDQyNmJiYWIzMGQyNDk0NjRlMmVlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzViY2Q2YTBkODFlMzRhYTI5Y2ZjMjZjMzE1ZTVkNmRlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzA2Mzk3MiwtNzkuMzA5OTM3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogIiM4MDAwZmYiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjODAwMGZmIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzM3ZGE0NTkyZGQ1MzRiNDNiOThhNGY1Mjc5YmRlMjcxKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzg4NzgxODQ3ODg4MDQyOTJhN2QyNjZjZDNkOGI0Y2FiID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzQyMjAyNTdhM2VjNDRhMzU4MmE5NWU4NzE5MGU5NzFhID0gJCgnPGRpdiBpZD0iaHRtbF80MjIwMjU3YTNlYzQ0YTM1ODJhOTVlODcxOTBlOTcxYSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+V29vZGJpbmUgR2FyZGVucywgUGFya3ZpZXcgSGlsbCBDbHVzdGVyIDE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzg4NzgxODQ3ODg4MDQyOTJhN2QyNjZjZDNkOGI0Y2FiLnNldENvbnRlbnQoaHRtbF80MjIwMjU3YTNlYzQ0YTM1ODJhOTVlODcxOTBlOTcxYSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl81YmNkNmEwZDgxZTM0YWEyOWNmYzI2YzMxNWU1ZDZkZS5iaW5kUG9wdXAocG9wdXBfODg3ODE4NDc4ODgwNDI5MmE3ZDI2NmNkM2Q4YjRjYWIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNmE5OTI4MzBhMTc3NDI3OThjYzMzMTg5Y2I5YzU2MGYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MDYzOTcyLC03OS4zMDk5MzddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiIzgwMDBmZiIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiM4MDAwZmYiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfODc5OTgzOWE4NDljNGZlNjlmNGQ4ZTIxOGFmODc5ZjYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYzhjMWM2MDdjZDljNDAyZmIyMjhmYzI3YmJlNGNkODQgPSAkKCc8ZGl2IGlkPSJodG1sX2M4YzFjNjA3Y2Q5YzQwMmZiMjI4ZmMyN2JiZTRjZDg0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QYXJrdmlldyBIaWxsICBDbHVzdGVyIDE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzg3OTk4MzlhODQ5YzRmZTY5ZjRkOGUyMThhZjg3OWY2LnNldENvbnRlbnQoaHRtbF9jOGMxYzYwN2NkOWM0MDJmYjIyOGZjMjdiYmU0Y2Q4NCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82YTk5MjgzMGExNzc0Mjc5OGNjMzMxODljYjljNTYwZi5iaW5kUG9wdXAocG9wdXBfODc5OTgzOWE4NDljNGZlNjlmNGQ4ZTIxOGFmODc5ZjYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjAyNDg5NGRiZDU3NGJjODgyMDI5NTQ4ZDgyMzljYjggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTcxNjE4LC03OS4zNzg5MzcwOTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjODAwMGZmIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzgwMDBmZiIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF8zN2RhNDU5MmRkNTM0YjQzYjk4YTRmNTI3OWJkZTI3MSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84MjNkOTU0ZTIyM2Y0NzFiYWE3MzgyMWIwMTRlZDIyMCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF85ZmFlN2UyMWI5MDg0M2IxYTRhNmI4NjgxMTM1ZWFmMiA9ICQoJzxkaXYgaWQ9Imh0bWxfOWZhZTdlMjFiOTA4NDNiMWE0YTZiODY4MTEzNWVhZjIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlJ5ZXJzb24sIEdhcmRlbiBEaXN0cmljdCBDbHVzdGVyIDE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzgyM2Q5NTRlMjIzZjQ3MWJhYTczODIxYjAxNGVkMjIwLnNldENvbnRlbnQoaHRtbF85ZmFlN2UyMWI5MDg0M2IxYTRhNmI4NjgxMTM1ZWFmMik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82MDI0ODk0ZGJkNTc0YmM4ODIwMjk1NDhkODIzOWNiOC5iaW5kUG9wdXAocG9wdXBfODIzZDk1NGUyMjNmNDcxYmFhNzM4MjFiMDE0ZWQyMjApOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDZlNTIwMDc0NDYxNDg1MTlmNDdiOTdmMzRmOTRjMDAgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTcxNjE4LC03OS4zNzg5MzcwOTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjODAwMGZmIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzgwMDBmZiIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF8zN2RhNDU5MmRkNTM0YjQzYjk4YTRmNTI3OWJkZTI3MSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82MmFlMTEzZmVlMjI0MDgzYmNlMDhjZDIxZTg0ZmQ1ZSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9jNWFlNTE0ZTIyZDI0MzlmYWZhOWY3MjlkNDA5NjQyZCA9ICQoJzxkaXYgaWQ9Imh0bWxfYzVhZTUxNGUyMmQyNDM5ZmFmYTlmNzI5ZDQwOTY0MmQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkdhcmRlbiBEaXN0cmljdCAgQ2x1c3RlciAxPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82MmFlMTEzZmVlMjI0MDgzYmNlMDhjZDIxZTg0ZmQ1ZS5zZXRDb250ZW50KGh0bWxfYzVhZTUxNGUyMmQyNDM5ZmFmYTlmNzI5ZDQwOTY0MmQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMDZlNTIwMDc0NDYxNDg1MTlmNDdiOTdmMzRmOTRjMDAuYmluZFBvcHVwKHBvcHVwXzYyYWUxMTNmZWUyMjQwODNiY2UwOGNkMjFlODRmZDVlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2QxZWY0MjA1OWQzZTRjMWZiODk1NGRlYjFlMWIwNTc0ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzA5NTc3LC03OS40NDUwNzI1OTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjODAwMGZmIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzgwMDBmZiIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF8zN2RhNDU5MmRkNTM0YjQzYjk4YTRmNTI3OWJkZTI3MSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83ZDhiMTMyZjIzYWM0MDQ2YjVjYjM3NzQxM2RhM2Q4NyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mZmRmYzM3OTJlMzY0Y2FjOTE2MjMzMWFiMTNkNmRkMyA9ICQoJzxkaXYgaWQ9Imh0bWxfZmZkZmMzNzkyZTM2NGNhYzkxNjIzMzFhYjEzZDZkZDMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkdsZW5jYWlybiAgQ2x1c3RlciAxPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF83ZDhiMTMyZjIzYWM0MDQ2YjVjYjM3NzQxM2RhM2Q4Ny5zZXRDb250ZW50KGh0bWxfZmZkZmMzNzkyZTM2NGNhYzkxNjIzMzFhYjEzZDZkZDMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZDFlZjQyMDU5ZDNlNGMxZmI4OTU0ZGViMWUxYjA1NzQuYmluZFBvcHVwKHBvcHVwXzdkOGIxMzJmMjNhYzQwNDZiNWNiMzc3NDEzZGEzZDg3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2I1Mzg0YmFjMmRlNDQ1N2M4ZDI0NDVjMGYxNzRiOTIwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjUwOTQzMiwtNzkuNTU0NzI0NDAwMDAwMDFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiI2ZmMDAwMCIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiNmZjAwMDAiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOWNmYTQ2NDM4YzkxNGY1M2IyNjZmOTI1MzdjZmMzMDcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYWM1ZmVkZTA2YTQ2NGI1NTljMmZhMGUzZDJmMGYyM2IgPSAkKCc8ZGl2IGlkPSJodG1sX2FjNWZlZGUwNmE0NjRiNTU5YzJmYTBlM2QyZjBmMjNiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DbG92ZXJkYWxlLCBJc2xpbmd0b24sIE1hcnRpbiBHcm92ZSwgUHJpbmNlc3MgR2FyZGVucywgV2VzdCBEZWFuZSBQYXJrIENsdXN0ZXIgMDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOWNmYTQ2NDM4YzkxNGY1M2IyNjZmOTI1MzdjZmMzMDcuc2V0Q29udGVudChodG1sX2FjNWZlZGUwNmE0NjRiNTU5YzJmYTBlM2QyZjBmMjNiKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2I1Mzg0YmFjMmRlNDQ1N2M4ZDI0NDVjMGYxNzRiOTIwLmJpbmRQb3B1cChwb3B1cF85Y2ZhNDY0MzhjOTE0ZjUzYjI2NmY5MjUzN2NmYzMwNyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zMmI4MGRiYzY4ZDY0OWI3ODI5Y2Q4MzE4MGE2NjBkMiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY1MDk0MzIsLTc5LjU1NDcyNDQwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogIiNmZjAwMDAiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjZmYwMDAwIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzM3ZGE0NTkyZGQ1MzRiNDNiOThhNGY1Mjc5YmRlMjcxKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2I2NzViMTc3Y2E4ODRhN2RiMDQxMTFlMzM5ODEzYWJjID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2M5NjBjOWY4OGNiNzQ5OWU4NzY4MDBiZjFkOTViMmZhID0gJCgnPGRpdiBpZD0iaHRtbF9jOTYwYzlmODhjYjc0OTllODc2ODAwYmYxZDk1YjJmYSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SXNsaW5ndG9uICBDbHVzdGVyIDA8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2I2NzViMTc3Y2E4ODRhN2RiMDQxMTFlMzM5ODEzYWJjLnNldENvbnRlbnQoaHRtbF9jOTYwYzlmODhjYjc0OTllODc2ODAwYmYxZDk1YjJmYSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8zMmI4MGRiYzY4ZDY0OWI3ODI5Y2Q4MzE4MGE2NjBkMi5iaW5kUG9wdXAocG9wdXBfYjY3NWIxNzdjYTg4NGE3ZGIwNDExMWUzMzk4MTNhYmMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMWQ3YWZlMjdhZGNlNDk0Y2JhZGE3MWI1NGUxMmE4ZDMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTA5NDMyLC03OS41NTQ3MjQ0MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjZmYwMDAwIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiI2ZmMDAwMCIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF8zN2RhNDU5MmRkNTM0YjQzYjk4YTRmNTI3OWJkZTI3MSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80YWE2NDRlZWU5ZjU0NGNiOTFhOWE5MmJiY2IxODk3ZSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9jNWZhN2EyOTc3ZGE0OWRiYjljNzk3MWFlZjRlY2VjYSA9ICQoJzxkaXYgaWQ9Imh0bWxfYzVmYTdhMjk3N2RhNDlkYmI5Yzc5NzFhZWY0ZWNlY2EiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1hcnRpbiBHcm92ZSAgQ2x1c3RlciAwPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF80YWE2NDRlZWU5ZjU0NGNiOTFhOWE5MmJiY2IxODk3ZS5zZXRDb250ZW50KGh0bWxfYzVmYTdhMjk3N2RhNDlkYmI5Yzc5NzFhZWY0ZWNlY2EpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMWQ3YWZlMjdhZGNlNDk0Y2JhZGE3MWI1NGUxMmE4ZDMuYmluZFBvcHVwKHBvcHVwXzRhYTY0NGVlZTlmNTQ0Y2I5MWE5YTkyYmJjYjE4OTdlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzgzYzQxYzIwMDk4YjQ1NWY4MWE3Nzk1OTU0NTA3YmQ2ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjUwOTQzMiwtNzkuNTU0NzI0NDAwMDAwMDFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiI2ZmMDAwMCIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiNmZjAwMDAiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYjdmYzE3NjczYmZiNGQwN2I0ZmI0MjVlZjcxOTNjNGQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfN2EyNDM2MmE1ZWY2NDViYWI1MTMzYjRhODhhYjdiNTMgPSAkKCc8ZGl2IGlkPSJodG1sXzdhMjQzNjJhNWVmNjQ1YmFiNTEzM2I0YTg4YWI3YjUzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QcmluY2VzcyBHYXJkZW5zICBDbHVzdGVyIDA8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2I3ZmMxNzY3M2JmYjRkMDdiNGZiNDI1ZWY3MTkzYzRkLnNldENvbnRlbnQoaHRtbF83YTI0MzYyYTVlZjY0NWJhYjUxMzNiNGE4OGFiN2I1Myk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl84M2M0MWMyMDA5OGI0NTVmODFhNzc5NTk1NDUwN2JkNi5iaW5kUG9wdXAocG9wdXBfYjdmYzE3NjczYmZiNGQwN2I0ZmI0MjVlZjcxOTNjNGQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfN2ExZDQ2NzY3OWI5NDRjNGJjMTc3ZjcyNTc2NTk2YzkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTA5NDMyLC03OS41NTQ3MjQ0MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjZmYwMDAwIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiI2ZmMDAwMCIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF8zN2RhNDU5MmRkNTM0YjQzYjk4YTRmNTI3OWJkZTI3MSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83ZjIxZDQ4YjRhYzU0NzA5OWU2YWU2OTZkODM4MDU5YiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82MDVlZjA1YmI1OTU0ODIxODUyZTc0ZjJhOTBlMzM4MSA9ICQoJzxkaXYgaWQ9Imh0bWxfNjA1ZWYwNWJiNTk1NDgyMTg1MmU3NGYyYTkwZTMzODEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldlc3QgRGVhbmUgUGFyayAgQ2x1c3RlciAwPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF83ZjIxZDQ4YjRhYzU0NzA5OWU2YWU2OTZkODM4MDU5Yi5zZXRDb250ZW50KGh0bWxfNjA1ZWYwNWJiNTk1NDgyMTg1MmU3NGYyYTkwZTMzODEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfN2ExZDQ2NzY3OWI5NDRjNGJjMTc3ZjcyNTc2NTk2YzkuYmluZFBvcHVwKHBvcHVwXzdmMjFkNDhiNGFjNTQ3MDk5ZTZhZTY5NmQ4MzgwNTliKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2MxYTRiODQ3NjEyZjRhM2E4OTYwNjFjYmYxYjgzMGI0ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzg0NTM1MSwtNzkuMTYwNDk3MDk5OTk5OTldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiIzAwYjVlYiIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMwMGI1ZWIiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYzY0ZmVhMzA1Yzc1NDAyN2JhMWRmMmIwNWEyNjljMzIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMDRkMWJkNDViMWFhNDZkYjhiYjE5ODcwNTVmZTJmMjQgPSAkKCc8ZGl2IGlkPSJodG1sXzA0ZDFiZDQ1YjFhYTQ2ZGI4YmIxOTg3MDU1ZmUyZjI0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IaWdobGFuZCBDcmVlayAgQ2x1c3RlciAyPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jNjRmZWEzMDVjNzU0MDI3YmExZGYyYjA1YTI2OWMzMi5zZXRDb250ZW50KGh0bWxfMDRkMWJkNDViMWFhNDZkYjhiYjE5ODcwNTVmZTJmMjQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYzFhNGI4NDc2MTJmNGEzYTg5NjA2MWNiZjFiODMwYjQuYmluZFBvcHVwKHBvcHVwX2M2NGZlYTMwNWM3NTQwMjdiYTFkZjJiMDVhMjY5YzMyKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzUwODM0ODE0OTczMDQ3ZmU5NDZkZjE4MjAzOGI3YWRhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzg0NTM1MSwtNzkuMTYwNDk3MDk5OTk5OTldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiIzAwYjVlYiIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMwMGI1ZWIiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNzk4OTVhZDI0Y2IzNDViNmI3NjljMzQ5YmNhNmU5ZTcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMGNhODdlOTIzMmZmNGRmZGJjZDVkOGU3M2U4ZmUwYzEgPSAkKCc8ZGl2IGlkPSJodG1sXzBjYTg3ZTkyMzJmZjRkZmRiY2Q1ZDhlNzNlOGZlMGMxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Sb3VnZSBIaWxsLCBQb3J0IFVuaW9uLCBIaWdobGFuZCBDcmVlayBDbHVzdGVyIDI8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzc5ODk1YWQyNGNiMzQ1YjZiNzY5YzM0OWJjYTZlOWU3LnNldENvbnRlbnQoaHRtbF8wY2E4N2U5MjMyZmY0ZGZkYmNkNWQ4ZTczZThmZTBjMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl81MDgzNDgxNDk3MzA0N2ZlOTQ2ZGYxODIwMzhiN2FkYS5iaW5kUG9wdXAocG9wdXBfNzk4OTVhZDI0Y2IzNDViNmI3NjljMzQ5YmNhNmU5ZTcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNGNmNDk0ODk1ODVhNDg3YTkzOTEzMzlmNTA0ZWU5ZDIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43ODQ1MzUxLC03OS4xNjA0OTcwOTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjMDBiNWViIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzAwYjVlYiIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF8zN2RhNDU5MmRkNTM0YjQzYjk4YTRmNTI3OWJkZTI3MSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iYzA0ZjY4ZWI1NTE0NzMxODAyYTgwZGM2NTFlODMyMiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yYzEwZGFlNDc2NmY0YjFiODczY2FhZWFmNGY1OTRlMSA9ICQoJzxkaXYgaWQ9Imh0bWxfMmMxMGRhZTQ3NjZmNGIxYjg3M2NhYWVhZjRmNTk0ZTEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlBvcnQgVW5pb24gIENsdXN0ZXIgMjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYmMwNGY2OGViNTUxNDczMTgwMmE4MGRjNjUxZTgzMjIuc2V0Q29udGVudChodG1sXzJjMTBkYWU0NzY2ZjRiMWI4NzNjYWFlYWY0ZjU5NGUxKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzRjZjQ5NDg5NTg1YTQ4N2E5MzkxMzM5ZjUwNGVlOWQyLmJpbmRQb3B1cChwb3B1cF9iYzA0ZjY4ZWI1NTE0NzMxODAyYTgwZGM2NTFlODMyMik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl82OTRmZTk2NWM1NTU0NTIzODNmNzZjODZmMjFkYmFmNyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjcyNTg5OTcwMDAwMDAxLC03OS4zNDA5MjNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiIzgwMDBmZiIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiM4MDAwZmYiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNDRiNGFmNGVhYzA4NDZiMWFiZDQyY2E5MWY4Mjc4ZGQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNGExOWQ3YTM3YjU4NGQ3ZjgwYjg4ZjA4YTNmNmJhMjEgPSAkKCc8ZGl2IGlkPSJodG1sXzRhMTlkN2EzN2I1ODRkN2Y4MGI4OGYwOGEzZjZiYTIxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5GbGVtaW5nZG9uIFBhcmssIERvbiBNaWxscyBTb3V0aCBDbHVzdGVyIDE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzQ0YjRhZjRlYWMwODQ2YjFhYmQ0MmNhOTFmODI3OGRkLnNldENvbnRlbnQoaHRtbF80YTE5ZDdhMzdiNTg0ZDdmODBiODhmMDhhM2Y2YmEyMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82OTRmZTk2NWM1NTU0NTIzODNmNzZjODZmMjFkYmFmNy5iaW5kUG9wdXAocG9wdXBfNDRiNGFmNGVhYzA4NDZiMWFiZDQyY2E5MWY4Mjc4ZGQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYTI3NGFmMzg5ODY3NDQyMjk1ZTczZGVmOGEwYTYxN2IgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MjU4OTk3MDAwMDAwMSwtNzkuMzQwOTIzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogIiM4MDAwZmYiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjODAwMGZmIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzM3ZGE0NTkyZGQ1MzRiNDNiOThhNGY1Mjc5YmRlMjcxKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2NhZTU4YzZjMjc4MDQyMDFiMDM3MDg1NjUwZmFjZWQ4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzQxMTA4ZDY0ZjhiZTQyNzQ5MzQ2YWRhMmNiYWEyMDBjID0gJCgnPGRpdiBpZD0iaHRtbF80MTEwOGQ2NGY4YmU0Mjc0OTM0NmFkYTJjYmFhMjAwYyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RG9uIE1pbGxzIFNvdXRoICBDbHVzdGVyIDE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2NhZTU4YzZjMjc4MDQyMDFiMDM3MDg1NjUwZmFjZWQ4LnNldENvbnRlbnQoaHRtbF80MTEwOGQ2NGY4YmU0Mjc0OTM0NmFkYTJjYmFhMjAwYyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hMjc0YWYzODk4Njc0NDIyOTVlNzNkZWY4YTBhNjE3Yi5iaW5kUG9wdXAocG9wdXBfY2FlNThjNmMyNzgwNDIwMWIwMzcwODU2NTBmYWNlZDgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjI1ODY4OTYyYmRiNDIyOWJkZjE0MGVmOTIxOTRhMTQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42OTUzNDM5MDAwMDAwMDUsLTc5LjMxODM4ODddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiIzgwMDBmZiIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiM4MDAwZmYiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfMzdkYTQ1OTJkZDUzNGI0M2I5OGE0ZjUyNzliZGUyNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYTkzYzFjYzE1MzlkNDQwMWFjNTgxZjIzZGVkYWJmZmIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOGUwMTUyNTdjMzc1NDc3MWI2MmEzZGY4MTYyNTVhZDAgPSAkKCc8ZGl2IGlkPSJodG1sXzhlMDE1MjU3YzM3NTQ3NzFiNjJhM2RmODE2MjU1YWQwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Xb29kYmluZSBIZWlnaHRzICBDbHVzdGVyIDE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2E5M2MxY2MxNTM5ZDQ0MDFhYzU4MWYyM2RlZGFiZmZiLnNldENvbnRlbnQoaHRtbF84ZTAxNTI1N2MzNzU0NzcxYjYyYTNkZjgxNjI1NWFkMCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9iMjU4Njg5NjJiZGI0MjI5YmRmMTQwZWY5MjE5NGExNC5iaW5kUG9wdXAocG9wdXBfYTkzYzFjYzE1MzlkNDQwMWFjNTgxZjIzZGVkYWJmZmIpOwoKICAgICAgICAgICAgCiAgICAgICAgCjwvc2NyaXB0Pg==\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
],
"text/plain": [
"<folium.folium.Map at 0x7fbaf4721898>"
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"map_clusters = folium.Map(location=[latitude, longitude], zoom_start=11)\n",
"\n",
"\n",
"x = np.arange(kclusters)\n",
"ys = [i + x + (i*x)**2 for i in range(kclusters)]\n",
"colors_array = cm.rainbow(np.linspace(0, 1, len(ys)))\n",
"rainbow = [colors.rgb2hex(i) for i in colors_array]\n",
"markers_colors = []\n",
"for lat, lon, poi, cluster in zip(toronto_merged['Latitude'], toronto_merged['Longitude'], toronto_merged['Neighborhood'], toronto_merged['Cluster_Labels2']):\n",
" label = folium.Popup(str(poi) + ' Cluster ' + str(cluster), parse_html=True)\n",
" folium.CircleMarker(\n",
" [lat, lon],\n",
" radius=5,\n",
" popup=label,\n",
" color=rainbow[cluster-1],\n",
" fill=True,\n",
" fill_color=rainbow[cluster-1],\n",
" fill_opacity=0.7).add_to(map_clusters)\n",
"\n",
"map_clusters\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 92,
"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>Borough</th>\n",
" <th>Cluster Labels2</th>\n",
" <th>1st Most Common Venue</th>\n",
" <th>2nd Most Common Venue</th>\n",
" <th>3rd Most Common Venue</th>\n",
" <th>4th Most Common Venue</th>\n",
" <th>5th Most Common Venue</th>\n",
" <th>6th Most Common Venue</th>\n",
" <th>7th Most Common Venue</th>\n",
" <th>8th Most Common Venue</th>\n",
" <th>9th Most Common Venue</th>\n",
" <th>10th Most Common Venue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>Etobicoke</td>\n",
" <td>0.0</td>\n",
" <td>Bank</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" <td>Curling Ice</td>\n",
" <td>Department Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>Etobicoke</td>\n",
" <td>0.0</td>\n",
" <td>Bank</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" <td>Curling Ice</td>\n",
" <td>Department Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>Etobicoke</td>\n",
" <td>0.0</td>\n",
" <td>Bank</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" <td>Curling Ice</td>\n",
" <td>Department Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>Etobicoke</td>\n",
" <td>0.0</td>\n",
" <td>Bank</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" <td>Curling Ice</td>\n",
" <td>Department Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>Etobicoke</td>\n",
" <td>0.0</td>\n",
" <td>Bank</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" <td>Curling Ice</td>\n",
" <td>Department Store</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Borough Cluster Labels2 1st Most Common Venue 2nd Most Common Venue \\\n",
"16 Etobicoke 0.0 Bank Yoga Studio \n",
"17 Etobicoke 0.0 Bank Yoga Studio \n",
"18 Etobicoke 0.0 Bank Yoga Studio \n",
"19 Etobicoke 0.0 Bank Yoga Studio \n",
"20 Etobicoke 0.0 Bank Yoga Studio \n",
"\n",
" 3rd Most Common Venue 4th Most Common Venue 5th Most Common Venue \\\n",
"16 Ethiopian Restaurant College Rec Center Comic Shop \n",
"17 Ethiopian Restaurant College Rec Center Comic Shop \n",
"18 Ethiopian Restaurant College Rec Center Comic Shop \n",
"19 Ethiopian Restaurant College Rec Center Comic Shop \n",
"20 Ethiopian Restaurant College Rec Center Comic Shop \n",
"\n",
" 6th Most Common Venue 7th Most Common Venue 8th Most Common Venue \\\n",
"16 Construction & Landscaping Cosmetics Shop Creperie \n",
"17 Construction & Landscaping Cosmetics Shop Creperie \n",
"18 Construction & Landscaping Cosmetics Shop Creperie \n",
"19 Construction & Landscaping Cosmetics Shop Creperie \n",
"20 Construction & Landscaping Cosmetics Shop Creperie \n",
"\n",
" 9th Most Common Venue 10th Most Common Venue \n",
"16 Curling Ice Department Store \n",
"17 Curling Ice Department Store \n",
"18 Curling Ice Department Store \n",
"19 Curling Ice Department Store \n",
"20 Curling Ice Department Store "
]
},
"execution_count": 92,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_merged.loc[toronto_merged['Cluster Labels2'] == 0, toronto_merged.columns[[1] + list(range(5, toronto_merged.shape[1]))]]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n"
]
},
{
"cell_type": "code",
"execution_count": 95,
"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>Borough</th>\n",
" <th>Cluster Labels2</th>\n",
" <th>1st Most Common Venue</th>\n",
" <th>2nd Most Common Venue</th>\n",
" <th>3rd Most Common Venue</th>\n",
" <th>4th Most Common Venue</th>\n",
" <th>5th Most Common Venue</th>\n",
" <th>6th Most Common Venue</th>\n",
" <th>7th Most Common Venue</th>\n",
" <th>8th Most Common Venue</th>\n",
" <th>9th Most Common Venue</th>\n",
" <th>10th Most Common Venue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>North York</td>\n",
" <td>1.0</td>\n",
" <td>Portuguese Restaurant</td>\n",
" <td>Hockey Arena</td>\n",
" <td>Intersection</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Gastropub</td>\n",
" <td>Diner</td>\n",
" <td>College Auditorium</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Downtown Toronto</td>\n",
" <td>1.0</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Pub</td>\n",
" <td>Park</td>\n",
" <td>Bakery</td>\n",
" <td>Restaurant</td>\n",
" <td>Mexican Restaurant</td>\n",
" <td>Breakfast Spot</td>\n",
" <td>Theater</td>\n",
" <td>Café</td>\n",
" <td>Event Space</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Downtown Toronto</td>\n",
" <td>1.0</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Pub</td>\n",
" <td>Park</td>\n",
" <td>Bakery</td>\n",
" <td>Restaurant</td>\n",
" <td>Mexican Restaurant</td>\n",
" <td>Breakfast Spot</td>\n",
" <td>Theater</td>\n",
" <td>Café</td>\n",
" <td>Event Space</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>North York</td>\n",
" <td>1.0</td>\n",
" <td>Clothing Store</td>\n",
" <td>Furniture / Home Store</td>\n",
" <td>Women's Store</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Boutique</td>\n",
" <td>Fraternity House</td>\n",
" <td>Event Space</td>\n",
" <td>Miscellaneous Shop</td>\n",
" <td>Vietnamese Restaurant</td>\n",
" <td>Accessories Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>North York</td>\n",
" <td>1.0</td>\n",
" <td>Clothing Store</td>\n",
" <td>Furniture / Home Store</td>\n",
" <td>Women's Store</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Boutique</td>\n",
" <td>Fraternity House</td>\n",
" <td>Event Space</td>\n",
" <td>Miscellaneous Shop</td>\n",
" <td>Vietnamese Restaurant</td>\n",
" <td>Accessories Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Queen's Park</td>\n",
" <td>1.0</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Gym</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Park</td>\n",
" <td>Sushi Restaurant</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Burger Joint</td>\n",
" <td>Burrito Place</td>\n",
" <td>Portuguese Restaurant</td>\n",
" <td>Persian Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>North York</td>\n",
" <td>1.0</td>\n",
" <td>Gym / Fitness Center</td>\n",
" <td>Caribbean Restaurant</td>\n",
" <td>Café</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Baseball Field</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Electronics Store</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>East York</td>\n",
" <td>1.0</td>\n",
" <td>Pizza Place</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Bank</td>\n",
" <td>Pet Store</td>\n",
" <td>Café</td>\n",
" <td>Breakfast Spot</td>\n",
" <td>Pharmacy</td>\n",
" <td>Intersection</td>\n",
" <td>Gym / Fitness Center</td>\n",
" <td>Gastropub</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>East York</td>\n",
" <td>1.0</td>\n",
" <td>Pizza Place</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Bank</td>\n",
" <td>Pet Store</td>\n",
" <td>Café</td>\n",
" <td>Breakfast Spot</td>\n",
" <td>Pharmacy</td>\n",
" <td>Intersection</td>\n",
" <td>Gym / Fitness Center</td>\n",
" <td>Gastropub</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>Downtown Toronto</td>\n",
" <td>1.0</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Clothing Store</td>\n",
" <td>Café</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Middle Eastern Restaurant</td>\n",
" <td>Bubble Tea Shop</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Pizza Place</td>\n",
" <td>Lingerie Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>Downtown Toronto</td>\n",
" <td>1.0</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Clothing Store</td>\n",
" <td>Café</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Middle Eastern Restaurant</td>\n",
" <td>Bubble Tea Shop</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Pizza Place</td>\n",
" <td>Lingerie Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>North York</td>\n",
" <td>1.0</td>\n",
" <td>Pizza Place</td>\n",
" <td>Pub</td>\n",
" <td>Park</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Diner</td>\n",
" <td>College Auditorium</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Cosmetics Shop</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>North York</td>\n",
" <td>1.0</td>\n",
" <td>Gym</td>\n",
" <td>Asian Restaurant</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Beer Store</td>\n",
" <td>Chinese Restaurant</td>\n",
" <td>Smoke Shop</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Discount Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>North York</td>\n",
" <td>1.0</td>\n",
" <td>Gym</td>\n",
" <td>Asian Restaurant</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Beer Store</td>\n",
" <td>Chinese Restaurant</td>\n",
" <td>Smoke Shop</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Discount Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>East York</td>\n",
" <td>1.0</td>\n",
" <td>Pharmacy</td>\n",
" <td>Park</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Athletics &amp; Sports</td>\n",
" <td>Bus Stop</td>\n",
" <td>Curling Ice</td>\n",
" <td>Beer Store</td>\n",
" <td>Skating Rink</td>\n",
" <td>Diner</td>\n",
" <td>College Rec Center</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Borough Cluster Labels2 1st Most Common Venue \\\n",
"1 North York 1.0 Portuguese Restaurant \n",
"2 Downtown Toronto 1.0 Coffee Shop \n",
"3 Downtown Toronto 1.0 Coffee Shop \n",
"4 North York 1.0 Clothing Store \n",
"5 North York 1.0 Clothing Store \n",
"6 Queen's Park 1.0 Coffee Shop \n",
"10 North York 1.0 Gym / Fitness Center \n",
"11 East York 1.0 Pizza Place \n",
"12 East York 1.0 Pizza Place \n",
"13 Downtown Toronto 1.0 Coffee Shop \n",
"14 Downtown Toronto 1.0 Coffee Shop \n",
"15 North York 1.0 Pizza Place \n",
"24 North York 1.0 Gym \n",
"25 North York 1.0 Gym \n",
"26 East York 1.0 Pharmacy \n",
"\n",
" 2nd Most Common Venue 3rd Most Common Venue 4th Most Common Venue \\\n",
"1 Hockey Arena Intersection Coffee Shop \n",
"2 Pub Park Bakery \n",
"3 Pub Park Bakery \n",
"4 Furniture / Home Store Women's Store Coffee Shop \n",
"5 Furniture / Home Store Women's Store Coffee Shop \n",
"6 Gym Japanese Restaurant Park \n",
"10 Caribbean Restaurant Café Japanese Restaurant \n",
"11 Fast Food Restaurant Bank Pet Store \n",
"12 Fast Food Restaurant Bank Pet Store \n",
"13 Clothing Store Café Cosmetics Shop \n",
"14 Clothing Store Café Cosmetics Shop \n",
"15 Pub Park Japanese Restaurant \n",
"24 Asian Restaurant Coffee Shop Beer Store \n",
"25 Asian Restaurant Coffee Shop Beer Store \n",
"26 Park Cosmetics Shop Athletics & Sports \n",
"\n",
" 5th Most Common Venue 6th Most Common Venue 7th Most Common Venue \\\n",
"1 Gastropub Diner College Auditorium \n",
"2 Restaurant Mexican Restaurant Breakfast Spot \n",
"3 Restaurant Mexican Restaurant Breakfast Spot \n",
"4 Boutique Fraternity House Event Space \n",
"5 Boutique Fraternity House Event Space \n",
"6 Sushi Restaurant Yoga Studio Burger Joint \n",
"10 Baseball Field Yoga Studio Electronics Store \n",
"11 Café Breakfast Spot Pharmacy \n",
"12 Café Breakfast Spot Pharmacy \n",
"13 Middle Eastern Restaurant Bubble Tea Shop Italian Restaurant \n",
"14 Middle Eastern Restaurant Bubble Tea Shop Italian Restaurant \n",
"15 Diner College Auditorium College Rec Center \n",
"24 Chinese Restaurant Smoke Shop Fast Food Restaurant \n",
"25 Chinese Restaurant Smoke Shop Fast Food Restaurant \n",
"26 Bus Stop Curling Ice Beer Store \n",
"\n",
" 8th Most Common Venue 9th Most Common Venue \\\n",
"1 College Rec Center Comic Shop \n",
"2 Theater Café \n",
"3 Theater Café \n",
"4 Miscellaneous Shop Vietnamese Restaurant \n",
"5 Miscellaneous Shop Vietnamese Restaurant \n",
"6 Burrito Place Portuguese Restaurant \n",
"10 Construction & Landscaping Cosmetics Shop \n",
"11 Intersection Gym / Fitness Center \n",
"12 Intersection Gym / Fitness Center \n",
"13 Japanese Restaurant Pizza Place \n",
"14 Japanese Restaurant Pizza Place \n",
"15 Comic Shop Construction & Landscaping \n",
"24 Italian Restaurant Japanese Restaurant \n",
"25 Italian Restaurant Japanese Restaurant \n",
"26 Skating Rink Diner \n",
"\n",
" 10th Most Common Venue \n",
"1 Construction & Landscaping \n",
"2 Event Space \n",
"3 Event Space \n",
"4 Accessories Store \n",
"5 Accessories Store \n",
"6 Persian Restaurant \n",
"10 Creperie \n",
"11 Gastropub \n",
"12 Gastropub \n",
"13 Lingerie Store \n",
"14 Lingerie Store \n",
"15 Cosmetics Shop \n",
"24 Discount Store \n",
"25 Discount Store \n",
"26 College Rec Center "
]
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_merged.loc[toronto_merged['Cluster Labels2'] == 1, toronto_merged.columns[[1] + list(range(5, toronto_merged.shape[1]))]]"
]
},
{
"cell_type": "code",
"execution_count": 97,
"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>Borough</th>\n",
" <th>Cluster Labels2</th>\n",
" <th>1st Most Common Venue</th>\n",
" <th>2nd Most Common Venue</th>\n",
" <th>3rd Most Common Venue</th>\n",
" <th>4th Most Common Venue</th>\n",
" <th>5th Most Common Venue</th>\n",
" <th>6th Most Common Venue</th>\n",
" <th>7th Most Common Venue</th>\n",
" <th>8th Most Common Venue</th>\n",
" <th>9th Most Common Venue</th>\n",
" <th>10th Most Common Venue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>Scarborough</td>\n",
" <td>2.0</td>\n",
" <td>Print Shop</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Discount Store</td>\n",
" <td>College Auditorium</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>Scarborough</td>\n",
" <td>2.0</td>\n",
" <td>Print Shop</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Discount Store</td>\n",
" <td>College Auditorium</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Borough Cluster Labels2 1st Most Common Venue 2nd Most Common Venue \\\n",
"8 Scarborough 2.0 Print Shop Fast Food Restaurant \n",
"9 Scarborough 2.0 Print Shop Fast Food Restaurant \n",
"\n",
" 3rd Most Common Venue 4th Most Common Venue 5th Most Common Venue \\\n",
"8 Yoga Studio Discount Store College Auditorium \n",
"9 Yoga Studio Discount Store College Auditorium \n",
"\n",
" 6th Most Common Venue 7th Most Common Venue 8th Most Common Venue \\\n",
"8 College Rec Center Comic Shop Construction & Landscaping \n",
"9 College Rec Center Comic Shop Construction & Landscaping \n",
"\n",
" 9th Most Common Venue 10th Most Common Venue \n",
"8 Cosmetics Shop Creperie \n",
"9 Cosmetics Shop Creperie "
]
},
"execution_count": 97,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_merged.loc[toronto_merged['Cluster Labels2'] == 2, toronto_merged.columns[[1] + list(range(5, toronto_merged.shape[1]))]]"
]
},
{
"cell_type": "code",
"execution_count": 98,
"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>Borough</th>\n",
" <th>Cluster Labels2</th>\n",
" <th>1st Most Common Venue</th>\n",
" <th>2nd Most Common Venue</th>\n",
" <th>3rd Most Common Venue</th>\n",
" <th>4th Most Common Venue</th>\n",
" <th>5th Most Common Venue</th>\n",
" <th>6th Most Common Venue</th>\n",
" <th>7th Most Common Venue</th>\n",
" <th>8th Most Common Venue</th>\n",
" <th>9th Most Common Venue</th>\n",
" <th>10th Most Common Venue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>North York</td>\n",
" <td>3.0</td>\n",
" <td>Park</td>\n",
" <td>Food &amp; Drink Shop</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Discount Store</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Borough Cluster Labels2 1st Most Common Venue 2nd Most Common Venue \\\n",
"0 North York 3.0 Park Food & Drink Shop \n",
"\n",
" 3rd Most Common Venue 4th Most Common Venue 5th Most Common Venue \\\n",
"0 Fast Food Restaurant Yoga Studio Discount Store \n",
"\n",
" 6th Most Common Venue 7th Most Common Venue 8th Most Common Venue \\\n",
"0 College Rec Center Comic Shop Construction & Landscaping \n",
"\n",
" 9th Most Common Venue 10th Most Common Venue \n",
"0 Cosmetics Shop Creperie "
]
},
"execution_count": 98,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_merged.loc[toronto_merged['Cluster Labels2'] == 3, toronto_merged.columns[[1] + list(range(5, toronto_merged.shape[1]))]]"
]
},
{
"cell_type": "code",
"execution_count": 100,
"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>Borough</th>\n",
" <th>Cluster Labels2</th>\n",
" <th>1st Most Common Venue</th>\n",
" <th>2nd Most Common Venue</th>\n",
" <th>3rd Most Common Venue</th>\n",
" <th>4th Most Common Venue</th>\n",
" <th>5th Most Common Venue</th>\n",
" <th>6th Most Common Venue</th>\n",
" <th>7th Most Common Venue</th>\n",
" <th>8th Most Common Venue</th>\n",
" <th>9th Most Common Venue</th>\n",
" <th>10th Most Common Venue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>Scarborough</td>\n",
" <td>4.0</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Bar</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" <td>Curling Ice</td>\n",
" <td>Department Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>Scarborough</td>\n",
" <td>4.0</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Bar</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" <td>Curling Ice</td>\n",
" <td>Department Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>Scarborough</td>\n",
" <td>4.0</td>\n",
" <td>Construction &amp; Landscaping</td>\n",
" <td>Bar</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>College Rec Center</td>\n",
" <td>Comic Shop</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Creperie</td>\n",
" <td>Curling Ice</td>\n",
" <td>Department Store</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Borough Cluster Labels2 1st Most Common Venue \\\n",
"21 Scarborough 4.0 Construction & Landscaping \n",
"22 Scarborough 4.0 Construction & Landscaping \n",
"23 Scarborough 4.0 Construction & Landscaping \n",
"\n",
" 2nd Most Common Venue 3rd Most Common Venue 4th Most Common Venue \\\n",
"21 Bar Yoga Studio Ethiopian Restaurant \n",
"22 Bar Yoga Studio Ethiopian Restaurant \n",
"23 Bar Yoga Studio Ethiopian Restaurant \n",
"\n",
" 5th Most Common Venue 6th Most Common Venue 7th Most Common Venue \\\n",
"21 College Rec Center Comic Shop Cosmetics Shop \n",
"22 College Rec Center Comic Shop Cosmetics Shop \n",
"23 College Rec Center Comic Shop Cosmetics Shop \n",
"\n",
" 8th Most Common Venue 9th Most Common Venue 10th Most Common Venue \n",
"21 Creperie Curling Ice Department Store \n",
"22 Creperie Curling Ice Department Store \n",
"23 Creperie Curling Ice Department Store "
]
},
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_merged.loc[toronto_merged['Cluster Labels2'] == 4, toronto_merged.columns[[1] + list(range(5, toronto_merged.shape[1]))]]"
]
},
{
"cell_type": "code",
"execution_count": 101,
"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>Borough</th>\n",
" <th>Cluster Labels2</th>\n",
" <th>1st Most Common Venue</th>\n",
" <th>2nd Most Common Venue</th>\n",
" <th>3rd Most Common Venue</th>\n",
" <th>4th Most Common Venue</th>\n",
" <th>5th Most Common Venue</th>\n",
" <th>6th Most Common Venue</th>\n",
" <th>7th Most Common Venue</th>\n",
" <th>8th Most Common Venue</th>\n",
" <th>9th Most Common Venue</th>\n",
" <th>10th Most Common Venue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [Borough, Cluster Labels2, 1st Most Common Venue, 2nd Most Common Venue, 3rd Most Common Venue, 4th Most Common Venue, 5th Most Common Venue, 6th Most Common Venue, 7th Most Common Venue, 8th Most Common Venue, 9th Most Common Venue, 10th Most Common Venue]\n",
"Index: []"
]
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_merged.loc[toronto_merged['Cluster Labels2'] == 5, toronto_merged.columns[[1] + list(range(5, toronto_merged.shape[1]))]]"
]
},
{
"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.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment