perfect-postcode/analyses/online_listings_buy.ipynb
2026-05-31 13:17:11 +01:00

4048 lines
154 KiB
Text

{
"cells": [
{
"cell_type": "markdown",
"id": "55bc43ad",
"metadata": {},
"source": [
"# Online Buy Listings\n",
"\n",
"Analysis of `finder/data/online_listings_buy.parquet`."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "1560f01a",
"metadata": {
"execution": {
"iopub.execute_input": "2026-05-17T10:23:47.594553Z",
"iopub.status.busy": "2026-05-17T10:23:47.594488Z",
"iopub.status.idle": "2026-05-17T10:23:47.858517Z",
"shell.execute_reply": "2026-05-17T10:23:47.858194Z"
}
},
"outputs": [],
"source": [
"from pathlib import Path\n",
"\n",
"import plotly.express as px\n",
"import polars as pl\n",
"\n",
"pl.Config.set_tbl_rows(45)\n",
"pl.Config.set_fmt_str_lengths(80)\n",
"\n",
"DATA_PATH = Path(\"/volumes/projects/perfect-postcode/finder/data/test/online_listings_buy.parquet\")"
]
},
{
"cell_type": "markdown",
"id": "6c5d1f0a",
"metadata": {},
"source": [
"## Load"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "09a54208",
"metadata": {
"execution": {
"iopub.execute_input": "2026-05-17T10:23:47.859716Z",
"iopub.status.busy": "2026-05-17T10:23:47.859600Z",
"iopub.status.idle": "2026-05-17T10:23:47.955592Z",
"shell.execute_reply": "2026-05-17T10:23:47.955345Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Rows: 242\n",
"Columns: 25\n"
]
},
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (3, 2)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>provider</th><th>len</th></tr><tr><td>str</td><td>u32</td></tr></thead><tbody><tr><td>&quot;OnTheMarket&quot;</td><td>85</td></tr><tr><td>&quot;Rightmove&quot;</td><td>99</td></tr><tr><td>&quot;Zoopla&quot;</td><td>58</td></tr></tbody></table></div>"
],
"text/plain": [
"shape: (3, 2)\n",
"┌─────────────┬─────┐\n",
"│ provider ┆ len │\n",
"│ --- ┆ --- │\n",
"│ str ┆ u32 │\n",
"╞═════════════╪═════╡\n",
"│ OnTheMarket ┆ 85 │\n",
"│ Rightmove ┆ 99 │\n",
"│ Zoopla ┆ 58 │\n",
"└─────────────┴─────┘"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (45, 25)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>provider</th><th>Bedrooms</th><th>Bathrooms</th><th>Number of bedrooms &amp; living rooms</th><th>lon</th><th>lat</th><th>Postcode</th><th>Postcode source</th><th>Extracted postcode</th><th>Inferred postcode</th><th>Listing raw address</th><th>Address per Property Register</th><th>UPRN</th><th>Property number or name</th><th>Leasehold/Freehold</th><th>Property type</th><th>Property sub-type</th><th>Price qualifier</th><th>Total floor area (sqm)</th><th>Listing URL</th><th>Listing features</th><th>Listing date</th><th>Listing status</th><th>Asking price</th><th>Asking price per sqm</th></tr><tr><td>str</td><td>i32</td><td>i32</td><td>i32</td><td>f64</td><td>f64</td><td>str</td><td>str</td><td>str</td><td>str</td><td>str</td><td>str</td><td>str</td><td>str</td><td>str</td><td>str</td><td>str</td><td>str</td><td>f64</td><td>str</td><td>list[str]</td><td>datetime[μs]</td><td>str</td><td>i64</td><td>i32</td></tr></thead><tbody><tr><td>&quot;OnTheMarket&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.129102</td><td>51.463636</td><td>&quot;SW4 7EF&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW4 7EF&quot;</td><td>&quot;Bedford Road, London&quot;</td><td>&quot;Bedford Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Apartment&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19209711/&quot;</td><td>[&quot;Tenure: Leasehold (111 years remaining)&quot;, &quot;Top floor one-bedroom apartment within a modern development completed in 2021&quot;, … &quot;Generous double bedroom, contemporary bathroom and separate utility/storage room&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>525000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.100233</td><td>51.466129</td><td>&quot;SE5 9AA&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SE5 9AA&quot;</td><td>&quot;Padfield Road, London, SE5&quot;</td><td>&quot;Padfield Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19522441/&quot;</td><td>[&quot;Tenure: Share of freehold (999 years remaining)&quot;, &quot;One Bedroom&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>275000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>4</td><td>1</td><td>5</td><td>-0.108913</td><td>51.471775</td><td>&quot;SW9 6NN&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 6NN&quot;</td><td>&quot;Lord Holland Lane, Myatts Fields South, London&quot;</td><td>&quot;Lord Holland Lane, Myatts Fields South, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Terraced House&quot;</td><td>&quot;Offers in excess of&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/18847208/&quot;</td><td>[&quot;Tenure: Freehold&quot;, &quot;Four Bedrooms&quot;, … &quot;Superb Condition&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>600000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.107904</td><td>51.473026</td><td>&quot;SW9 6BF&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 6BF&quot;</td><td>&quot;Mostyn Road, London SW9&quot;</td><td>&quot;Mostyn Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19305103/&quot;</td><td>[&quot;Tenure: Leasehold&quot;, &quot;One bedroom&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>350000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.115372</td><td>51.475374</td><td>&quot;SW9 0RG&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0RG&quot;</td><td>&quot;Hackford Road, London SW9&quot;</td><td>&quot;Hackford Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19601952/&quot;</td><td>[&quot;Tenure: Share of freehold&quot;, &quot;Separate dining and living room&quot;, … &quot;Study&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>475000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>0</td><td>1</td><td>1</td><td>-0.117911</td><td>51.476212</td><td>&quot;SW9 0HP&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0HP&quot;</td><td>&quot;Clapham Road, London SW9&quot;</td><td>&quot;Clapham Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19601638/&quot;</td><td>[&quot;Tenure: Leasehold&quot;, &quot;Nearest station 0.3mi.&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>225000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.105579</td><td>51.463969</td><td>&quot;SW9 8SE&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 8SE&quot;</td><td>&quot;Coldharbour Lane, Brixton, London, SW9&quot;</td><td>&quot;Coldharbour Lane, Brixton, London&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19601141/&quot;</td><td>[&quot;Tenure: Leasehold&quot;, &quot;Fantastic two bedroom period flat&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>575000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.116437</td><td>51.466426</td><td>&quot;SW9 9FX&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 9FX&quot;</td><td>&quot;Stockwell Road, SW9&quot;</td><td>&quot;Stockwell Road&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19599310/&quot;</td><td>[&quot;Tenure: Leasehold (120 years remaining)&quot;, &quot;One double bedroom&quot;, &quot;Chain-free&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>435000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.102355</td><td>51.46566</td><td>&quot;SW9 8RU&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 8RU&quot;</td><td>&quot;Coldharbour Lane, SW9&quot;</td><td>&quot;Coldharbour Lane&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;Offers over&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19599313/&quot;</td><td>[&quot;Tenure: Leasehold (127 years remaining)&quot;, &quot;Two double bedrooms&quot;, &quot;Chain-free&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>450000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.114496</td><td>51.466421</td><td>&quot;SW9 0FH&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0FH&quot;</td><td>&quot;Stockwell Park Walk, London, SW9&quot;</td><td>&quot;Stockwell Park Walk, London&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;Offers in excess of&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/18060975/&quot;</td><td>[&quot;Tenure: Leasehold (113 years remaining)&quot;, &quot;Stylish and well-presented two-bedroom, two-bathroom apartment&quot;, &quot;Study&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>500000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.126918</td><td>51.469851</td><td>&quot;SW4 6BF&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW4 6BF&quot;</td><td>&quot;20 Fergusson Mews, London, SW4&quot;</td><td>&quot;20 Fergusson Mews, London&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;Offers in excess of&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19266851/&quot;</td><td>[&quot;Tenure: Leasehold&quot;, &quot;Gated Development&quot;, … &quot;Chain-free&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>650000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.116535</td><td>51.466385</td><td>&quot;SW9 9FX&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 9FX&quot;</td><td>&quot;Stockwell Road, Stockwell, London, SW9&quot;</td><td>&quot;Stockwell Road, Stockwell, London&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;Offers in excess of&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19167472/&quot;</td><td>[&quot;Tenure: Leasehold (125 years remaining)&quot;, &quot;Stylish finish&quot;, … &quot;Chain-free&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>450000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.1109</td><td>51.462364</td><td>&quot;SW9 8GA&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 8GA&quot;</td><td>&quot;Milles Square, Brixton, London, SW9&quot;</td><td>&quot;Milles Square, Brixton, London&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19592532/&quot;</td><td>[&quot;Tenure: Leasehold (155 years remaining)&quot;, &quot;Neatly presented 1 bedroom flat in a convenient location&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>340000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>2</td><td>1</td><td>3</td><td>-0.110269</td><td>51.46006</td><td>&quot;SE24 0LW&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SE24 0LW&quot;</td><td>&quot;Railton Road, London SE24&quot;</td><td>&quot;Railton Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19591254/&quot;</td><td>[&quot;Tenure: Leasehold&quot;, &quot;Two Double Bedrooms&quot;, &quot;Chain-free&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>500000</td><td>null</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.126297</td><td>51.466742</td><td>&quot;SW9 9LE&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 9LE&quot;</td><td>&quot;Hemberton Road, London SW9&quot;</td><td>&quot;Hemberton Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.onthemarket.com/details/19591126/&quot;</td><td>[&quot;Tenure: Share of freehold&quot;, &quot;Chain Free&quot;, … &quot;Study&quot;]</td><td>null</td><td>&quot;For sale&quot;</td><td>550000</td><td>null</td></tr><tr><td>&quot;Rightmove&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.121569</td><td>51.471079</td><td>&quot;SW9 9EU&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 9EU&quot;</td><td>&quot;Stockwell Road, London, SW9&quot;</td><td>&quot;Stockwell Road, London&quot;</td><td>null</td><td>null</td><td>null</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Apartment&quot;</td><td>&quot;Guide Price&quot;</td><td>null</td><td>&quot;https://www.rightmove.co.uk/properties/89076063#/?channel=RES_BUY&quot;</td><td>[&quot;Within easy reach of local amenities, green spaces and transport connections&quot;, &quot;Excellent value-add opportunity for owner-occupiers and investors&quot;, … &quot;Well-proportioned one-bedroom apartment in a popular SW9 location&quot;]</td><td>2026-05-29 14:30:37</td><td>&quot;For sale&quot;</td><td>310000</td><td>null</td></tr><tr><td>&quot;Rightmove&quot;</td><td>5</td><td>4</td><td>9</td><td>-0.11817</td><td>51.47115</td><td>&quot;SW9 0DG&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0DG&quot;</td><td>&quot;Stockwell Park Crescent II, London SW9&quot;</td><td>&quot;Stockwell Park Crescent II, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Semi-Detached&quot;</td><td>&quot;Semi-Detached&quot;</td><td>&quot;&quot;</td><td>310.6</td><td>&quot;https://www.rightmove.co.uk/properties/174610352#/?channel=RES_BUY&quot;</td><td>[]</td><td>2026-04-17 18:34:21</td><td>&quot;For sale&quot;</td><td>2595000</td><td>8355</td></tr><tr><td>&quot;Rightmove&quot;</td><td>6</td><td>3</td><td>9</td><td>-0.114727</td><td>51.473247</td><td>&quot;SW9 0AR&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0AR&quot;</td><td>&quot;Groveway, Stockwell&quot;</td><td>&quot;Groveway, Stockwell&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Detached&quot;</td><td>&quot;Detached&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.rightmove.co.uk/properties/174282005#/?channel=RES_BUY&quot;</td><td>[&quot;Early Victorian Family Home&quot;, &quot;Grade II Listed&quot;, … &quot;Wonderful Potential&quot;]</td><td>2026-04-10 11:17:35</td><td>&quot;For sale&quot;</td><td>2295000</td><td>null</td></tr><tr><td>&quot;Rightmove&quot;</td><td>4</td><td>2</td><td>6</td><td>-0.116603</td><td>51.472141</td><td>&quot;SW9 0DD&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0DD&quot;</td><td>&quot;Stockwell Park Road, London, SW9&quot;</td><td>&quot;Stockwell Park Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Semi-Detached&quot;</td><td>&quot;Semi-Detached&quot;</td><td>&quot;&quot;</td><td>216.1</td><td>&quot;https://www.rightmove.co.uk/properties/170781485#/?channel=RES_BUY&quot;</td><td>[&quot;4 bedrooms&quot;, &quot;2 reception rooms&quot;, … &quot;Semi-Detached&quot;]</td><td>2026-01-02 17:30:39</td><td>&quot;For sale&quot;</td><td>2250000</td><td>10412</td></tr><tr><td>&quot;Rightmove&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.11247</td><td>51.46428</td><td>&quot;SW9 7QH&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 7QH&quot;</td><td>&quot;St Johns Buildings, London SW9&quot;</td><td>&quot;St Johns Buildings, London&quot;</td><td>null</td><td>null</td><td>null</td><td>&quot;Terraced&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;&quot;</td><td>213.4</td><td>&quot;https://www.rightmove.co.uk/properties/174206714#/?channel=RES_BUY&quot;</td><td>[]</td><td>2026-04-08 17:23:59</td><td>&quot;For sale&quot;</td><td>2100000</td><td>9841</td></tr><tr><td>&quot;Rightmove&quot;</td><td>4</td><td>3</td><td>7</td><td>-0.116765</td><td>51.47089</td><td>&quot;SW9 0DB&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0DB&quot;</td><td>&quot;Stockwell Park Road, London SW9&quot;</td><td>&quot;Stockwell Park Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Guide Price&quot;</td><td>197.5</td><td>&quot;https://www.rightmove.co.uk/properties/88435821#/?channel=RES_BUY&quot;</td><td>[&quot;4 bedrooms&quot;, &quot;2 reception rooms&quot;, … &quot;Garden&quot;]</td><td>2026-05-13 16:21:42</td><td>&quot;For sale&quot;</td><td>2100000</td><td>10633</td></tr><tr><td>&quot;Rightmove&quot;</td><td>5</td><td>3</td><td>8</td><td>-0.113111</td><td>51.478768</td><td>&quot;SW9 0LJ&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0LJ&quot;</td><td>&quot;Crewdson Road, London SW9&quot;</td><td>&quot;Crewdson Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;&quot;</td><td>246.7</td><td>&quot;https://www.rightmove.co.uk/properties/174798002#/?channel=RES_BUY&quot;</td><td>[&quot;5 bedrooms&quot;, &quot;1 reception room&quot;, … &quot;Garden&quot;]</td><td>2026-04-22 16:04:47</td><td>&quot;For sale&quot;</td><td>1900000</td><td>7702</td></tr><tr><td>&quot;Rightmove&quot;</td><td>3</td><td>3</td><td>6</td><td>-0.11805</td><td>51.47091</td><td>&quot;SW9 0DG&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0DG&quot;</td><td>&quot;Stockwell Park Crescent, Stockwell, London, SW9&quot;</td><td>&quot;Stockwell Park Crescent, Stockwell, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Detached&quot;</td><td>&quot;House&quot;</td><td>&quot;&quot;</td><td>156.8</td><td>&quot;https://www.rightmove.co.uk/properties/88376967#/?channel=RES_BUY&quot;</td><td>[&quot;Wonderful 2-bedroom semi-detached house situated over 3 floors&quot;, &quot;Spacious kitchen&quot;, … &quot;Well located for the local shops and amenities of Clapham and Stockwell Road&quot;]</td><td>2026-05-12 16:14:48</td><td>&quot;For sale&quot;</td><td>1695000</td><td>10810</td></tr><tr><td>&quot;Rightmove&quot;</td><td>5</td><td>3</td><td>8</td><td>-0.119192</td><td>51.474381</td><td>&quot;SW9 0RU&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0RU&quot;</td><td>&quot;Stockwell Park Road, London, SW9&quot;</td><td>&quot;Stockwell Park Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Semi-Detached&quot;</td><td>&quot;Semi-Detached&quot;</td><td>&quot;&quot;</td><td>193.2</td><td>&quot;https://www.rightmove.co.uk/properties/167893637#/?channel=RES_BUY&quot;</td><td>[]</td><td>2025-10-07 09:57:34</td><td>&quot;For sale&quot;</td><td>1695000</td><td>8773</td></tr><tr><td>&quot;Rightmove&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.11778</td><td>51.470774</td><td>&quot;SW9 0DG&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0DG&quot;</td><td>&quot;Stockwell Park Crescent, Stockwell&quot;</td><td>&quot;Stockwell Park Crescent, Stockwell&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Semi-Detached&quot;</td><td>&quot;Semi-Detached&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.rightmove.co.uk/properties/173668991#/?channel=RES_BUY&quot;</td><td>[&quot;Georgian Home&quot;, &quot;Excellent Condition&quot;, … &quot;No Onward Chain&quot;]</td><td>2026-03-25 09:55:49</td><td>&quot;For sale&quot;</td><td>1695000</td><td>null</td></tr><tr><td>&quot;Rightmove&quot;</td><td>4</td><td>3</td><td>7</td><td>-0.121041</td><td>51.465546</td><td>&quot;SW9 9RF&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 9RF&quot;</td><td>&quot;Hargwyne Street, London, SW9&quot;</td><td>&quot;Hargwyne Street, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;&quot;</td><td>165.7</td><td>&quot;https://www.rightmove.co.uk/properties/174050450#/?channel=RES_BUY&quot;</td><td>[]</td><td>2026-04-02 16:51:56</td><td>&quot;For sale&quot;</td><td>1650000</td><td>9958</td></tr><tr><td>&quot;Rightmove&quot;</td><td>5</td><td>2</td><td>7</td><td>-0.119194</td><td>51.470986</td><td>&quot;SW9 0SW&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0SW&quot;</td><td>&quot;Burnley Road, London, SW9&quot;</td><td>&quot;Burnley Road, London&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Guide Price&quot;</td><td>199.5</td><td>&quot;https://www.rightmove.co.uk/properties/88367181#/?channel=RES_BUY&quot;</td><td>[&quot;Quiet Residential Street&quot;, &quot;Versatile Accommodation&quot;, … &quot;Period Features&quot;]</td><td>2026-05-12 14:23:19</td><td>&quot;For sale&quot;</td><td>1595000</td><td>7995</td></tr><tr><td>&quot;Rightmove&quot;</td><td>5</td><td>3</td><td>8</td><td>-0.118914</td><td>51.475262</td><td>&quot;SW9 0QQ&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 0QQ&quot;</td><td>&quot;Clapham Road, Stockwell&quot;</td><td>&quot;Clapham Road, Stockwell&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.rightmove.co.uk/properties/172178081#/?channel=RES_BUY&quot;</td><td>[&quot;Georgian Townhouse&quot;, &quot;Five Double Bedrooms&quot;, … &quot;2617sq.ft&quot;]</td><td>2026-02-13 14:31:16</td><td>&quot;For sale&quot;</td><td>1550000</td><td>null</td></tr><tr><td>&quot;Rightmove&quot;</td><td>8</td><td>1</td><td>9</td><td>-0.114329</td><td>51.465359</td><td>&quot;SW9 7AW&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 7AW&quot;</td><td>&quot;Brixton Road, Brixton High Street&quot;</td><td>&quot;Brixton Road, Brixton High Street&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Guide Price&quot;</td><td>44.0</td><td>&quot;https://www.rightmove.co.uk/properties/88139847#/?channel=RES_BUY&quot;</td><td>[&quot;FREEHOLD MIXED USE COMMERCIAL &amp; RESIDENTIAL&quot;, &quot;GROUND FLOOR TAKE-AWAY - LEASE EXPIRING 2030&quot;, … &quot;NEAR BRIXTON UNDERGROUND &amp; OVERGROUND STATIONS&quot;]</td><td>2026-05-06 17:31:38</td><td>&quot;For sale&quot;</td><td>1550000</td><td>35227</td></tr><tr><td>&quot;Rightmove&quot;</td><td>4</td><td>2</td><td>6</td><td>-0.118903</td><td>51.461726</td><td>&quot;SW9 8DR&quot;</td><td>&quot;coordinates&quot;</td><td>null</td><td>&quot;SW9 8DR&quot;</td><td>&quot;Trinity Gardens, LONDON&quot;</td><td>&quot;Trinity Gardens, LONDON&quot;</td><td>null</td><td>null</td><td>&quot;Freehold&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Terraced&quot;</td><td>&quot;Guide Price&quot;</td><td>114.5</td><td>&quot;https://www.rightmove.co.uk/properties/174274454#/?channel=RES_BUY&quot;</td><td>[&quot;Victorian House&quot;, &quot;Mid Terraced&quot;, … &quot;Central Location&quot;]</td><td>2026-04-10 09:39:04</td><td>&quot;For sale&quot;</td><td>1500000</td><td>13100</td></tr><tr><td>&quot;Zoopla&quot;</td><td>4</td><td>2</td><td>6</td><td>-0.116819</td><td>51.477238</td><td>&quot;SW9 0HD&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 0HU&quot;</td><td>&quot;Caldwell Street, Stockwell SW9&quot;</td><td>&quot;1, Caldwell Street, Stockwell&quot;</td><td>&quot;100021818679&quot;</td><td>&quot;1&quot;</td><td>&quot;Freehold&quot;</td><td>&quot;Other&quot;</td><td>&quot;Property&quot;</td><td>&quot;&quot;</td><td>114.0</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/73326946/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>995000</td><td>8728</td></tr><tr><td>&quot;Zoopla&quot;</td><td>2</td><td>1</td><td>3</td><td>-0.118798</td><td>51.468221</td><td>&quot;SW9 0TZ&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 9PU&quot;</td><td>&quot;Stockwell Road, Stockwell, London SW9&quot;</td><td>&quot;Flat 27, Addington House,, Stockwell Road, Stockwell, London&quot;</td><td>&quot;100021894599&quot;</td><td>&quot;Flat 27, Addington House,&quot;</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>77.9</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/72554891/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>350000</td><td>4493</td></tr><tr><td>&quot;Zoopla&quot;</td><td>5</td><td>3</td><td>8</td><td>-0.119192</td><td>51.474381</td><td>&quot;SW9 0AP&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 0RU&quot;</td><td>&quot;Stockwell Park Road, London SW9&quot;</td><td>&quot;1, Stockwell Park Road, London&quot;</td><td>&quot;100023386020&quot;</td><td>&quot;1&quot;</td><td>&quot;Freehold&quot;</td><td>&quot;Semi-Detached&quot;</td><td>&quot;Semi Detached&quot;</td><td>&quot;&quot;</td><td>194.9</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/69392186/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>1695000</td><td>8697</td></tr><tr><td>&quot;Zoopla&quot;</td><td>3</td><td>2</td><td>5</td><td>-0.122658</td><td>51.469424</td><td>&quot;SW9 9HG&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 9HE&quot;</td><td>&quot;Lingham Street, Stockwell, London SW9&quot;</td><td>&quot;Flat 11 Beale House, 45, Lingham Street, Stockwell, London&quot;</td><td>&quot;100021894650&quot;</td><td>&quot;Flat 11 Beale House, 45&quot;</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>102.9</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/73306789/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>525000</td><td>5102</td></tr><tr><td>&quot;Zoopla&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.129002</td><td>51.46795</td><td>&quot;SW9 9AN&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 9AN&quot;</td><td>&quot;Houghton Square, London SW9&quot;</td><td>&quot;17, Houghton Square, London&quot;</td><td>&quot;10008788775&quot;</td><td>&quot;17&quot;</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>72.0</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/73302918/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>500000</td><td>6944</td></tr><tr><td>&quot;Zoopla&quot;</td><td>2</td><td>1</td><td>3</td><td>-0.115029</td><td>51.477508</td><td>&quot;SW9 0ET&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 0EN&quot;</td><td>&quot;Cleveland House, Hackford Road, London SW9&quot;</td><td>&quot;Flat 4,, Cleveland House, Hackford Road, London&quot;</td><td>&quot;100021847214&quot;</td><td>&quot;Flat 4,&quot;</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>55.0</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/73302851/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>515000</td><td>9364</td></tr><tr><td>&quot;Zoopla&quot;</td><td>2</td><td>1</td><td>3</td><td>-0.125681</td><td>51.466593</td><td>&quot;SW9 9LF&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 9LF&quot;</td><td>&quot;Hemberton Road, Clapham North, London SW9&quot;</td><td>&quot;chpk0226649, Hemberton Road, Clapham North, London&quot;</td><td>null</td><td>&quot;chpk0226649&quot;</td><td>null</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>49.7</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/71215394/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>475000</td><td>9557</td></tr><tr><td>&quot;Zoopla&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.117086</td><td>51.466529</td><td>&quot;SW9 9FX&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 9TG&quot;</td><td>&quot;Stockwell Road SW9&quot;</td><td>&quot;Flat 59, 151, Stockwell Road&quot;</td><td>&quot;10094957235&quot;</td><td>&quot;Flat 59, 151&quot;</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>52.0</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/73250562/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>465000</td><td>8942</td></tr><tr><td>&quot;Zoopla&quot;</td><td>2</td><td>1</td><td>3</td><td>-0.12876</td><td>51.464473</td><td>&quot;SW9 9NW&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 9PG&quot;</td><td>&quot;Fenwick Place SW9&quot;</td><td>&quot;First Floor Flat, 70, Fenwick Place&quot;</td><td>null</td><td>&quot;First Floor Flat, 70&quot;</td><td>null</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>70.2</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/73268982/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>599950</td><td>8546</td></tr><tr><td>&quot;Zoopla&quot;</td><td>1</td><td>1</td><td>2</td><td>-0.108771</td><td>51.470695</td><td>&quot;SW9 7SB&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 7JX&quot;</td><td>&quot;Loughborough Road SW9&quot;</td><td>&quot;Flat C, 58, Loughborough Road&quot;</td><td>null</td><td>&quot;Flat C, 58&quot;</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>44.1</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/73268027/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>375000</td><td>8503</td></tr><tr><td>&quot;Zoopla&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.108351</td><td>51.475345</td><td>&quot;SW9 7RH&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 7BN&quot;</td><td>&quot;Eythorne Road, Oval SW9&quot;</td><td>&quot;Flat 7, 5, Eythorne Road, Oval&quot;</td><td>null</td><td>&quot;Flat 7, 5&quot;</td><td>null</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>null</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/73266802/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>575000</td><td>null</td></tr><tr><td>&quot;Zoopla&quot;</td><td>2</td><td>1</td><td>3</td><td>-0.12142</td><td>51.472181</td><td>&quot;SW9 9AU&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 9AU&quot;</td><td>&quot;Yates Court, Stockwell, London SW9&quot;</td><td>&quot;chpk3677610, Yates Court, Stockwell, London&quot;</td><td>null</td><td>&quot;chpk3677610&quot;</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>72.0</td><td>&quot;https://www.zoopla.co.uk/for-sale/details/73261921/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>475000</td><td>6597</td></tr><tr><td>&quot;Zoopla&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.10787</td><td>51.476628</td><td>&quot;SW9 6HP&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 6SB&quot;</td><td>&quot;Beam, Lambeth SW9, New home&quot;</td><td>&quot;Beam, Lambeth SW9, New home&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>74.4</td><td>&quot;https://www.zoopla.co.uk/new-homes/details/73247019/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>580000</td><td>7796</td></tr><tr><td>&quot;Zoopla&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.10787</td><td>51.476628</td><td>&quot;SW9 6HP&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 6SB&quot;</td><td>&quot;Beam, Lambeth SW9, New home&quot;</td><td>&quot;Beam, Lambeth SW9, New home&quot;</td><td>null</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>74.4</td><td>&quot;https://www.zoopla.co.uk/new-homes/details/73246935/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>595000</td><td>7997</td></tr><tr><td>&quot;Zoopla&quot;</td><td>2</td><td>2</td><td>4</td><td>-0.122738</td><td>51.467418</td><td>&quot;SW9 9FX&quot;</td><td>&quot;detail_address&quot;</td><td>null</td><td>&quot;SW9 9DG&quot;</td><td>&quot;Stockwell Road, Brixton SW9, New home&quot;</td><td>&quot;Stockwell Road, Brixton SW9, New home&quot;</td><td>&quot;10094957206&quot;</td><td>null</td><td>&quot;Leasehold&quot;</td><td>&quot;Flats/Maisonettes&quot;</td><td>&quot;Flat&quot;</td><td>&quot;&quot;</td><td>72.0</td><td>&quot;https://www.zoopla.co.uk/new-homes/details/73239981/&quot;</td><td>[]</td><td>null</td><td>&quot;For sale&quot;</td><td>575000</td><td>7986</td></tr></tbody></table></div>"
],
"text/plain": [
"shape: (45, 25)\n",
"┌───────────┬──────────┬───────────┬───────────┬───┬───────────┬───────────┬───────────┬───────────┐\n",
"│ provider ┆ Bedrooms ┆ Bathrooms ┆ Number of ┆ … ┆ Listing ┆ Listing ┆ Asking ┆ Asking │\n",
"│ --- ┆ --- ┆ --- ┆ bedrooms ┆ ┆ date ┆ status ┆ price ┆ price per │\n",
"│ str ┆ i32 ┆ i32 ┆ & living ┆ ┆ --- ┆ --- ┆ --- ┆ sqm │\n",
"│ ┆ ┆ ┆ rooms ┆ ┆ datetime[ ┆ str ┆ i64 ┆ --- │\n",
"│ ┆ ┆ ┆ --- ┆ ┆ μs] ┆ ┆ ┆ i32 │\n",
"│ ┆ ┆ ┆ i32 ┆ ┆ ┆ ┆ ┆ │\n",
"╞═══════════╪══════════╪═══════════╪═══════════╪═══╪═══════════╪═══════════╪═══════════╪═══════════╡\n",
"│ OnTheMark ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ null ┆ For sale ┆ 525000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ null ┆ For sale ┆ 275000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 4 ┆ 1 ┆ 5 ┆ … ┆ null ┆ For sale ┆ 600000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ null ┆ For sale ┆ 350000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ null ┆ For sale ┆ 475000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 0 ┆ 1 ┆ 1 ┆ … ┆ null ┆ For sale ┆ 225000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ null ┆ For sale ┆ 575000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ null ┆ For sale ┆ 435000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ null ┆ For sale ┆ 450000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ null ┆ For sale ┆ 500000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ null ┆ For sale ┆ 650000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ null ┆ For sale ┆ 450000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ null ┆ For sale ┆ 340000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 2 ┆ 1 ┆ 3 ┆ … ┆ null ┆ For sale ┆ 500000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ OnTheMark ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ null ┆ For sale ┆ 550000 ┆ null │\n",
"│ et ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ 2026-05-2 ┆ For sale ┆ 310000 ┆ null │\n",
"│ ┆ ┆ ┆ ┆ ┆ 9 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 14:30:37 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 5 ┆ 4 ┆ 9 ┆ … ┆ 2026-04-1 ┆ For sale ┆ 2595000 ┆ 8355 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 7 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 18:34:21 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 6 ┆ 3 ┆ 9 ┆ … ┆ 2026-04-1 ┆ For sale ┆ 2295000 ┆ null │\n",
"│ ┆ ┆ ┆ ┆ ┆ 0 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 11:17:35 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 4 ┆ 2 ┆ 6 ┆ … ┆ 2026-01-0 ┆ For sale ┆ 2250000 ┆ 10412 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 2 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 17:30:39 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ 2026-04-0 ┆ For sale ┆ 2100000 ┆ 9841 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 8 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 17:23:59 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 4 ┆ 3 ┆ 7 ┆ … ┆ 2026-05-1 ┆ For sale ┆ 2100000 ┆ 10633 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 3 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 16:21:42 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 5 ┆ 3 ┆ 8 ┆ … ┆ 2026-04-2 ┆ For sale ┆ 1900000 ┆ 7702 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 2 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 16:04:47 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 3 ┆ 3 ┆ 6 ┆ … ┆ 2026-05-1 ┆ For sale ┆ 1695000 ┆ 10810 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 2 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 16:14:48 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 5 ┆ 3 ┆ 8 ┆ … ┆ 2025-10-0 ┆ For sale ┆ 1695000 ┆ 8773 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 7 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 09:57:34 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ 2026-03-2 ┆ For sale ┆ 1695000 ┆ null │\n",
"│ ┆ ┆ ┆ ┆ ┆ 5 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 09:55:49 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 4 ┆ 3 ┆ 7 ┆ … ┆ 2026-04-0 ┆ For sale ┆ 1650000 ┆ 9958 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 2 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 16:51:56 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 5 ┆ 2 ┆ 7 ┆ … ┆ 2026-05-1 ┆ For sale ┆ 1595000 ┆ 7995 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 2 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 14:23:19 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 5 ┆ 3 ┆ 8 ┆ … ┆ 2026-02-1 ┆ For sale ┆ 1550000 ┆ null │\n",
"│ ┆ ┆ ┆ ┆ ┆ 3 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 14:31:16 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 8 ┆ 1 ┆ 9 ┆ … ┆ 2026-05-0 ┆ For sale ┆ 1550000 ┆ 35227 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 6 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 17:31:38 ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 4 ┆ 2 ┆ 6 ┆ … ┆ 2026-04-1 ┆ For sale ┆ 1500000 ┆ 13100 │\n",
"│ ┆ ┆ ┆ ┆ ┆ 0 ┆ ┆ ┆ │\n",
"│ ┆ ┆ ┆ ┆ ┆ 09:39:04 ┆ ┆ ┆ │\n",
"│ Zoopla ┆ 4 ┆ 2 ┆ 6 ┆ … ┆ null ┆ For sale ┆ 995000 ┆ 8728 │\n",
"│ Zoopla ┆ 2 ┆ 1 ┆ 3 ┆ … ┆ null ┆ For sale ┆ 350000 ┆ 4493 │\n",
"│ Zoopla ┆ 5 ┆ 3 ┆ 8 ┆ … ┆ null ┆ For sale ┆ 1695000 ┆ 8697 │\n",
"│ Zoopla ┆ 3 ┆ 2 ┆ 5 ┆ … ┆ null ┆ For sale ┆ 525000 ┆ 5102 │\n",
"│ Zoopla ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ null ┆ For sale ┆ 500000 ┆ 6944 │\n",
"│ Zoopla ┆ 2 ┆ 1 ┆ 3 ┆ … ┆ null ┆ For sale ┆ 515000 ┆ 9364 │\n",
"│ Zoopla ┆ 2 ┆ 1 ┆ 3 ┆ … ┆ null ┆ For sale ┆ 475000 ┆ 9557 │\n",
"│ Zoopla ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ null ┆ For sale ┆ 465000 ┆ 8942 │\n",
"│ Zoopla ┆ 2 ┆ 1 ┆ 3 ┆ … ┆ null ┆ For sale ┆ 599950 ┆ 8546 │\n",
"│ Zoopla ┆ 1 ┆ 1 ┆ 2 ┆ … ┆ null ┆ For sale ┆ 375000 ┆ 8503 │\n",
"│ Zoopla ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ null ┆ For sale ┆ 575000 ┆ null │\n",
"│ Zoopla ┆ 2 ┆ 1 ┆ 3 ┆ … ┆ null ┆ For sale ┆ 475000 ┆ 6597 │\n",
"│ Zoopla ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ null ┆ For sale ┆ 580000 ┆ 7796 │\n",
"│ Zoopla ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ null ┆ For sale ┆ 595000 ┆ 7997 │\n",
"│ Zoopla ┆ 2 ┆ 2 ┆ 4 ┆ … ┆ null ┆ For sale ┆ 575000 ┆ 7986 │\n",
"└───────────┴──────────┴───────────┴───────────┴───┴───────────┴───────────┴───────────┴───────────┘"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df = (\n",
" pl.read_parquet(DATA_PATH)\n",
" .with_columns(\n",
" pl.when(pl.col(\"Listing URL\").str.contains(\"rightmove.co.uk\", literal=True))\n",
" .then(pl.lit(\"Rightmove\"))\n",
" .when(pl.col(\"Listing URL\").str.contains(\"onthemarket.com\", literal=True))\n",
" .then(pl.lit(\"OnTheMarket\"))\n",
" .when(pl.col(\"Listing URL\").str.contains(\"zoopla.co.uk\", literal=True))\n",
" .then(pl.lit(\"Zoopla\"))\n",
" .otherwise(pl.lit(\"Unknown\"))\n",
" .alias(\"provider\")\n",
" )\n",
" .filter(pl.col(\"provider\").is_in([\"Rightmove\", \"OnTheMarket\", \"Zoopla\"]))\n",
")\n",
"\n",
"print(f\"Rows: {df.height:,}\")\n",
"print(f\"Columns: {len(df.columns):,}\")\n",
"display(df.group_by(\"provider\").len().sort(\"provider\"))\n",
"display(df.group_by(\"provider\", maintain_order=False).head(15).sort(\"provider\"))"
]
},
{
"cell_type": "markdown",
"id": "e775e26e",
"metadata": {},
"source": [
"## NA Counts By Provider"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "059462d2",
"metadata": {
"execution": {
"iopub.execute_input": "2026-05-17T10:23:47.956431Z",
"iopub.status.busy": "2026-05-17T10:23:47.956358Z",
"iopub.status.idle": "2026-05-17T10:23:47.979826Z",
"shell.execute_reply": "2026-05-17T10:23:47.979565Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (3, 25)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>provider</th><th>Bedrooms</th><th>Bathrooms</th><th>Number of bedrooms &amp; living rooms</th><th>lon</th><th>lat</th><th>Postcode</th><th>Postcode source</th><th>Extracted postcode</th><th>Inferred postcode</th><th>Listing raw address</th><th>Address per Property Register</th><th>UPRN</th><th>Property number or name</th><th>Leasehold/Freehold</th><th>Property type</th><th>Property sub-type</th><th>Price qualifier</th><th>Total floor area (sqm)</th><th>Listing URL</th><th>Listing features</th><th>Listing date</th><th>Listing status</th><th>Asking price</th><th>Asking price per sqm</th></tr><tr><td>str</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td><td>u32</td></tr></thead><tbody><tr><td>&quot;OnTheMarket&quot;</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>84</td><td>0</td><td>0</td><td>0</td><td>85</td><td>85</td><td>0</td><td>0</td><td>0</td><td>0</td><td>82</td><td>0</td><td>0</td><td>85</td><td>0</td><td>0</td><td>82</td></tr><tr><td>&quot;Rightmove&quot;</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>98</td><td>0</td><td>0</td><td>0</td><td>99</td><td>99</td><td>17</td><td>0</td><td>0</td><td>0</td><td>34</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>34</td></tr><tr><td>&quot;Zoopla&quot;</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>58</td><td>0</td><td>0</td><td>0</td><td>25</td><td>11</td><td>14</td><td>0</td><td>0</td><td>0</td><td>5</td><td>0</td><td>0</td><td>58</td><td>0</td><td>0</td><td>5</td></tr></tbody></table></div>"
],
"text/plain": [
"shape: (3, 25)\n",
"┌────────────┬──────────┬───────────┬────────────┬───┬────────────┬───────────┬────────┬───────────┐\n",
"│ provider ┆ Bedrooms ┆ Bathrooms ┆ Number of ┆ … ┆ Listing ┆ Listing ┆ Asking ┆ Asking │\n",
"│ --- ┆ --- ┆ --- ┆ bedrooms & ┆ ┆ date ┆ status ┆ price ┆ price per │\n",
"│ str ┆ u32 ┆ u32 ┆ living ┆ ┆ --- ┆ --- ┆ --- ┆ sqm │\n",
"│ ┆ ┆ ┆ rooms ┆ ┆ u32 ┆ u32 ┆ u32 ┆ --- │\n",
"│ ┆ ┆ ┆ --- ┆ ┆ ┆ ┆ ┆ u32 │\n",
"│ ┆ ┆ ┆ u32 ┆ ┆ ┆ ┆ ┆ │\n",
"╞════════════╪══════════╪═══════════╪════════════╪═══╪════════════╪═══════════╪════════╪═══════════╡\n",
"│ OnTheMarke ┆ 0 ┆ 0 ┆ 0 ┆ … ┆ 85 ┆ 0 ┆ 0 ┆ 82 │\n",
"│ t ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n",
"│ Rightmove ┆ 0 ┆ 0 ┆ 0 ┆ … ┆ 0 ┆ 0 ┆ 0 ┆ 34 │\n",
"│ Zoopla ┆ 0 ┆ 0 ┆ 0 ┆ … ┆ 58 ┆ 0 ┆ 0 ┆ 5 │\n",
"└────────────┴──────────┴───────────┴────────────┴───┴────────────┴───────────┴────────┴───────────┘"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (19, 5)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>provider</th><th>column</th><th>na_count</th><th>provider_rows</th><th>na_pct</th></tr><tr><td>str</td><td>str</td><td>u32</td><td>u32</td><td>f64</td></tr></thead><tbody><tr><td>&quot;OnTheMarket&quot;</td><td>&quot;Listing date&quot;</td><td>85</td><td>85</td><td>100.0</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>&quot;Property number or name&quot;</td><td>85</td><td>85</td><td>100.0</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>&quot;UPRN&quot;</td><td>85</td><td>85</td><td>100.0</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>&quot;Extracted postcode&quot;</td><td>84</td><td>85</td><td>98.82</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>&quot;Asking price per sqm&quot;</td><td>82</td><td>85</td><td>96.47</td></tr><tr><td>&quot;OnTheMarket&quot;</td><td>&quot;Total floor area (sqm)&quot;</td><td>82</td><td>85</td><td>96.47</td></tr><tr><td>&quot;Rightmove&quot;</td><td>&quot;Property number or name&quot;</td><td>99</td><td>99</td><td>100.0</td></tr><tr><td>&quot;Rightmove&quot;</td><td>&quot;UPRN&quot;</td><td>99</td><td>99</td><td>100.0</td></tr><tr><td>&quot;Rightmove&quot;</td><td>&quot;Extracted postcode&quot;</td><td>98</td><td>99</td><td>98.99</td></tr><tr><td>&quot;Rightmove&quot;</td><td>&quot;Asking price per sqm&quot;</td><td>34</td><td>99</td><td>34.34</td></tr><tr><td>&quot;Rightmove&quot;</td><td>&quot;Total floor area (sqm)&quot;</td><td>34</td><td>99</td><td>34.34</td></tr><tr><td>&quot;Rightmove&quot;</td><td>&quot;Leasehold/Freehold&quot;</td><td>17</td><td>99</td><td>17.17</td></tr><tr><td>&quot;Zoopla&quot;</td><td>&quot;Extracted postcode&quot;</td><td>58</td><td>58</td><td>100.0</td></tr><tr><td>&quot;Zoopla&quot;</td><td>&quot;Listing date&quot;</td><td>58</td><td>58</td><td>100.0</td></tr><tr><td>&quot;Zoopla&quot;</td><td>&quot;UPRN&quot;</td><td>25</td><td>58</td><td>43.1</td></tr><tr><td>&quot;Zoopla&quot;</td><td>&quot;Leasehold/Freehold&quot;</td><td>14</td><td>58</td><td>24.14</td></tr><tr><td>&quot;Zoopla&quot;</td><td>&quot;Property number or name&quot;</td><td>11</td><td>58</td><td>18.97</td></tr><tr><td>&quot;Zoopla&quot;</td><td>&quot;Asking price per sqm&quot;</td><td>5</td><td>58</td><td>8.62</td></tr><tr><td>&quot;Zoopla&quot;</td><td>&quot;Total floor area (sqm)&quot;</td><td>5</td><td>58</td><td>8.62</td></tr></tbody></table></div>"
],
"text/plain": [
"shape: (19, 5)\n",
"┌─────────────┬─────────────────────────┬──────────┬───────────────┬────────┐\n",
"│ provider ┆ column ┆ na_count ┆ provider_rows ┆ na_pct │\n",
"│ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n",
"│ str ┆ str ┆ u32 ┆ u32 ┆ f64 │\n",
"╞═════════════╪═════════════════════════╪══════════╪═══════════════╪════════╡\n",
"│ OnTheMarket ┆ Listing date ┆ 85 ┆ 85 ┆ 100.0 │\n",
"│ OnTheMarket ┆ Property number or name ┆ 85 ┆ 85 ┆ 100.0 │\n",
"│ OnTheMarket ┆ UPRN ┆ 85 ┆ 85 ┆ 100.0 │\n",
"│ OnTheMarket ┆ Extracted postcode ┆ 84 ┆ 85 ┆ 98.82 │\n",
"│ OnTheMarket ┆ Asking price per sqm ┆ 82 ┆ 85 ┆ 96.47 │\n",
"│ OnTheMarket ┆ Total floor area (sqm) ┆ 82 ┆ 85 ┆ 96.47 │\n",
"│ Rightmove ┆ Property number or name ┆ 99 ┆ 99 ┆ 100.0 │\n",
"│ Rightmove ┆ UPRN ┆ 99 ┆ 99 ┆ 100.0 │\n",
"│ Rightmove ┆ Extracted postcode ┆ 98 ┆ 99 ┆ 98.99 │\n",
"│ Rightmove ┆ Asking price per sqm ┆ 34 ┆ 99 ┆ 34.34 │\n",
"│ Rightmove ┆ Total floor area (sqm) ┆ 34 ┆ 99 ┆ 34.34 │\n",
"│ Rightmove ┆ Leasehold/Freehold ┆ 17 ┆ 99 ┆ 17.17 │\n",
"│ Zoopla ┆ Extracted postcode ┆ 58 ┆ 58 ┆ 100.0 │\n",
"│ Zoopla ┆ Listing date ┆ 58 ┆ 58 ┆ 100.0 │\n",
"│ Zoopla ┆ UPRN ┆ 25 ┆ 58 ┆ 43.1 │\n",
"│ Zoopla ┆ Leasehold/Freehold ┆ 14 ┆ 58 ┆ 24.14 │\n",
"│ Zoopla ┆ Property number or name ┆ 11 ┆ 58 ┆ 18.97 │\n",
"│ Zoopla ┆ Asking price per sqm ┆ 5 ┆ 58 ┆ 8.62 │\n",
"│ Zoopla ┆ Total floor area (sqm) ┆ 5 ┆ 58 ┆ 8.62 │\n",
"└─────────────┴─────────────────────────┴──────────┴───────────────┴────────┘"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def missing_expr(column: str, dtype: pl.DataType) -> pl.Expr:\n",
" missing = pl.col(column).is_null()\n",
" if dtype in (pl.Float32, pl.Float64):\n",
" missing = missing | pl.col(column).is_nan().fill_null(False)\n",
" return missing.sum().alias(column)\n",
"\n",
"\n",
"value_columns = [column for column in df.columns if column != \"provider\"]\n",
"missing_by_provider = (\n",
" df.group_by(\"provider\")\n",
" .agg([missing_expr(column, df.schema[column]) for column in value_columns])\n",
" .sort(\"provider\")\n",
")\n",
"\n",
"missing_long = (\n",
" missing_by_provider.unpivot(\n",
" index=\"provider\",\n",
" variable_name=\"column\",\n",
" value_name=\"na_count\",\n",
" )\n",
" .join(df.group_by(\"provider\").len().rename({\"len\": \"provider_rows\"}), on=\"provider\")\n",
" .filter(pl.col('na_count') > 0)\n",
" .with_columns((pl.col(\"na_count\") / pl.col(\"provider_rows\") * 100).round(2).alias(\"na_pct\"))\n",
" .sort([\"provider\", \"na_count\", \"column\"], descending=[False, True, False])\n",
")\n",
"\n",
"display(missing_by_provider)\n",
"display(missing_long)"
]
},
{
"cell_type": "markdown",
"id": "24de8b4c",
"metadata": {},
"source": [
"## Map"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "cadef70a",
"metadata": {
"execution": {
"iopub.execute_input": "2026-05-17T10:23:48.014374Z",
"iopub.status.busy": "2026-05-17T10:23:48.014290Z",
"iopub.status.idle": "2026-05-17T10:23:49.319476Z",
"shell.execute_reply": "2026-05-17T10:23:49.319211Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mapped rows: 242\n"
]
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"customdata": [
[
"Stockwell Road, London",
310000,
1,
1,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/89076063#/?channel=RES_BUY",
51.471079,
-0.121569
],
[
"Stockwell Park Crescent II, London",
2595000,
4,
5,
"Semi-Detached",
"https://www.rightmove.co.uk/properties/174610352#/?channel=RES_BUY",
51.47115,
-0.11817
],
[
"Groveway, Stockwell",
2295000,
3,
6,
"Detached",
"https://www.rightmove.co.uk/properties/174282005#/?channel=RES_BUY",
51.473247,
-0.114727
],
[
"Stockwell Park Road, London",
2250000,
2,
4,
"Semi-Detached",
"https://www.rightmove.co.uk/properties/170781485#/?channel=RES_BUY",
51.472141,
-0.116603
],
[
"St Johns Buildings, London",
2100000,
2,
2,
"Terraced",
"https://www.rightmove.co.uk/properties/174206714#/?channel=RES_BUY",
51.46428,
-0.11247
],
[
"Stockwell Park Road, London",
2100000,
3,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/88435821#/?channel=RES_BUY",
51.47089,
-0.116765
],
[
"Crewdson Road, London",
1900000,
3,
5,
"Terraced",
"https://www.rightmove.co.uk/properties/174798002#/?channel=RES_BUY",
51.478768,
-0.113111
],
[
"Stockwell Park Crescent, Stockwell, London",
1695000,
3,
3,
"Detached",
"https://www.rightmove.co.uk/properties/88376967#/?channel=RES_BUY",
51.47091,
-0.11805
],
[
"Stockwell Park Road, London",
1695000,
3,
5,
"Semi-Detached",
"https://www.rightmove.co.uk/properties/167893637#/?channel=RES_BUY",
51.474381,
-0.119192
],
[
"Stockwell Park Crescent, Stockwell",
1695000,
2,
2,
"Semi-Detached",
"https://www.rightmove.co.uk/properties/173668991#/?channel=RES_BUY",
51.470774,
-0.11778
],
[
"Hargwyne Street, London",
1650000,
3,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/174050450#/?channel=RES_BUY",
51.465546,
-0.121041
],
[
"Burnley Road, London",
1595000,
2,
5,
"Terraced",
"https://www.rightmove.co.uk/properties/88367181#/?channel=RES_BUY",
51.470986,
-0.119194
],
[
"Clapham Road, Stockwell",
1550000,
3,
5,
"Terraced",
"https://www.rightmove.co.uk/properties/172178081#/?channel=RES_BUY",
51.475262,
-0.118914
],
[
"Brixton Road, Brixton High Street",
1550000,
1,
8,
"Terraced",
"https://www.rightmove.co.uk/properties/88139847#/?channel=RES_BUY",
51.465359,
-0.114329
],
[
"Trinity Gardens, LONDON",
1500000,
2,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/174274454#/?channel=RES_BUY",
51.461726,
-0.118903
],
[
"St. Michael's Road, London",
1495000,
3,
5,
"Terraced",
"https://www.rightmove.co.uk/properties/88502766#/?channel=RES_BUY",
51.471604,
-0.119671
],
[
"Lorn Road, Stockwell",
1475000,
2,
3,
"Semi-Detached",
"https://www.rightmove.co.uk/properties/172265342#/?channel=RES_BUY",
51.472272,
-0.113846
],
[
"Stockwell Green, Stockwell, London",
1450000,
2,
4,
"Detached",
"https://www.rightmove.co.uk/properties/173813414#/?channel=RES_BUY",
51.4678,
-0.1199
],
[
"Ferndale Road, London",
1400000,
2,
3,
"Terraced",
"https://www.rightmove.co.uk/properties/87958638#/?channel=RES_BUY",
51.46318,
-0.12043
],
[
"Stirling Road, Stockwell",
1365000,
4,
4,
"Detached",
"https://www.rightmove.co.uk/properties/160476977#/?channel=RES_BUY",
51.468018,
-0.126212
],
[
"Dalyell Road, London",
1350000,
2,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/174526448#/?channel=RES_BUY",
51.467377,
-0.120725
],
[
"Hargwyne Street, London",
1350000,
3,
5,
"Terraced",
"https://www.rightmove.co.uk/properties/88118943#/?channel=RES_BUY",
51.464718,
-0.120788
],
[
"Sidney Road, Stockwell",
1350000,
2,
4,
"Detached",
"https://www.rightmove.co.uk/properties/173691437#/?channel=RES_BUY",
51.469995,
-0.116842
],
[
"Tasman Road, Clapham North",
1300000,
2,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/88674900#/?channel=RES_BUY",
51.464666,
-0.125111
],
[
"Tasman Road, Clapham",
1300000,
2,
5,
"Terraced",
"https://www.rightmove.co.uk/properties/166381670#/?channel=RES_BUY",
51.464662,
-0.125115
],
[
"Akerman Road, Brixton, London",
950000,
1,
3,
"Terraced",
"https://www.rightmove.co.uk/properties/174585656#/?channel=RES_BUY",
51.4723,
-0.10713
],
[
"Kimberley Road, Clapham North",
1295000,
3,
5,
"Detached",
"https://www.rightmove.co.uk/properties/170576258#/?channel=RES_BUY",
51.467839,
-0.122975
],
[
"Clapham Road, London",
1250000,
0,
7,
"Detached",
"https://www.rightmove.co.uk/properties/172845386#/?channel=RES_BUY",
51.47241,
-0.12187
],
[
"Savoy Mews, Clapham, London",
1250000,
3,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/171967202#/?channel=RES_BUY",
51.467846,
-0.129214
],
[
"Kay Road, London",
1225000,
2,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/159519872#/?channel=RES_BUY",
51.46829,
-0.12247
],
[
"Stirling Road, London",
1200000,
2,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/174773513#/?channel=RES_BUY",
51.467893,
-0.126016
],
[
"Ferndale Road, London",
1175000,
2,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/88182951#/?channel=RES_BUY",
51.463223,
-0.11965
],
[
"Grantham Road, Stockwell",
1175000,
3,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/87587604#/?channel=RES_BUY",
51.468085,
-0.125018
],
[
"Lothian Road, Oval",
1150000,
2,
3,
"Detached",
"https://www.rightmove.co.uk/properties/168423935#/?channel=RES_BUY",
51.476299,
-0.102795
],
[
"Clapham Place, 340A Clapham Road, London",
1100000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/162737807#/?channel=RES_BUY",
51.469463,
-0.126614
],
[
"Archer Mews, Clapham",
1100000,
2,
3,
"Terraced",
"https://www.rightmove.co.uk/properties/162027752#/?channel=RES_BUY",
51.466859,
-0.127675
],
[
"Hargwyne Street, Stockwell",
1050000,
3,
4,
"Detached",
"https://www.rightmove.co.uk/properties/88674894#/?channel=RES_BUY",
51.46622,
-0.121542
],
[
"Argyll Close",
1050000,
3,
4,
"Detached",
"https://www.rightmove.co.uk/properties/88123392#/?channel=RES_BUY",
51.467369,
-0.120287
],
[
"Trinity Gardens, London",
1000000,
1,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/166982441#/?channel=RES_BUY",
51.461843,
-0.118482
],
[
"Printers Road, London",
1000000,
3,
3,
"Terraced",
"https://www.rightmove.co.uk/properties/88736202#/?channel=RES_BUY",
51.475519,
-0.117579
],
[
"Printers Road, London",
1000000,
3,
3,
"Detached",
"https://www.rightmove.co.uk/properties/171963581#/?channel=RES_BUY",
51.475422,
-0.117396
],
[
"Combermere Road",
1000000,
4,
4,
"Detached",
"https://www.rightmove.co.uk/properties/174512360#/?channel=RES_BUY",
51.466953,
-0.118676
],
[
"Chantrey Road, Brixton, London",
1000000,
2,
5,
"Terraced",
"https://www.rightmove.co.uk/properties/87722028#/?channel=RES_BUY",
51.46524,
-0.11785
],
[
"Caldwell Street, Stockwell",
995000,
2,
4,
"Detached",
"https://www.rightmove.co.uk/properties/89089584#/?channel=RES_BUY",
51.477238,
-0.116819
],
[
"Offley Road, Oval, London",
950000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/87978744#/?channel=RES_BUY",
51.4801,
-0.11306
],
[
"Clapham Road, London",
950000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/174253709#/?channel=RES_BUY",
51.46955,
-0.12494
],
[
"Burgoyne Road, Brixton, London",
950000,
1,
3,
"Detached",
"https://www.rightmove.co.uk/properties/88915212#/?channel=RES_BUY",
51.46626,
-0.11924
],
[
"Akerman Road, Brixton",
950000,
1,
3,
"Terraced",
"https://www.rightmove.co.uk/properties/174043499#/?channel=RES_BUY",
51.472355,
-0.107133
],
[
"Trinity Gardens, Brixton, London",
950000,
1,
3,
"Detached",
"https://www.rightmove.co.uk/properties/87721950#/?channel=RES_BUY",
51.46184,
-0.11885
],
[
"Dalyell Road, Stockwell",
950000,
2,
5,
"Terraced",
"https://www.rightmove.co.uk/properties/173248592#/?channel=RES_BUY",
51.46484,
-0.11861
],
[
"Cowley Road, London",
500000,
1,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/174943268#/?channel=RES_BUY",
51.472811,
-0.110448
],
[
"Burgoyne Road, Brixton",
950000,
1,
3,
"Terraced",
"https://www.rightmove.co.uk/properties/171244910#/?channel=RES_BUY",
51.466514,
-0.119357
],
[
"Kay Road",
950000,
1,
3,
"Detached",
"https://www.rightmove.co.uk/properties/88786803#/?channel=RES_BUY",
51.468173,
-0.123544
],
[
"Edithna Street, Clapham",
949000,
2,
2,
"Terraced",
"https://www.rightmove.co.uk/properties/173407493#/?channel=RES_BUY",
51.467536,
-0.124279
],
[
"Landor Road, Stockwell",
925000,
3,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/174241487#/?channel=RES_BUY",
51.465761,
-0.127271
],
[
"Cancell Road, Stockwell",
925000,
2,
3,
"Terraced",
"https://www.rightmove.co.uk/properties/172063247#/?channel=RES_BUY",
51.47675,
-0.10812
],
[
"Combermere Road, Brixton",
900000,
1,
3,
"Detached",
"https://www.rightmove.co.uk/properties/174829754#/?channel=RES_BUY",
51.466761,
-0.118967
],
[
"Stockwell Green, Stockwell, London",
900000,
2,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/87758454#/?channel=RES_BUY",
51.46797,
-0.11961
],
[
"Lingham Street, Stockwell",
900000,
2,
2,
"Detached",
"https://www.rightmove.co.uk/properties/174459077#/?channel=RES_BUY",
51.468202,
-0.121805
],
[
"Dalyell Road, Clapham",
900000,
1,
3,
"Terraced",
"https://www.rightmove.co.uk/properties/174751187#/?channel=RES_BUY",
51.467378,
-0.120699
],
[
"Hillyard Street, Stockwell, London",
895000,
2,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/169772384#/?channel=RES_BUY",
51.474009,
-0.113644
],
[
"Fairbairn Green, Oval, London",
850000,
2,
4,
"Detached",
"https://www.rightmove.co.uk/properties/87977643#/?channel=RES_BUY",
51.47451,
-0.10695
],
[
"Tindal Street",
850000,
2,
4,
"Terraced",
"https://www.rightmove.co.uk/properties/145850135#/?channel=RES_BUY",
51.476302,
-0.104166
],
[
"Hargwyne Street, Brixton",
825000,
1,
3,
"Detached",
"https://www.rightmove.co.uk/properties/88033488#/?channel=RES_BUY",
51.465427,
-0.121403
],
[
"Gresham Road, London",
825000,
1,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/173616209#/?channel=RES_BUY",
51.463844,
-0.108902
],
[
"Cancell Road, London",
800000,
1,
3,
"Terraced",
"https://www.rightmove.co.uk/properties/167464373#/?channel=RES_BUY",
51.476811,
-0.107076
],
[
"Clapham Place, 340A Clapham Road, London",
800000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/167067521#/?channel=RES_BUY",
51.46931,
-0.126446
],
[
"Kimberley Road, London",
800000,
1,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/166294310#/?channel=RES_BUY",
51.46846,
-0.123807
],
[
"Dalyell Road, London",
800000,
1,
3,
"Terraced",
"https://www.rightmove.co.uk/properties/174671783#/?channel=RES_BUY",
51.464537,
-0.1186
],
[
"Vassall Road, London",
780000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/169024502#/?channel=RES_BUY",
51.477882,
-0.104541
],
[
"Groveway, Stockwell",
765000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/173589443#/?channel=RES_BUY",
51.473073,
-0.113506
],
[
"Stane Grove, London",
750000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/172439786#/?channel=RES_BUY",
51.468326,
-0.128228
],
[
"Robsart Street",
750000,
2,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/89043525#/?channel=RES_BUY",
51.470458,
-0.114754
],
[
"Broomgrove Road, Stockwell",
750000,
2,
4,
"Detached",
"https://www.rightmove.co.uk/properties/87785412#/?channel=RES_BUY",
51.468367,
-0.117416
],
[
"Landor Road, Clapham",
525000,
1,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/88178850#/?channel=RES_BUY",
51.465864,
-0.126485
],
[
"Southey Road, London",
750000,
1,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/88953351#/?channel=RES_BUY",
51.476104,
-0.114177
],
[
"Stirling Road, Clapham North",
750000,
1,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/172541237#/?channel=RES_BUY",
51.467923,
-0.125572
],
[
"Brixton Road, London",
750000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/88436790#/?channel=RES_BUY",
51.473018,
-0.112407
],
[
"Lorn Road, London",
735000,
1,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/174008492#/?channel=RES_BUY",
51.47212,
-0.11497
],
[
"Tregothnan Road, Clapham",
735000,
2,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/174955157#/?channel=RES_BUY",
51.467534,
-0.124866
],
[
"Clapham Road",
725000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/173512085#/?channel=RES_BUY",
51.465962,
-0.129116
],
[
"Fairbairn Green, Oval, London",
725000,
1,
4,
"Semi-Detached",
"https://www.rightmove.co.uk/properties/88014204#/?channel=RES_BUY",
51.47451,
-0.10695
],
[
"Minet Road, London",
725000,
1,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/88412274#/?channel=RES_BUY",
51.47043,
-0.10541
],
[
"Stockwell Road",
720000,
2,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/88606029#/?channel=RES_BUY",
51.465621,
-0.116586
],
[
"Dundas Road, London",
720000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/171205478#/?channel=RES_BUY",
51.472982,
-0.109654
],
[
"Tasman Road, Clapham North",
700000,
1,
2,
"Terraced",
"https://www.rightmove.co.uk/properties/162538115#/?channel=RES_BUY",
51.465724,
-0.125134
],
[
"Hubert Grove, LONDON",
700000,
2,
4,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/174476441#/?channel=RES_BUY",
51.464897,
-0.123706
],
[
"Hackford Road, Oval, London",
700000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/88664931#/?channel=RES_BUY",
51.47546,
-0.11555
],
[
"Stockwell Park Road, Stockwell",
699950,
2,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/171128921#/?channel=RES_BUY",
51.47055,
-0.116184
],
[
"Brixton Road, Stockwell",
699950,
1,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/88155525#/?channel=RES_BUY",
51.473284,
-0.112372
],
[
"Clapham Road, Clapham",
699950,
1,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/88186095#/?channel=RES_BUY",
51.468123,
-0.128106
],
[
"Landor Road, Clapham, London",
695000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/173546969#/?channel=RES_BUY",
51.466263,
-0.121044
],
[
"Coal Lane",
685000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/173694455#/?channel=RES_BUY",
51.463058,
-0.109573
],
[
"Stockwell Park Walk",
675000,
2,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/173953706#/?channel=RES_BUY",
51.46635,
-0.11388
],
[
"Clapham Road, London",
675000,
2,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/88306662#/?channel=RES_BUY",
51.468123,
-0.128106
],
[
"Mayflower Road, Clapham, London",
675000,
1,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/174082844#/?channel=RES_BUY",
51.467313,
-0.125793
],
[
"Offley Road, Oval, Londobn",
675000,
2,
2,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/88010451#/?channel=RES_BUY",
51.480175,
-0.112983
],
[
"St Lawrence Way, Brixton, London",
675000,
2,
6,
"Terraced",
"https://www.rightmove.co.uk/properties/87975399#/?channel=RES_BUY",
51.4715,
-0.10996
],
[
"Kimberley Road, Clapham",
670000,
2,
3,
"Flats/Maisonettes",
"https://www.rightmove.co.uk/properties/173861306#/?channel=RES_BUY",
51.468039,
-0.123683
]
],
"hovertemplate": "<b>%{hovertext}</b><br><br>provider=Rightmove<br>Address per Property Register=%{customdata[0]}<br>Asking price=%{customdata[1]:,.0f}<br>Bathrooms=%{customdata[2]}<br>Bedrooms=%{customdata[3]}<br>Property type=%{customdata[4]}<br>Listing URL=%{customdata[5]}<extra></extra>",
"hovertext": [
"SW9 9EU",
"SW9 0DG",
"SW9 0AR",
"SW9 0DD",
"SW9 7QH",
"SW9 0DB",
"SW9 0LJ",
"SW9 0DG",
"SW9 0RU",
"SW9 0DG",
"SW9 9RF",
"SW9 0SW",
"SW9 0QQ",
"SW9 7AW",
"SW9 8DR",
"SW9 0SN",
"SW9 6LN",
"SW9 9HZ",
"SW9 8AH",
"SW9 9EF",
"SW9 9SD",
"SW9 9RQ",
"SW9 0TP",
"SW9 9LZ",
"SW9 9LZ",
"SW9 6TF",
"SW9 9DG",
"SW9 0QH",
"SW9 9AT",
"SW9 9DE",
"SW9 9EF",
"SW9 8AG",
"SW9 9ED",
"SW9 6UB",
"SW9 9FA",
"SW9 9BU",
"SW9 9RE",
"SW9 9QL",
"SW9 8DR",
"SW9 0BH",
"SW9 0BH",
"SW9 9QG",
"SW9 9TE",
"SW9 0HU",
"SW9 0LS",
"SW9 9BN",
"SW9 9QJ",
"SW9 6TF",
"SW9 8DR",
"SW9 9UT",
"SW9 6BW",
"SW9 9QS",
"SW9 9DH",
"SW9 9JR",
"SW9 9LN",
"SW9 6HP",
"SW9 9QD",
"SW9 9HX",
"SW9 9JL",
"SW9 9SD",
"SW9 0PL",
"SW9 7RR",
"SW9 6UP",
"SW9 9RF",
"SW9 7JE",
"SW9 6GA",
"SW9 9FA",
"SW9 9DH",
"SW9 9UU",
"SW9 6JA",
"SW9 6AR",
"SW4 6JL",
"SW9 0BP",
"SW9 9TL",
"SW9 9RT",
"SW9 0PD",
"SW9 9EE",
"SW9 6LW",
"SW9 0AD",
"SW9 9JX",
"SW9 9RX",
"SW9 7RR",
"SE5 9HY",
"SW9 9TB",
"SW9 6BZ",
"SW9 9PE",
"SW9 9PD",
"SW9 0RH",
"SW9 0DH",
"SW9 6LP",
"SW9 9FY",
"SW9 9RE",
"SW9 8FZ",
"SW9 0FF",
"SW9 9FY",
"SW9 9JY",
"SW9 0LS",
"SW9 6NP",
"SW9 9DH"
],
"lat": {
"bdata": "jGoRUUy8SUBVwaikTrxJQA73kVuTvElA5QzFHW+8SUDsF+yGbbtJQLgBnx9GvElAiC8TRUi9SUAArmTHRrxJQAFsQIS4vElAT+eKUkK8SUBOZOYCl7tJQNtv7URJvElACoSdYtW8SUAb8zrikLtJQEDbatYZu0lA1lQWhV28SUCDaK1oc7xJQM6I0t7gu0lApRR0e0m7SUA8+IkD6LtJQIjzcALTu0lAZ+4h4Xu7SUBKJNHLKLxJQBXI7Cx6u0lA09heC3q7SUBN845TdLxJQIxl+iXiu0lA1SZO7ne8SUA/yLJg4rtJQJ2FPe3wu0lAf4P26uO7SUCk4CnkSrtJQMRfkzXqu0lACg+aXfe8SUBN1xNdF7xJQPBrJAnCu0lA3V7SGK27SUAFFVW/0rtJQHpx4qsdu0lANdB8zt28SUBD5sqg2rxJQHHiqx3Fu0lAQWX8+4y7SUBINIEiFr1JQKFns+pzvUlAHOviNhq8SUBrt11orrtJQBGN7iB2vElACf63kh27SUCz74rgf7tJQDMYIxKFvElAJZASu7a7SUBj78UX7btJQPHZOjjYu0lASmBzDp67SUAbL90kBr1JQC0GD9O+u0lAK8HicOa7SUD99QoL7rtJQFhv1ArTu0lAPYGwU6y8SUD/z2G+vLxJQHuCxHb3vElAc9anHJO7SUAROX09X7tJQMCvkSQIvUlAx9eeWRK8SUD5vU1/9rtJQBdky/J1u0lAbazEPCu9SUBwz/OnjbxJQOnuOhvyu0lAHxK+9ze8SUBIwylz87tJQB8xem6hu0lAVb/S+fC8SUDqBZ/m5LtJQK01lNqLvElAzeSbbW68SUBQ4nMn2LtJQOGWj6Sku0lA/89hvry8SUBVh9wMN7xJQFiqC3iZu0lAYMyWrIq8SUAtexLYnLtJQBeBsb6Bu0lAMEeP39u8SUAAkX77OrxJQCvc8pGUvElAscBXdOu7SUDcKoiBrrtJQFkTC3xFu0lAqz5XW7G7SUCxwFd067tJQHH/kenQu0lArK3YX3a9SUAxCKwcWrxJQFMgs7Pou0lA",
"dtype": "f8"
},
"legendgroup": "Rightmove",
"lon": {
"bdata": "vRk1XyUfv784Sl6dY0C+v27b96i/Xr2/n5Cdt7HZvb9798d71cq8v79DUaBP5L2/A1/Rrdf0vL/x9EpZhji+v4Pg8e1dg76/EHUfgNQmvr+DonkAi/y+v+4h4Xt/g76/81oJ3SVxvr+XAPxTqkS9vyFzZVBtcL6/6pRHN8Kivr9YycfuAiW9v6hXyjLEsb6/TRB1H4DUvr+obi7+tifAv/JBz2bV576/uM6/Xfbrvr94msx4W+m9v3FXryKjA8C/3ZiesMQDwL+UpGsm32y7v+zAOSNKe7+/pg9dUN8yv79auReYFYrAvwq6vaQxWr+/A+li00ohwL/+ZffkYaG+v2WmtP6WAMC/4jsx68VQur+AnZs24zTAv4EmwoanV8C/jSYXY2Adv7+uSiL7IMu+v/InKhvWVL6/OUayR6gZvr8sZK4Mqg2+v9Dx0eKMYb6/z2bV52orvr8gKo2Y2ee9v8RafAqA8by/XFX2XRH8v7+fAmA8g4a+v7aGUnsRbbu/dy0hH/Rsvr/ogvqWOV2+v4ma6PNRRry/xXWMKy6Ovr9J9Z1flKC/v55flKC/0L+/81Zdh2pKwL8gJAuYwK27v52gTQ6fdL6/kElGzsKevr90QX3LnC6/v3jvqDEh5r6/yvli78UXvb+ppE5AE2G7vzHqWnufqrq/xeOiWkQUv7/cD3hgAOG7vzS+Ly5Vabu/zuFa7WEvwL8wEATI0LG/v807TtGRXL6/sFQX8DLDur+4V+atug69vwA7N23GacC/ns4VpYRgvb9j8gaY+Q6+v6mfNxWpMMC/kpT0MLQ6vb8/i6VIvhLAv7Zq14S0xry/H2gFhqxuvb/G4GHaN/e/v4j2sYLfhsC/qaROQBNhu79A3qtWJvy6v4rkK4GU2L2/Ribg10gSvL+dD88SZATAv2moUUgyq7+/TYQNT6+Uvb/bhlEQPL69v9Zx/FBpxLy/pu81BMdlwL+lhGBVvfy+v7ZMhuP5DLy/gSGrWz0nvb+m7zUEx2XAv8ZpiCr8GcC/DAQBMnTsvL+8P96rVia8vxE4Emiwqb+/",
"dtype": "f8"
},
"marker": {
"color": "#2563eb",
"opacity": 0.65,
"size": 5
},
"mode": "markers",
"name": "Rightmove",
"showlegend": true,
"subplot": "map",
"type": "scattermap"
},
{
"customdata": [
[
"Bedford Road, London",
525000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19209711/",
51.463636,
-0.129102
],
[
"Padfield Road, London",
275000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19522441/",
51.466129,
-0.100233
],
[
"Lord Holland Lane, Myatts Fields South, London",
600000,
1,
4,
"Terraced",
"https://www.onthemarket.com/details/18847208/",
51.471775,
-0.108913
],
[
"Mostyn Road, London",
350000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19305103/",
51.473026,
-0.107904
],
[
"Hackford Road, London",
475000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19601952/",
51.475374,
-0.115372
],
[
"Clapham Road, London",
225000,
1,
0,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19601638/",
51.476212,
-0.117911
],
[
"Coldharbour Lane, Brixton, London",
575000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19601141/",
51.463969,
-0.105579
],
[
"Stockwell Road",
435000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19599310/",
51.466426,
-0.116437
],
[
"Coldharbour Lane",
450000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19599313/",
51.46566,
-0.102355
],
[
"Stockwell Park Walk, London",
500000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18060975/",
51.466421103788,
-0.114496210643
],
[
"20 Fergusson Mews, London",
650000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19266851/",
51.469851,
-0.126918
],
[
"Stockwell Road, Stockwell, London",
450000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19167472/",
51.466385,
-0.116535
],
[
"Milles Square, Brixton, London",
340000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19592532/",
51.462364,
-0.1109
],
[
"Railton Road, London",
500000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19591254/",
51.46006,
-0.110269
],
[
"Hemberton Road, London",
550000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19591126/",
51.466742,
-0.126297
],
[
"Vassall Road, London",
339950,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19151834/",
51.478151,
-0.104252
],
[
"Lingham Street, Stockwell, London",
525000,
2,
3,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19586498/",
51.469424,
-0.122658
],
[
"Carney Place, London",
350000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19585964/",
51.462768,
-0.111009
],
[
"Brixton Road, Brixton, London",
450000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19585218/",
51.46536,
-0.114303
],
[
"Willington Road, Clapham North, London",
350000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19584647/",
51.465275,
-0.126386
],
[
"Cleveland House, Hackford Road, London",
515000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19584203/",
51.477508,
-0.115029
],
[
"Durand Gardens, London",
650000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19307508/",
51.473924,
-0.117196
],
[
"Electric Avenue, Brixton, London",
500000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19581719/",
51.462391,
-0.114278
],
[
"Dover Mansions, Brixton, London",
575000,
2,
3,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19580922/",
51.464257,
-0.113427
],
[
"Aytoun Road, London",
465000,
2,
4,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19145304/",
51.468933,
-0.116185
],
[
"Stockwell Green",
475000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18470548/",
51.467529,
-0.118678
],
[
"Benedict Road, London",
350000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18676093/",
51.466685,
-0.116216
],
[
"Draymans Court, Stockwell, London",
475000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19341068/",
51.467534,
-0.118677
],
[
"Myatt Road, London",
325000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19567307/",
51.477081,
-0.103866
],
[
"Loughborough Park",
500000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19097631/",
51.458717,
-0.106738
],
[
"Loughborough Estate, London",
340000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18622635/",
51.46826160116,
-0.10570123622231
],
[
"Stane Grove, Clapham North, London",
500000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19563052/",
51.468519,
-0.128499
],
[
"Loughborough Road, London",
500000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18682120/",
51.470658,
-0.108302
],
[
"Stane Grove, London",
550000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19288520/",
51.468518,
-0.128499
],
[
"Turner Close, London",
470000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19558448/",
51.476714,
-0.101937
],
[
"Brighton Terrace, Brixton, London",
475000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19306574/",
51.461645,
-0.117062
],
[
"Fenwick Place",
599950,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19554481/",
51.464473,
-0.12876
],
[
"Loughborough Road",
375000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19553677/",
51.470695,
-0.108771
],
[
"Eythorne Road, London",
575000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19552463/",
51.475345,
-0.108351
],
[
"Handforth Road, Oval, London",
500000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19069586/",
51.479485,
-0.113059
],
[
"20 Fergusson Mews, Stockwell",
695000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19547590/",
51.470019,
-0.126753
],
[
"Landor Road, Clapham, London",
550000,
2,
2,
"Other",
"https://www.onthemarket.com/details/19275567/",
51.467004,
-0.122097
],
[
"Cormont Road, Camberwell, London",
325000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19544734/",
51.473042,
-0.106046
],
[
"Stockwell Road, London",
425000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19543368/",
51.466384,
-0.116535
],
[
"Calais Street, London",
695000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19539822/",
51.475455,
-0.103167
],
[
"Clapham Road, Stockwell, London",
300000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19312175/",
51.477909,
-0.115701
],
[
"Stane Grove, London",
450000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19538231/",
51.468519,
-0.128499
],
[
"Stockwell Road",
465000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19538198/",
51.466529,
-0.117086
],
[
"Bolton Crescent, London",
450000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19523846/",
51.480484,
-0.10806
],
[
"Handforth Road, London",
550000,
2,
3,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19506302/",
51.4793089,
-0.1138433
],
[
"Acre Lane, London",
600000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19234257/",
51.460529,
-0.11754
],
[
"Brixton Road, LONDON",
350000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19043584/",
51.479824,
-0.111801
],
[
"Bramah Road, London",
525000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19521511/",
51.473773,
-0.10913
],
[
"Carney Place, London",
400000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19125735/",
51.462428,
-0.110765
],
[
"Liberty Street, London",
225000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18847282/",
51.475833,
-0.11632
],
[
"Liberty Street, London",
375000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18850207/",
51.475833,
-0.11632
],
[
"Clapham Road, London",
400000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19517131/",
51.4807822,
-0.1131921
],
[
"Edithna Street",
500000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18944836/",
51.467754,
-0.124359
],
[
"Brighton Terrace, London",
375000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19515033/",
51.461928,
-0.117304
],
[
"Offenham Road, London",
498000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19513494/",
51.475892,
-0.109228
],
[
"Camberwell New Road, London",
750000,
2,
2,
"Terraced",
"https://www.onthemarket.com/details/19512902/",
51.47739791870117,
-0.10183600336313248
],
[
"Wynne Road, Brixton, London",
300000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/17925213/",
51.469385,
-0.113518
],
[
"Hanover Gardens London",
1290000,
1,
3,
"Terraced",
"https://www.onthemarket.com/details/18150560/",
51.4815756,
-0.1134328
],
[
"St John's Crescent, London",
520000,
1,
3,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19509501/",
51.466075,
-0.111577
],
[
"Rumsey Road, London",
590000,
2,
3,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19043064/",
51.466866,
-0.116459
],
[
"Offley Road, London",
450000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19503694/",
51.479936,
-0.112276
],
[
"Huxley House, Stockwell Road, Stockwell, London",
435000,
1,
3,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19502011/",
51.470333,
-0.121643
],
[
"Stane Grove, Clapham, London",
500000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18534657/",
51.468264,
-0.127765
],
[
"Salisbury Place, London",
325000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19494191/",
51.477335,
-0.103078
],
[
"Hackford Road, London",
375000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19201991/",
51.47546,
-0.11501
],
[
"Hillyard Street, London",
250000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19306826/",
51.473951,
-0.115205
],
[
"Hackford Road, London",
525000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19489525/",
51.475637,
-0.115318
],
[
"Robsart Street",
640000,
2,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19488047/",
51.470149,
-0.114532
],
[
"Crewdson Road, LONDON",
525000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19487822/",
51.47869,
-0.112493
],
[
"Salisbury Place, Oval, London",
325000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19483122/",
51.477336,
-0.103052
],
[
"Burton Road, London",
475000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19357782/",
51.471575,
-0.105481
],
[
"Cromwell Road, London",
325000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18085145/",
51.4761439,
-0.1061119
],
[
"Ferndale Road, London",
625000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19235836/",
51.463174,
-0.12694
],
[
"Coldharbour Lane, Brixton, London",
400000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19478961/",
51.464527,
-0.103943
],
[
"Camberwell New Road, London",
1350000,
4,
5,
"Detached",
"https://www.onthemarket.com/details/19476834/",
51.478599,
-0.104555
],
[
"Cormont Road, London",
1395000,
2,
4,
"Detached",
"https://www.onthemarket.com/details/19476578/",
51.472499,
-0.105408
],
[
"Fyfield Road, London",
425000,
1,
1,
"Terraced",
"https://www.onthemarket.com/details/19311666/",
51.466176,
-0.109734
],
[
"Landor Road, Stockwell",
350000,
1,
1,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/19330855/",
51.4667874,
-0.1226492
],
[
"Cormont Road, London",
1700000,
2,
4,
"Detached",
"https://www.onthemarket.com/details/19474066/",
51.47264,
-0.105378
],
[
"Holcombe House, Landor Road, Clapham",
475000,
1,
2,
"Flats/Maisonettes",
"https://www.onthemarket.com/details/18716390/",
51.465374,
-0.127617
]
],
"hovertemplate": "<b>%{hovertext}</b><br><br>provider=OnTheMarket<br>Address per Property Register=%{customdata[0]}<br>Asking price=%{customdata[1]:,.0f}<br>Bathrooms=%{customdata[2]}<br>Bedrooms=%{customdata[3]}<br>Property type=%{customdata[4]}<br>Listing URL=%{customdata[5]}<extra></extra>",
"hovertext": [
"SW4 7EF",
"SE5 9AA",
"SW9 6NN",
"SW9 6BF",
"SW9 0RG",
"SW9 0HP",
"SW9 8SE",
"SW9 9FX",
"SW9 8RU",
"SW9 0FH",
"SW4 6BF",
"SW9 9FX",
"SW9 8GA",
"SE24 0LW",
"SW9 9LE",
"SW9 6JB",
"SW9 9HE",
"SW9 8GF",
"SW9 7AW",
"SW9 9NF",
"SW9 0EN",
"SW9 0PP",
"SW9 8JX",
"SW9 7QF",
"SW9 0UE",
"SW9 9QE",
"SW9 0FS",
"SW9 9QE",
"SW9 6XE",
"SW9 8FS",
"SW9 7SP",
"SW9 9AL",
"SW9 7TB",
"SW9 9AL",
"SW9 6UQ",
"SW9 8DL",
"SW9 9PG",
"SW9 7JX",
"SW9 7BN",
"SW9 0LP",
"SW4 6QU",
"SW9 9JB",
"SE5 9RE",
"SW9 9FX",
"SW9 6UB",
"SW9 0HS",
"SW9 9AL",
"SW9 9TG",
"SE5 0RZ",
"SW9 0LU",
"SW2 5RS",
"SW9 6BT",
"SW9 6FJ",
"SW9 8GA",
"SW9 0EF",
"SW9 0EF",
"SW9 0JP",
"SW9 9EB",
"SW9 8DH",
"SW9 7DX",
"SE5 0RR",
"SW9 0BB",
"SE11 5TL",
"SW9 7LZ",
"SW9 0FR",
"SW9 0LR",
"SW9 9EY",
"SW9 9FY",
"SW9 6UW",
"SW9 0RE",
"SW9 0NB",
"SW9 0RG",
"SW9 0FA",
"SW9 6BP",
"SW9 6UW",
"SW9 6TG",
"SW9 7BG",
"SW4 7SF",
"SW9 8SG",
"SE5 0SU",
"SE5 9RA",
"SW9 7HW",
"SW9 9NT",
"SE5 9RA",
"SW9 9NS"
],
"lat": {
"bdata": "x5+obFi7SUDNW3UdqrtJQAMJih9jvElALxSwHYy8SUAyryMO2bxJQDv7yoP0vElAza0QVmO7SUCGAODYs7tJQBaHM7+au0lAg3fNr7O7SUAXf9sTJLxJQCgs8YCyu0lAg2xZvi67SUBQGf8+47pJQLfVrDO+u0lAXMZNDTS9SUCP+usVFrxJQFLRWPs7u0lA626e6pC7SUC9UpYhjrtJQAjKbfsevUlADmWoiqm8SUB8e9egL7tJQDT4+8Vsu0lA8YEd/wW8SUA+d4L917tJQFJEhlW8u0lAUOJzJ9i7SUCARX79EL1JQEOPGD23uklAN3oD/++7SUD+Rjtu+LtJQObMdoU+vElALsvXZfi7SUDOxd/2BL1JQFOu8C4Xu0lAAHDs2XO7SUADste7P7xJQJeo3hrYvElAFva0w1+9SUDTvySVKbxJQPSMfcnGu0lANdHno4y8SUBXsI14srtJQB7cnbXbvElAZrtCHyy9SUD+Rjtu+LtJQFvR5ji3u0lAKSDtf4C9SUBDF3n+Wb1JQAfuQJ3yuklA/+px32q9SUApXfqXpLxJQJpgONcwu0lAxa2CGOi8SUDFrYIY6LxJQN2/aEWKvUlAXknyXN+7SUCojep0ILtJQMo2cAfqvElAAAAAYBu9SUDSHcTOFLxJQJpG7kSkvUlA2T15WKi7SUCjztxDwrtJQCcW+IpuvUlAYp0q3zO8SUBz8iIT8LtJQDoeM1AZvUlAMEeP39u8SUAIdCZtqrxJQD/iV6zhvElAoZ+p1y28SUAMdsO2Rb1JQAuallgZvUlAPE7RkVy8SUBOWIdI8rxJQMMtH0lJu0lA843onnW7SUD8cma7Qr1JQEQy5Nh6vElADRe5p6u7SUCql4Swv7tJQAZkr3d/vElAUDQPYJG7SUA=",
"dtype": "f8"
},
"legendgroup": "OnTheMarket",
"lon": {
"bdata": "jpHsEWqGwL8v3/qw3qi5v633G+244bu/oIobt5ifu7/Oxd/2BIm9vymy1lBqL76/WvYksDkHu7+nWguz0M69vzIDlfHvM7q/ykQ6qJ9Pvb+FCaNZ2T7Av0zg1t081b2/wFsgQfFjvL9UO8PUljq8v9ycSgaAKsC/T+eKUkKwur+lv5fCg2a/vzbJj/gVa7y/Ha7VHvZCvb98DFacai3Avw1yF2GKcr2/CtY4m44Avr9Z/KawUkG9v5S/e0eNCb2/kSdJ10y+vb88M8FwrmG+v5mdRe9UwL2/hpLJqZ1hvr//lCpR9pa6vwCOPXsuU7u/Qbq4eDwPu79Ly0i9p3LAv3dlFwyuubu/S8tIvadywL8kmkARixi6v9C2mnXG972/CTiEKjV7wL/E0sCPati7v0oofSHkvLu/D7qEQ2/xvL/kvtU6cTnAv/eQ8L2/Qb+/OiLfpdQlu79M4NbdPNW9vz/EBgsnabq/nE8dq5Sevb9Ly0i9p3LAv97H0RxZ+b2/fXkB9tGpu785ZF6i1SS9v4LK+PcZF76/Dfyohv2evL/kMQOV8e+7v9CbilQYW7y/gufewyXHvb+C597DJce9vz9iqk8o+ry/eJj2zf3Vv7/LorCLoge+v4m3zr9d9ru/AAAAoOwRur8/4IEBhA+9v4AwS5buCb2/3Vz8bU+QvL9JKlPMQdC9v50tILQevry/VI7J4v4jv797ZkmAmlrAvwDl795RY7q/jIS2nEtxvb8g71UrE369v27fo/56hb2/2nBYGvhRvb/TZwdcV8y8v4aSyamdYbq/tXBZhc0Au791ZzdEJiq7v1bxRuaRP8C/t+ulKQKcur+jHqLRHcS6v9ScvMgE/Lq/IF9CBYcXvL+XbOEe8GW/v4LHt3cN+rq/5fG0/MBVwL8=",
"dtype": "f8"
},
"marker": {
"color": "#16a34a",
"opacity": 0.65,
"size": 5
},
"mode": "markers",
"name": "OnTheMarket",
"showlegend": true,
"subplot": "map",
"type": "scattermap"
},
{
"customdata": [
[
"1, Caldwell Street, Stockwell",
995000,
2,
4,
"Other",
"https://www.zoopla.co.uk/for-sale/details/73326946/",
51.477238,
-0.116819
],
[
"Flat 27, Addington House,, Stockwell Road, Stockwell, London",
350000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/72554891/",
51.468221,
-0.118798
],
[
"1, Stockwell Park Road, London",
1695000,
3,
5,
"Semi-Detached",
"https://www.zoopla.co.uk/for-sale/details/69392186/",
51.474381,
-0.119192
],
[
"Flat 11 Beale House, 45, Lingham Street, Stockwell, London",
525000,
2,
3,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73306789/",
51.469424,
-0.122658
],
[
"17, Houghton Square, London",
500000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73302918/",
51.46795,
-0.129002
],
[
"Flat 4,, Cleveland House, Hackford Road, London",
515000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73302851/",
51.477508,
-0.115029
],
[
"chpk0226649, Hemberton Road, Clapham North, London",
475000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/71215394/",
51.466593,
-0.125681
],
[
"Flat 59, 151, Stockwell Road",
465000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73250562/",
51.466529,
-0.117086
],
[
"First Floor Flat, 70, Fenwick Place",
599950,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73268982/",
51.464473,
-0.12876
],
[
"Flat C, 58, Loughborough Road",
375000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73268027/",
51.470695,
-0.108771
],
[
"Flat 7, 5, Eythorne Road, Oval",
575000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73266802/",
51.475345,
-0.108351
],
[
"chpk3677610, Yates Court, Stockwell, London",
475000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73261921/",
51.472181,
-0.12142
],
[
"Beam, Lambeth SW9, New home",
580000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/new-homes/details/73247019/",
51.476628,
-0.10787
],
[
"Beam, Lambeth SW9, New home",
595000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/new-homes/details/73246935/",
51.476628,
-0.10787
],
[
"Stockwell Road, Brixton SW9, New home",
575000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/new-homes/details/73239981/",
51.4674179004739,
-0.122737777251185
],
[
"Flat 17, Draymans Court, 41, Stockwell Green, London",
375000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73239240/",
51.467439,
-0.118432
],
[
"72, Hargwyne Street, Stockwell",
1050000,
3,
4,
"Other",
"https://www.zoopla.co.uk/for-sale/details/73231221/",
51.46622,
-0.121542
],
[
"Flat 5, 18, Brighton Terrace, London",
375000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73225986/",
51.461928,
-0.117304
],
[
"Flat 3, 1, Offenham Road, Oval",
498000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73224383/",
51.475892,
-0.109228
],
[
"Handforth Road, London",
550000,
2,
3,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73216028/",
51.479309,
-0.113843
],
[
"First Floor Flat, 3, Crewdson Road, Oval",
525000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73195760/",
51.47869,
-0.112493
],
[
"chpk3632024, Hillyard Street, Oval, London",
475000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73184722/",
51.474134,
-0.114802
],
[
"74, Stockwell Park Road, London",
2100000,
3,
4,
"Terraced",
"https://www.zoopla.co.uk/for-sale/details/73183355/",
51.47089,
-0.116765
],
[
"Flat 12, 5, Eythorne Road, Oval",
435000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73178440/",
51.475345,
-0.108351
],
[
"Flat 7, 162, Brixton Road, London",
340000,
1,
1,
"Other",
"https://www.zoopla.co.uk/for-sale/details/73177281/",
51.475028,
-0.113055
],
[
"12, Burnley Road, London",
1595000,
2,
5,
"Terraced",
"https://www.zoopla.co.uk/for-sale/details/73170265/",
51.470986,
-0.119194
],
[
"16 Leda Court, Hackford Rd, Oval",
425000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/71247456/",
51.477172,
-0.11466
],
[
"Flat 8, 90, Clapham Road, Oval",
300000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/72100650/",
51.478889,
-0.115641
],
[
"Flat 14, 27, Hillyard Street, Oval",
385000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/72779518/",
51.474212,
-0.114897
],
[
"Flat 1 27, Hillyard Street, Oval, London",
525000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/72779557/",
51.474262,
-0.114798
],
[
"Amberley Court, Angell Road, London",
390000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/72978875/",
51.467494,
-0.107537
],
[
"118c, Landor Road, Clapham North",
400000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73160783/",
51.466708,
-0.122739
],
[
"chpk4025655, Milles Square, Brixton, London",
500000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73162720/",
51.462364,
-0.110925
],
[
"Clapham Road, Oval, London",
550000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73163252/",
51.480763,
-0.113092
],
[
"31a, Tunstall Road, Brixton, London",
599950,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/71394847/",
51.462399,
-0.117013
],
[
"Flat 7, 376, Clapham Road, London",
675000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/73157265/",
51.468123,
-0.128106
],
[
"4, Rathgar Road, London",
425000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/64039312/",
51.466029,
-0.102351
],
[
"Flat 14, Vincent Court, Stockwell, London",
350000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/66790369/",
51.47413,
-0.115666
],
[
"Top floor, 62, Hemberton Road, Clapham",
600000,
1,
3,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/66921521/",
51.466328,
-0.126008
],
[
"Zachary House, Lett Road, London",
440000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/67561303/",
51.476216,
-0.117323
],
[
"Beam, Oval SW9, New home",
580000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/new-homes/details/68885348/",
51.476417,
-0.108425
],
[
"Cancell Road, London SW9, New home",
630000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/new-homes/details/68885354/",
51.476417,
-0.108425
],
[
"86B, Landor Road, Stockwell",
450000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/69092765/",
51.465884,
-0.125154
],
[
"Beam, Oval SW9, New home",
638000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/new-homes/details/69141398/",
51.476417,
-0.108425
],
[
"Beam, Oval SW9, New home",
580000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/new-homes/details/69141898/",
51.476417,
-0.108425
],
[
"Beam, Oval SW9, New home",
595000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/new-homes/details/69141934/",
51.476417,
-0.108425
],
[
"Flat 8, Newson House, Brixton",
101250,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/69345262/",
51.458477,
-0.105774
],
[
"Flat 2,, Haverfield House, 31 Clapham Road, London",
445000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/69477612/",
51.480039,
-0.114014
],
[
"29, Rupert Gardens, Stockwell",
325000,
1,
4,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/69802039/",
51.467677,
-0.104615
],
[
"London, London",
190000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/69841147/",
51.470153,
-0.115445
],
[
"chpk2498574, Hopton House, Brixton, London",
400000,
1,
3,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/69909713/",
51.468284,
-0.106102
],
[
"70, Hargwyne Street, Brixton",
530000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/69917093/",
51.465846,
-0.121333
],
[
"Flat 1, 9, Dundas Road, London",
650000,
2,
3,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/69969115/",
51.472982,
-0.10968
],
[
"25, Fitzpatrick Road, London",
625000,
1,
3,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/70045361/",
51.475681,
-0.10581
],
[
"361, Clapham Road, London",
650000,
1,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/70056401/",
51.467428,
-0.127914
],
[
"Flat 9, Ferndale Road, London",
295000,
1,
1,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/70256633/",
51.462776,
-0.122019
],
[
"Flat 7, 2, Offenham Road, Oval, London",
570000,
2,
2,
"Flats/Maisonettes",
"https://www.zoopla.co.uk/for-sale/details/70308376/",
51.476,
-0.109
],
[
"2A, Tasman Road, Clapham North",
700000,
1,
2,
"Terraced",
"https://www.zoopla.co.uk/for-sale/details/70335716/",
51.465724,
-0.125134
]
],
"hovertemplate": "<b>%{hovertext}</b><br><br>provider=Zoopla<br>Address per Property Register=%{customdata[0]}<br>Asking price=%{customdata[1]:,.0f}<br>Bathrooms=%{customdata[2]}<br>Bedrooms=%{customdata[3]}<br>Property type=%{customdata[4]}<br>Listing URL=%{customdata[5]}<extra></extra>",
"hovertext": [
"SW9 0HD",
"SW9 0TZ",
"SW9 0AP",
"SW9 9HG",
"SW9 9AN",
"SW9 0ET",
"SW9 9LF",
"SW9 9FX",
"SW9 9NW",
"SW9 7SB",
"SW9 7RH",
"SW9 9AU",
"SW9 6HP",
"SW9 6HP",
"SW9 9FX",
"SW9 9QE",
"SW9 9RJ",
"SW9 8DG",
"SW9 7BN",
"SW9 0LL",
"SW9 0LH",
"SW9 0NG",
"SW9 0DA",
"SW9 7RH",
"SW9 6AU",
"SW9 0SH",
"SW9 0EU",
"SW9 0JJ",
"SW9 0NG",
"SW9 0NG",
"SW9 7HL",
"SW9 9NT",
"SW9 8GA",
"SW9 0JP",
"SW9 8BZ",
"SW9 9AR",
"SW9 7EL",
"SW9 0QU",
"SW9 9LJ",
"SW9 0AF",
"SW9 6HN",
"SW9 6HN",
"SW9 9PE",
"SW9 6HN",
"SW9 6HN",
"SW9 6HN",
"SW9 8FU",
"SW9 0JD",
"SW9 7TL",
"SW9 0BF",
"SW9 7SP",
"SW9 9RG",
"SW9 6BZ",
"SW9 7AZ",
"SW9 9BT",
"SW4 7RU",
"SW9 7BN",
"SW9 9LT"
],
"lat": {
"bdata": "SDSBIha9SUB0Jm2q7rtJQAFsQIS4vElAj/rrFRa8SUDkFB3J5btJQAjKbfsevUlAcsXFUbm7SUBb0eY4t7tJQABw7Nlzu0lAA7LXuz+8SUCXqN4a2LxJQHNlUG1wvElAzy10JQK9SUDPLXQlAr1JQNkMilnUu0lA/u+ICtW7SUDdXtIYrbtJQKiN6nQgu0lAyjZwB+q8SUDY1k//Wb1JQAx2w7ZFvUlA+fVDbLC8SUC4AZ8fRrxJQJeo3hrYvElAl1eut828SUDbb+1ESbxJQJFI2/gTvUlAA7UYPEy9SUB1r5P6srxJQCfeAZ60vElAwono19a7SUAKZHYWvbtJQINsWb4uu0lAPRBZpIm9SUD/WfPjL7tJQLHAV3Tru0lAaf6Y1qa7SUC4BrZKsLxJQMOayqKwu0lAfepYpfS8SUAUIXU7+7xJQBQhdTv7vElAZt0/FqK7SUAUIXU7+7xJQBQhdTv7vElAFCF1O/u8SUDue9Rfr7pJQPvm/upxvUlAswsG19y7SUDjjjf5LbxJQLqe6Lrwu0lAeHx716C7SUBgzJasirxJQA8qcR3jvElACp5CrtS7SUDVr3Q+PLtJQLByaJHtvElALXsS2Jy7SUA=",
"dtype": "f8"
},
"legendgroup": "Zoopla",
"lon": {
"bdata": "ICqNmNnnvb+DiNS0i2m+v4Pg8e1dg76/pb+XwoNmv78GLo81I4PAvw1yF2GKcr2/+kFdpFAWwL/ex9EcWfm9vwk4hCo1e8C/xNLAj2rYu79KKH0h5Ly7v9qPFJFhFb+/djI4Sl6du792MjhKXp27v/sORzO+a7+/acTMPo9Rvr+NJhdjYB2/v8uisIuiB76/ibfOv132u7825+CZ0CS9v9NnB1xXzLy/u/CD86ljvb+/Q1GgT+S9v0oofSHkvLu/NzemJyzxvL/uIeF7f4O+v9HLKJZbWr2/+KQTCaaavb8+lGjJ42m9v+NtpddmY72/0CUceouHu781mfG20mu/v4QNT6+UZby/gnFw6ZjzvL/+8zRgkPS9v6bvNQTHZcC/WoC21awzur+9VkJ3SZy9vyxmhLcHIcC/S5ARUOEIvr/gnBGlvcG7v+CcEaW9wbu/uFZ72AsFwL/gnBGlvcG7v+CcEaW9wbu/4JwRpb3Bu7/uYMQ+ARS7v7xASYEFML2/R8mrcwzIur+vmXyzzY29vwZKCiyAKbu/BvLs8q0Pv7/AeAYN/RO8v4P6ljldFru/batZZ3xfwL+JmX0eozy/v4GVQ4ts57u/nQ/PEmQEwL8=",
"dtype": "f8"
},
"marker": {
"color": "#dc2626",
"opacity": 0.65,
"size": 5
},
"mode": "markers",
"name": "Zoopla",
"showlegend": true,
"subplot": "map",
"type": "scattermap"
}
],
"layout": {
"height": 800,
"legend": {
"title": {
"text": "Provider"
},
"tracegroupgap": 0
},
"map": {
"center": {
"lat": 51.47029892778563,
"lon": -0.11608637408049434
},
"domain": {
"x": [
0,
1
],
"y": [
0,
1
]
},
"style": "open-street-map",
"zoom": 9
},
"mapbox": {
"center": {
"lat": 51.47029892778563,
"lon": -0.11608637408049434
},
"zoom": 9
},
"margin": {
"b": 0,
"l": 0,
"r": 0,
"t": 45
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermap": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermap"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Buy listings by source"
}
}
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"map_df = (\n",
" df.filter(\n",
" pl.col(\"lat\").is_not_null()\n",
" & pl.col(\"lon\").is_not_null()\n",
" & pl.col(\"lat\").is_between(49, 56)\n",
" & pl.col(\"lon\").is_between(-1, 1)\n",
" )\n",
" .select(\n",
" \"provider\",\n",
" \"lat\",\n",
" \"lon\",\n",
" \"Postcode\",\n",
" \"Address per Property Register\",\n",
" \"Asking price\",\n",
" \"Bathrooms\",\n",
" \"Bedrooms\",\n",
" \"Property type\",\n",
" \"Listing URL\",\n",
" )\n",
" .to_pandas()\n",
")\n",
"\n",
"print(f\"Mapped rows: {len(map_df):,}\")\n",
"\n",
"fig = px.scatter_map(\n",
" map_df,\n",
" lat=\"lat\",\n",
" lon=\"lon\",\n",
" color=\"provider\",\n",
" color_discrete_map={\n",
" \"Rightmove\": \"#2563eb\",\n",
" \"OnTheMarket\": \"#16a34a\",\n",
" \"Zoopla\": \"#dc2626\",\n",
" \"Unknown\": \"#6b7280\",\n",
" },\n",
" hover_name=\"Postcode\",\n",
" hover_data={\n",
" \"Address per Property Register\": True,\n",
" \"Asking price\": \":,.0f\",\n",
" \"Bathrooms\": True,\n",
" \"Bedrooms\": True,\n",
" \"Property type\": True,\n",
" \"Listing URL\": True,\n",
" \"lat\": False,\n",
" \"lon\": False,\n",
" },\n",
" zoom=9,\n",
" height=800,\n",
" title=\"Buy listings by source\",\n",
")\n",
"fig.update_traces(marker={\"size\": 5, \"opacity\": 0.65})\n",
"fig.update_layout(\n",
" map_style=\"open-street-map\",\n",
" legend_title_text=\"Provider\",\n",
" margin={\"l\": 0, \"r\": 0, \"t\": 45, \"b\": 0},\n",
")\n",
"fig.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv (3.12.13)",
"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.12.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}