From 8b7de221936d77e905e03b4bde58920a04adb0a3 Mon Sep 17 00:00:00 2001 From: luke-strange <92686634+luke-strange@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:08:13 +0100 Subject: [PATCH] Refactor pipelines, re-run, add rounding --- data/brownfield/sites_by_local_authority.csv | 552 +++++++++---------- pipelines/brownfield/extract.ipynb | 42 +- pipelines/brownfield/transform.ipynb | 20 +- 3 files changed, 305 insertions(+), 309 deletions(-) diff --git a/data/brownfield/sites_by_local_authority.csv b/data/brownfield/sites_by_local_authority.csv index f91d9bf..df306d7 100644 --- a/data/brownfield/sites_by_local_authority.csv +++ b/data/brownfield/sites_by_local_authority.csv @@ -1,296 +1,296 @@ LAD24CD,LAD24NM,hectares,maximum-net-dwellings,minimum-net-dwellings,sites -E06000001,Hartlepool,67.96900000000001,2207.0,1932.0,40 -E06000002,Middlesbrough,70.56,4143.0,2698.0,68 -E06000003,Redcar and Cleveland,44.76,1445.0,1383.0,58 -E06000004,Stockton-on-Tees,86.94,904.0,561.0,10 -E06000005,Darlington,59.13,1534.0,0.0,23 -E06000006,Halton,55.24,2093.0,1211.0,36 -E06000007,Warrington,224.952,9303.0,0.0,156 -E06000008,Blackburn with Darwen,54.730000000000004,2537.0,1337.0,31 -E06000009,Blackpool,31.124091,1952.0,920.0,67 -E06000010,"Kingston upon Hull, City of",39.028746,3392.0,2842.0,79 -E06000011,East Riding of Yorkshire,324.114484,9483.0,8518.0,278 -E06000012,North East Lincolnshire,39.8115,2102.0,1932.0,56 -E06000013,North Lincolnshire,95.9506,2852.0,8.0,78 -E06000014,York,167.559,8710.0,0.0,110 -E06000015,Derby,52.681000000000004,3606.0,0.0,45 -E06000016,Leicester,39.15,4927.0,1014.0,66 -E06000017,Rutland,3.37,79.0,49.0,5 -E06000018,Nottingham,497.24261,22511.0,20736.0,438 -E06000019,"Herefordshire, County of",43.76,836.0,1878.0,75 -E06000020,Telford and Wrekin,180.915,4565.0,4565.0,63 -E06000021,Stoke-on-Trent,322.29,15324.0,10320.0,302 -E06000022,Bath and North East Somerset,89.98,1.0,0.0,81 -E06000023,"Bristol, City of",213.87,19286.0,14040.0,444 -E06000024,North Somerset,80.97,3297.0,3144.0,80 -E06000025,South Gloucestershire,453.89,5605.0,4774.0,169 -E06000026,Plymouth,214.742,9779.0,5857.0,138 -E06000027,Torbay,52.519999999999996,2471.0,1585.0,99 -E06000030,Swindon,275.317341,7892.0,5467.0,222 +E06000001,Hartlepool,68.0,2207.0,1932.0,40 +E06000002,Middlesbrough,70.6,4143.0,2698.0,68 +E06000003,Redcar and Cleveland,44.8,1445.0,1383.0,58 +E06000004,Stockton-on-Tees,86.9,904.0,561.0,10 +E06000005,Darlington,59.1,1534.0,0.0,23 +E06000006,Halton,55.2,2093.0,1211.0,36 +E06000007,Warrington,225.0,9303.0,0.0,156 +E06000008,Blackburn with Darwen,54.7,2537.0,1337.0,31 +E06000009,Blackpool,31.1,1952.0,920.0,67 +E06000010,"Kingston upon Hull, City of",39.0,3392.0,2842.0,79 +E06000011,East Riding of Yorkshire,324.1,9483.0,8518.0,278 +E06000012,North East Lincolnshire,39.8,2102.0,1932.0,56 +E06000013,North Lincolnshire,96.0,2852.0,8.0,78 +E06000014,York,167.6,8982.0,0.0,110 +E06000015,Derby,52.7,3606.0,0.0,45 +E06000016,Leicester,39.2,4927.0,1014.0,66 +E06000017,Rutland,3.4,79.0,49.0,5 +E06000018,Nottingham,497.2,22511.0,20736.0,438 +E06000019,"Herefordshire, County of",43.8,836.0,1878.0,75 +E06000020,Telford and Wrekin,180.9,4565.0,4565.0,63 +E06000021,Stoke-on-Trent,322.3,15324.0,10320.0,302 +E06000022,Bath and North East Somerset,90.0,1.0,0.0,81 +E06000023,"Bristol, City of",213.9,19286.0,14040.0,444 +E06000024,North Somerset,81.0,3297.0,3144.0,80 +E06000025,South Gloucestershire,453.9,5605.0,4774.0,169 +E06000026,Plymouth,214.7,9779.0,5857.0,138 +E06000027,Torbay,52.5,2471.0,1585.0,99 +E06000030,Swindon,275.3,7892.0,5467.0,222 E06000031,Peterborough,2338.6,7125.0,7125.0,72 -E06000032,Luton,80.87,8065.0,6165.0,158 -E06000033,Southend-on-Sea,50.243,4998.0,4376.0,56 -E06000034,Thurrock,139.5797,5637.0,3772.0,70 -E06000035,Medway,37.5425,2580.0,2577.0,123 -E06000036,Bracknell Forest,77.9573,5432.0,5432.0,57 -E06000037,West Berkshire,48.61,2664.0,0.0,62 -E06000038,Reading,142.62,17036.0,12862.0,165 -E06000039,Slough,82.47,662.0,5.0,112 +E06000032,Luton,80.9,8065.0,6165.0,158 +E06000033,Southend-on-Sea,50.2,4998.0,4376.0,56 +E06000034,Thurrock,139.6,5637.0,3772.0,70 +E06000035,Medway,37.5,2580.0,2577.0,123 +E06000036,Bracknell Forest,78.0,5432.0,5432.0,57 +E06000037,West Berkshire,48.6,2664.0,0.0,62 +E06000038,Reading,142.6,17036.0,12862.0,165 +E06000039,Slough,82.5,662.0,5.0,112 E06000040,Windsor and Maidenhead,72.0,1808.0,0.0,32 -E06000041,Wokingham,121.953337,1990.0,5.0,25 -E06000042,Milton Keynes,62.78,4415.0,279.0,82 -E06000043,Brighton and Hove,76.8186,8533.0,8912.0,204 +E06000041,Wokingham,122.0,1990.0,5.0,25 +E06000042,Milton Keynes,62.8,4415.0,279.0,82 +E06000043,Brighton and Hove,76.8,8533.0,8912.0,204 E06000045,Southampton,71.7,3779.0,0.0,37 -E06000046,Isle of Wight,119.35,2347.0,0.0,115 -E06000047,County Durham,159.29,4207.0,3671.0,68 +E06000046,Isle of Wight,119.4,2347.0,0.0,115 +E06000047,County Durham,159.3,4207.0,3671.0,68 E06000049,Cheshire East,297.0,14953.0,13998.0,268 -E06000050,Cheshire West and Chester,1.030924,55.0,30.0,2 -E06000051,Shropshire,183.73,3870.0,3646.0,163 -E06000052,Cornwall,180.41,5716.0,4432.0,264 +E06000050,Cheshire West and Chester,1.0,55.0,30.0,2 +E06000051,Shropshire,183.7,3870.0,3646.0,163 +E06000052,Cornwall,180.4,5716.0,4432.0,264 E06000053,Isles of Scilly,0.8,33.0,0.0,2 -E06000054,Wiltshire,172.142056,4907.0,3656.0,145 -E06000055,Bedford,758.86,15318.0,7994.0,169 -E06000056,Central Bedfordshire,320.751,4540.0,3849.0,59 -E06000057,Northumberland,475.145402,6088.0,5550.0,309 -E06000058,"Bournemouth, Christchurch and Poole",196.124133,18019.0,13690.0,529 -E06000059,Dorset,170.16,6626.0,5359.0,229 -E06000060,Buckinghamshire,558.991,9316.0,6861.0,359 -E06000061,North Northamptonshire,42.684055,1521.0,1395.0,29 -E06000062,West Northamptonshire,247.907166,10048.0,8979.0,207 +E06000054,Wiltshire,172.1,4907.0,3656.0,145 +E06000055,Bedford,758.9,15318.0,7994.0,169 +E06000056,Central Bedfordshire,320.8,4540.0,3849.0,59 +E06000057,Northumberland,475.1,6088.0,5550.0,309 +E06000058,"Bournemouth, Christchurch and Poole",196.1,18019.0,13690.0,529 +E06000059,Dorset,170.2,6626.0,5359.0,229 +E06000060,Buckinghamshire,559.0,9316.0,6861.0,359 +E06000061,North Northamptonshire,42.7,1521.0,1395.0,29 +E06000062,West Northamptonshire,178.7,6163.0,5516.0,135 E06000063,Cumberland,129.1,3579.0,1224.0,71 -E06000064,Westmorland and Furness,211.977072,5388.0,2654.0,217 -E06000065,North Yorkshire,430.435359,10229.0,7653.0,306 -E06000066,Somerset,270.71,6736.0,2831.0,187 -E07000008,Cambridge,171.34,5893.0,4806.0,127 -E07000009,East Cambridgeshire,91.190548,1026.0,212.0,63 -E07000010,Fenland,84.911985,1355.0,1355.0,60 -E07000011,Huntingdonshire,147.256,3580.0,3041.0,35 -E07000012,South Cambridgeshire,3133.4500000000003,45156.0,21845.0,202 -E07000032,Amber Valley,261.49,4579.0,3072.0,67 -E07000033,Bolsover,101.55,2603.0,1393.0,89 -E07000034,Chesterfield,59.94,2939.0,2361.0,56 -E07000035,Derbyshire Dales,234.69914599999998,3980.0,3470.0,40 -E07000036,Erewash,78.91,2299.0,2092.0,81 -E07000037,High Peak,66.009,1690.0,1602.0,43 +E06000064,Westmorland and Furness,212.0,5388.0,2654.0,217 +E06000065,North Yorkshire,430.4,10229.0,7653.0,306 +E06000066,Somerset,270.7,6736.0,2831.0,187 +E07000008,Cambridge,171.3,5893.0,4806.0,127 +E07000009,East Cambridgeshire,91.2,1026.0,212.0,63 +E07000010,Fenland,84.9,1355.0,1355.0,60 +E07000011,Huntingdonshire,147.3,3580.0,3041.0,35 +E07000012,South Cambridgeshire,3133.5,45156.0,21845.0,202 +E07000032,Amber Valley,261.5,4579.0,3072.0,67 +E07000033,Bolsover,101.6,2603.0,1393.0,89 +E07000034,Chesterfield,59.9,2939.0,2361.0,56 +E07000035,Derbyshire Dales,234.7,3980.0,3470.0,40 +E07000036,Erewash,78.9,2299.0,2092.0,81 +E07000037,High Peak,66.0,1690.0,1602.0,43 E07000038,North East Derbyshire,107.4,2187.0,2055.0,45 -E07000039,South Derbyshire,113.16,2399.0,2497.0,37 -E07000040,East Devon,29.12,917.0,19.0,37 -E07000042,Mid Devon,12.27,312.0,0.0,21 -E07000043,North Devon,69.54,2542.0,1990.0,100 -E07000044,South Hams,28.248,653.0,0.0,18 +E07000039,South Derbyshire,113.2,2399.0,2497.0,37 +E07000040,East Devon,29.1,917.0,19.0,37 +E07000042,Mid Devon,12.3,312.0,0.0,21 +E07000043,North Devon,69.5,2542.0,1990.0,100 +E07000044,South Hams,28.2,653.0,0.0,18 E07000045,Teignbridge,81.1,1201.0,1105.0,58 -E07000046,Torridge,25.11,706.0,79.0,23 -E07000047,West Devon,8.84,206.0,19.0,5 -E07000061,Eastbourne,5.98,622.0,622.0,31 -E07000062,Hastings,36.46,1624.0,1526.0,44 -E07000063,Lewes,51.17,912.0,2001.0,71 -E07000064,Rother,30.28,917.0,843.0,58 -E07000065,Wealden,41.68,952.0,436.0,62 -E07000066,Basildon,85.56,3063.0,2883.0,94 -E07000067,Braintree,25.37,1000.0,776.0,48 -E07000068,Brentwood,63.41,3360.0,0.0,56 -E07000069,Castle Point,17.248,1046.0,1046.0,72 -E07000070,Chelmsford,119.13,1212.0,511.0,319 -E07000071,Colchester,44.373,2022.0,314.0,33 -E07000072,Epping Forest,85.8964,878.0,870.0,129 -E07000073,Harlow,48.76,2134.0,904.0,38 -E07000074,Maldon,3.4499999999999997,253.0,0.0,8 +E07000046,Torridge,25.1,706.0,79.0,23 +E07000047,West Devon,8.8,206.0,19.0,5 +E07000061,Eastbourne,6.0,622.0,622.0,31 +E07000062,Hastings,36.5,1624.0,1526.0,44 +E07000063,Lewes,51.2,912.0,2001.0,71 +E07000064,Rother,30.3,917.0,843.0,58 +E07000065,Wealden,41.9,958.0,442.0,63 +E07000066,Basildon,85.6,3063.0,2883.0,94 +E07000067,Braintree,25.4,1000.0,776.0,48 +E07000068,Brentwood,63.4,3360.0,0.0,56 +E07000069,Castle Point,17.2,1046.0,1046.0,72 +E07000070,Chelmsford,119.1,1212.0,511.0,319 +E07000071,Colchester,44.4,2022.0,314.0,33 +E07000072,Epping Forest,85.9,878.0,870.0,129 +E07000073,Harlow,48.8,2134.0,904.0,38 +E07000074,Maldon,3.4,253.0,0.0,8 E07000075,Rochford,34.6,1058.0,882.0,31 -E07000076,Tendring,34.32,1055.0,0.0,60 -E07000077,Uttlesford,89.703,3553.0,1727.0,25 -E07000078,Cheltenham,34.15,1578.0,1217.0,76 -E07000079,Cotswold,62.04,1008.0,0.0,53 -E07000080,Forest of Dean,81.585418,1878.0,1297.0,80 -E07000081,Gloucester,73.93,3731.0,2206.0,52 -E07000082,Stroud,133.68,3879.0,1967.0,139 -E07000083,Tewkesbury,9.17,245.0,0.0,16 -E07000084,Basingstoke and Deane,122.931984,6156.0,4588.0,116 -E07000085,East Hampshire,14.3673,366.0,586.0,25 +E07000076,Tendring,34.3,1055.0,0.0,60 +E07000077,Uttlesford,89.7,3553.0,1727.0,25 +E07000078,Cheltenham,34.2,1578.0,1217.0,76 +E07000079,Cotswold,62.0,1008.0,0.0,53 +E07000080,Forest of Dean,81.6,1878.0,1297.0,80 +E07000081,Gloucester,73.9,3731.0,2206.0,52 +E07000082,Stroud,133.7,3879.0,1967.0,139 +E07000083,Tewkesbury,9.2,245.0,0.0,16 +E07000084,Basingstoke and Deane,122.9,6156.0,4588.0,116 +E07000085,East Hampshire,14.4,366.0,586.0,25 E07000086,Eastleigh,31.1,887.0,891.0,41 -E07000087,Fareham,51.392669,2497.0,2425.0,70 -E07000088,Gosport,111.99,2105.0,1489.0,31 -E07000089,Hart,203.44,7300.0,4036.0,133 +E07000087,Fareham,51.4,2497.0,2425.0,70 +E07000088,Gosport,112.0,2105.0,1489.0,31 +E07000089,Hart,203.4,7300.0,4036.0,133 E07000090,Havant,156.6,4529.0,4374.0,79 -E07000091,New Forest,94.89500000000001,2948.0,3024.0,84 -E07000092,Rushmoor,40.910000000000004,3536.0,3324.0,62 -E07000093,Test Valley,16.309,660.0,0.0,13 -E07000094,Winchester,26.47,1005.0,91.0,81 -E07000095,Broxbourne,44.5117,216.0,0.0,42 -E07000096,Dacorum,71.89,3094.0,2973.0,40 -E07000098,Hertsmere,45.446301,1693.0,1988.0,66 -E07000099,North Hertfordshire,35.86,1396.0,1154.0,56 -E07000102,Three Rivers,50.15,1762.0,1277.0,62 -E07000103,Watford,32.37,4366.0,0.0,35 -E07000105,Ashford,47.9157,2393.0,164.0,41 -E07000106,Canterbury,50.46,1522.0,1617.0,77 -E07000107,Dartford,337.2575,10633.0,8144.0,79 -E07000108,Dover,182.66424999999998,4086.0,4086.0,96 -E07000109,Gravesham,119.4282,7774.0,5582.0,103 -E07000110,Maidstone,146.7251,5517.0,5509.0,167 -E07000111,Sevenoaks,257.7801,6383.0,6099.0,185 -E07000113,Swale,113.14,5006.0,4961.0,59 -E07000114,Thanet,355.21,1663.0,0.0,77 -E07000115,Tonbridge and Malling,12.6191,369.0,13.0,19 -E07000116,Tunbridge Wells,27.64,1356.0,1305.0,48 -E07000117,Burnley,29.92,1168.0,586.0,29 -E07000118,Chorley,76.23,2058.0,1900.0,77 -E07000119,Fylde,58.156,1601.0,1601.0,47 -E07000120,Hyndburn,29.62,1362.0,651.0,38 -E07000121,Lancaster,162.84,4276.0,1798.0,62 -E07000122,Pendle,49.468,1680.0,1456.0,67 +E07000091,New Forest,94.9,2948.0,3024.0,84 +E07000092,Rushmoor,40.9,3536.0,3324.0,62 +E07000093,Test Valley,16.3,660.0,0.0,13 +E07000094,Winchester,26.5,1005.0,91.0,81 +E07000095,Broxbourne,44.5,216.0,0.0,42 +E07000096,Dacorum,71.9,3094.0,2973.0,40 +E07000098,Hertsmere,45.4,1693.0,1988.0,66 +E07000099,North Hertfordshire,35.9,1396.0,1154.0,56 +E07000102,Three Rivers,50.2,1762.0,1277.0,62 +E07000103,Watford,32.4,4366.0,0.0,35 +E07000105,Ashford,47.9,2393.0,164.0,41 +E07000106,Canterbury,50.5,1522.0,1617.0,77 +E07000107,Dartford,337.3,10633.0,8144.0,79 +E07000108,Dover,182.7,4086.0,4086.0,96 +E07000109,Gravesham,119.4,7774.0,5582.0,103 +E07000110,Maidstone,146.7,5517.0,5509.0,167 +E07000111,Sevenoaks,257.8,6383.0,6099.0,185 +E07000113,Swale,113.1,5006.0,4961.0,59 +E07000114,Thanet,355.2,1663.0,0.0,77 +E07000115,Tonbridge and Malling,12.6,369.0,13.0,19 +E07000116,Tunbridge Wells,47.5,2361.0,2226.0,103 +E07000117,Burnley,29.9,1168.0,586.0,29 +E07000118,Chorley,76.2,2058.0,1900.0,77 +E07000119,Fylde,58.2,1601.0,1601.0,47 +E07000120,Hyndburn,29.6,1362.0,651.0,38 +E07000121,Lancaster,162.8,4276.0,1798.0,62 +E07000122,Pendle,49.5,1680.0,1456.0,67 E07000123,Preston,44.1,585.0,0.0,48 -E07000124,Ribble Valley,0.98,39.0,0.0,2 -E07000125,Rossendale,20.89,849.0,29.0,49 -E07000126,South Ribble,89.17,1939.0,773.0,44 -E07000127,West Lancashire,51.461,1035.0,0.0,40 -E07000128,Wyre,59.290000000000006,905.0,349.0,43 -E07000129,Blaby,17.46,327.0,543.0,25 -E07000130,Charnwood,132.42,3094.0,3039.0,107 -E07000131,Harborough,14.16,131.0,498.0,31 -E07000132,Hinckley and Bosworth,15.85,505.0,387.0,10 -E07000133,Melton,70.76,1543.0,901.0,49 -E07000134,North West Leicestershire,32.18,933.0,624.0,41 -E07000135,Oadby and Wigston,2.8999,340.0,0.0,22 -E07000136,Boston,36.25,1344.0,737.0,46 -E07000139,North Kesteven,14.459999999999999,264.0,264.0,5 -E07000140,South Holland,27.27,751.0,469.0,41 -E07000141,South Kesteven,22.14,450.0,448.0,13 -E07000142,West Lindsey,65.42999999999999,2386.0,1916.0,71 -E07000143,Breckland,36.019999999999996,1139.0,211.0,25 -E07000144,Broadland,106.706852,1963.0,30.0,32 -E07000145,Great Yarmouth,74.221075,1714.0,1683.0,87 -E07000146,King's Lynn and West Norfolk,89.262,1478.0,1256.0,54 -E07000147,North Norfolk,11.611828000000001,341.0,161.0,30 -E07000148,Norwich,160.67660999999998,7944.0,7775.0,155 -E07000149,South Norfolk,22.280311,383.0,10.0,70 -E07000170,Ashfield,47.2761,918.0,864.0,40 -E07000171,Bassetlaw,345.16,5039.0,0.0,62 -E07000172,Broxtowe,171.70999999999998,2481.0,12.0,24 -E07000173,Gedling,56.28,2357.0,2294.0,73 -E07000174,Mansfield,17.73,668.0,85.0,17 -E07000175,Newark and Sherwood,73.42,2181.0,1914.0,72 -E07000176,Rushcliffe,89.14,2003.0,1095.0,29 -E07000177,Cherwell,69.272,1769.0,0.0,99 -E07000178,Oxford,326.12,5834.0,4615.0,113 -E07000179,South Oxfordshire,256.189261,6106.0,4221.0,90 +E07000124,Ribble Valley,1.0,39.0,0.0,2 +E07000125,Rossendale,20.9,849.0,29.0,49 +E07000126,South Ribble,89.2,1939.0,773.0,44 +E07000127,West Lancashire,51.5,1035.0,0.0,40 +E07000128,Wyre,59.3,905.0,349.0,43 +E07000129,Blaby,17.5,327.0,543.0,25 +E07000130,Charnwood,132.4,3094.0,3039.0,107 +E07000131,Harborough,14.2,131.0,498.0,31 +E07000132,Hinckley and Bosworth,15.8,505.0,387.0,10 +E07000133,Melton,70.8,1543.0,901.0,49 +E07000134,North West Leicestershire,32.2,933.0,624.0,41 +E07000135,Oadby and Wigston,2.9,340.0,0.0,22 +E07000136,Boston,36.2,1344.0,737.0,46 +E07000139,North Kesteven,14.5,264.0,264.0,5 +E07000140,South Holland,27.3,751.0,469.0,41 +E07000141,South Kesteven,22.1,450.0,448.0,13 +E07000142,West Lindsey,65.4,2386.0,1916.0,71 +E07000143,Breckland,36.0,1139.0,211.0,25 +E07000144,Broadland,106.7,1963.0,30.0,32 +E07000145,Great Yarmouth,74.2,1714.0,1683.0,87 +E07000146,King's Lynn and West Norfolk,89.3,1478.0,1256.0,54 +E07000147,North Norfolk,11.6,341.0,161.0,30 +E07000148,Norwich,160.7,7944.0,7775.0,155 +E07000149,South Norfolk,22.3,383.0,10.0,70 +E07000170,Ashfield,47.3,918.0,864.0,40 +E07000171,Bassetlaw,345.2,5039.0,0.0,62 +E07000172,Broxtowe,171.7,2481.0,12.0,24 +E07000173,Gedling,56.3,2357.0,2294.0,73 +E07000174,Mansfield,17.7,668.0,85.0,17 +E07000175,Newark and Sherwood,73.4,2181.0,1914.0,72 +E07000176,Rushcliffe,89.1,2003.0,1095.0,29 +E07000177,Cherwell,69.3,1769.0,0.0,99 +E07000178,Oxford,326.1,5834.0,4615.0,113 +E07000179,South Oxfordshire,256.2,6106.0,4221.0,90 E07000180,Vale of White Horse,81.5,2022.0,1866.0,68 -E07000181,West Oxfordshire,37.62,1223.0,1080.0,34 -E07000192,Cannock Chase,83.92,1784.0,1784.0,86 -E07000193,East Staffordshire,41.74,2025.0,960.0,65 -E07000194,Lichfield,180.54,5445.0,5265.0,62 -E07000195,Newcastle-under-Lyme,83.46,2202.0,0.0,75 -E07000196,South Staffordshire,27.14,685.0,151.0,21 -E07000197,Stafford,0.33,4.0,0.0,1 -E07000198,Staffordshire Moorlands,62.534,1432.0,1022.0,51 -E07000199,Tamworth,170.29883900000002,850.0,504.0,39 -E07000200,Babergh,1.46,45.0,4.0,5 -E07000202,Ipswich,73.98,5130.0,3833.0,128 +E07000181,West Oxfordshire,37.6,1223.0,1080.0,34 +E07000192,Cannock Chase,83.9,1784.0,1784.0,86 +E07000193,East Staffordshire,41.7,2025.0,960.0,65 +E07000194,Lichfield,180.5,5445.0,5265.0,62 +E07000195,Newcastle-under-Lyme,83.5,2202.0,0.0,75 +E07000196,South Staffordshire,27.1,685.0,151.0,21 +E07000197,Stafford,1.0,29.0,25.0,4 +E07000198,Staffordshire Moorlands,62.5,1432.0,1022.0,51 +E07000199,Tamworth,170.3,850.0,504.0,39 +E07000200,Babergh,1.5,45.0,4.0,5 +E07000202,Ipswich,74.0,5130.0,3833.0,128 E07000203,Mid Suffolk,9.8,265.0,0.0,9 -E07000207,Elmbridge,72.0763,2845.0,34.0,149 -E07000208,Epsom and Ewell,15.91,1502.0,1462.0,46 -E07000209,Guildford,66.87,3320.0,3236.0,51 +E07000207,Elmbridge,72.1,2845.0,34.0,149 +E07000208,Epsom and Ewell,15.9,1502.0,1462.0,46 +E07000209,Guildford,66.9,3320.0,3236.0,51 E07000210,Mole Valley,50.9,1411.0,1245.0,77 -E07000211,Reigate and Banstead,73.52,3535.0,2883.0,174 -E07000212,Runnymede,204.741,6671.0,5014.0,143 -E07000213,Spelthorne,23.35,2917.0,0.0,59 -E07000214,Surrey Heath,122.99499999999999,3161.0,3147.0,121 -E07000215,Tandridge,144.2311,1860.0,1860.0,177 -E07000216,Waverley,259.98,4151.0,3817.0,58 -E07000217,Woking,31.83,6925.0,3853.0,82 -E07000218,North Warwickshire,20.6538,783.0,767.0,37 -E07000219,Nuneaton and Bedworth,101.459,1594.0,1847.0,86 +E07000211,Reigate and Banstead,73.5,3535.0,2883.0,174 +E07000212,Runnymede,204.7,6671.0,5014.0,143 +E07000213,Spelthorne,23.4,2917.0,0.0,59 +E07000214,Surrey Heath,123.0,3161.0,3147.0,121 +E07000215,Tandridge,144.2,1860.0,1860.0,177 +E07000216,Waverley,260.0,4151.0,3817.0,58 +E07000217,Woking,31.8,6925.0,3853.0,82 +E07000218,North Warwickshire,20.7,783.0,767.0,37 +E07000219,Nuneaton and Bedworth,101.5,1594.0,1847.0,86 E07000220,Rugby,17.3,672.0,3.0,13 -E07000221,Stratford-on-Avon,600.784,1866.0,0.0,99 -E07000222,Warwick,130.46,2426.0,1068.0,33 -E07000223,Adur,15.512899999999998,1692.0,1577.0,26 -E07000224,Arun,30.0547,1403.0,1102.0,49 +E07000221,Stratford-on-Avon,600.8,1866.0,0.0,99 +E07000222,Warwick,130.5,2426.0,1068.0,33 +E07000223,Adur,15.5,1692.0,1577.0,26 +E07000224,Arun,30.1,1403.0,1102.0,49 E07000225,Chichester,47.6,663.0,1127.0,42 -E07000226,Crawley,19.26,2522.0,1297.0,34 -E07000227,Horsham,32.19,1613.0,1523.0,48 -E07000228,Mid Sussex,51.265,2055.0,2213.0,85 -E07000229,Worthing,30.4783,2523.0,1745.0,47 -E07000234,Bromsgrove,19.971,631.0,273.0,15 -E07000235,Malvern Hills,38.6781,989.0,960.0,38 -E07000236,Redditch,11.85,519.0,0.0,18 -E07000237,Worcester,72.5098,3331.0,3052.0,73 -E07000238,Wychavon,21.108999999999998,940.0,892.0,39 -E07000239,Wyre Forest,116.229,2905.0,3269.0,59 -E07000240,St Albans,30.05,1070.0,1173.0,25 -E07000241,Welwyn Hatfield,77.31,3766.0,5126.0,99 -E07000242,East Hertfordshire,16.869999999999997,1080.0,0.0,16 +E07000226,Crawley,19.3,2522.0,1297.0,34 +E07000227,Horsham,32.2,1613.0,1523.0,48 +E07000228,Mid Sussex,51.3,2055.0,2213.0,85 +E07000229,Worthing,30.5,2523.0,1745.0,47 +E07000234,Bromsgrove,20.0,631.0,273.0,15 +E07000235,Malvern Hills,38.7,989.0,960.0,38 +E07000236,Redditch,11.8,519.0,0.0,18 +E07000237,Worcester,72.5,3331.0,3052.0,73 +E07000238,Wychavon,21.1,940.0,892.0,39 +E07000239,Wyre Forest,116.2,2905.0,3269.0,59 +E07000240,St Albans,30.0,1070.0,1173.0,25 +E07000241,Welwyn Hatfield,77.3,3766.0,5126.0,99 +E07000242,East Hertfordshire,16.9,1080.0,0.0,16 E07000243,Stevenage,20.9,1509.0,1509.0,17 -E07000244,East Suffolk,183.246705,4122.0,3958.0,153 -E07000245,West Suffolk,43.15,2565.0,32.0,49 -E08000001,Bolton,213.55,8567.0,0.0,149 -E08000002,Bury,114.82000000000001,4257.0,4229.0,108 -E08000003,Manchester,493.776156,65595.0,59605.0,719 -E08000004,Oldham,163.73,5799.0,7414.0,218 -E08000005,Rochdale,100.57,4203.0,4203.0,126 -E08000006,Salford,215.07000000000002,25114.0,19475.0,280 -E08000007,Stockport,179.91,3499.0,4349.0,116 -E08000008,Tameside,100.32600000000001,6053.0,5928.0,177 -E08000009,Trafford,15.26,2290.0,136.0,27 -E08000010,Wigan,471.742957,11941.0,9855.0,216 -E08000011,Knowsley,135.51,3626.0,1269.0,96 -E08000012,Liverpool,1.94,0.0,0.0,1 -E08000013,St. Helens,225.625,6433.0,12.0,134 -E08000014,Sefton,100.34,0.0,0.0,62 +E07000244,East Suffolk,183.2,4122.0,3958.0,153 +E07000245,West Suffolk,43.2,2565.0,32.0,49 +E08000001,Bolton,213.6,8567.0,0.0,149 +E08000002,Bury,114.8,4257.0,4229.0,108 +E08000003,Manchester,493.8,65595.0,59605.0,719 +E08000004,Oldham,163.7,5799.0,7414.0,218 +E08000005,Rochdale,100.6,4203.0,4203.0,126 +E08000006,Salford,215.1,25114.0,19475.0,280 +E08000007,Stockport,179.9,3499.0,4349.0,116 +E08000008,Tameside,100.3,6053.0,5928.0,177 +E08000009,Trafford,15.3,2290.0,136.0,27 +E08000010,Wigan,471.7,11941.0,9855.0,216 +E08000011,Knowsley,135.5,3626.0,1269.0,96 +E08000012,Liverpool,1.9,0.0,0.0,1 +E08000013,St. Helens,225.6,6433.0,12.0,134 +E08000014,Sefton,100.3,0.0,0.0,62 E08000015,Wirral,168.0,12001.0,11276.0,190 -E08000016,Barnsley,190.17,6636.0,6267.0,96 -E08000017,Doncaster,800.106994,15646.0,754.0,243 -E08000018,Rotherham,44.86,2245.0,819.0,71 -E08000019,Sheffield,364.06,25826.0,0.0,666 -E08000021,Newcastle upon Tyne,173.83,13352.0,8424.0,182 -E08000022,North Tyneside,105.24,2369.0,2123.0,67 -E08000023,South Tyneside,29.89,816.0,0.0,24 -E08000024,Sunderland,258.576945,8496.0,6934.0,127 -E08000025,Birmingham,625.05,52703.0,54449.0,1086 -E08000026,Coventry,146.2129,7130.0,0.0,124 -E08000027,Dudley,201.13,5898.0,5279.0,142 -E08000028,Sandwell,483.616,19042.0,7945.0,397 -E08000029,Solihull,236.488,6219.0,4086.0,154 -E08000030,Walsall,65.89999999999999,3361.0,3361.0,114 -E08000031,Wolverhampton,322.687558,8248.0,8248.0,814 -E08000032,Bradford,300.13,13388.0,12084.0,364 -E08000033,Calderdale,30.92,1684.0,27.0,84 -E08000034,Kirklees,173.04,6655.0,5713.0,155 -E08000035,Leeds,863.71,36079.0,36079.0,496 -E08000036,Wakefield,255.08,9584.0,6115.0,163 -E08000037,Gateshead,218.33,8812.0,5388.0,131 -E09000001,City of London,0.15482,10.0,10.0,5 -E09000002,Barking and Dagenham,277.79,23483.0,0.0,63 -E09000003,Barnet,543.630855,45445.0,9.0,235 -E09000004,Bexley,38.329,3251.0,2745.0,106 -E09000005,Brent,249.95243,34026.0,30532.0,267 -E09000006,Bromley,59.127,4323.0,689.0,92 -E09000007,Camden,136.792544,13407.0,12557.0,125 -E09000008,Croydon,201.11571,31787.0,21959.0,680 -E09000009,Ealing,149.93,23809.0,3.0,111 -E09000010,Enfield,49.82,2173.0,3.0,28 -E09000011,Greenwich,135.58,22852.0,20619.0,96 -E09000012,Hackney,7.35,3775.0,3279.0,39 -E09000013,Hammersmith and Fulham,87.422,27370.0,5188.0,57 -E09000014,Haringey,214.139,20770.0,14751.0,352 -E09000015,Harrow,104.481008,7634.0,0.0,105 -E09000016,Havering,103.42,0.0,0.0,105 -E09000017,Hillingdon,201.67000000000002,8344.0,0.0,145 -E09000018,Hounslow,14.12,1177.0,1428.0,62 -E09000019,Islington,95.134,10684.0,10684.0,136 -E09000020,Kensington and Chelsea,72.59063,14481.0,13865.0,78 -E09000021,Kingston upon Thames,38.62,4522.0,0.0,80 -E09000022,Lambeth,39.47,5909.0,5612.0,94 -E09000023,Lewisham,109.10000000000001,12170.0,9790.0,188 -E09000024,Merton,101.03566,2657.0,0.0,146 -E09000025,Newham,18.442869,3111.0,1615.0,103 -E09000026,Redbridge,126.25,1851.0,8.0,186 -E09000027,Richmond upon Thames,85.37,3447.0,3179.0,100 -E09000028,Southwark,383.180674,51716.0,8256.0,787 -E09000029,Sutton,49.15,6467.0,2818.0,110 -E09000030,Tower Hamlets,96.98,430.0,0.0,27 -E09000031,Waltham Forest,49.442908,7666.0,5003.0,105 -E09000032,Wandsworth,332.75,40461.0,39220.0,354 -E09000033,Westminster,94.365081,65.0,55.0,324 -S12000006,Dumfries and Galloway,4.85,136.0,136.0,4 -W06000008,Ceredigion,0.26,0.0,0.0,1 -W06000009,Pembrokeshire,0.12,0.0,0.0,1 -W06000023,Powys,2.5953,76.0,56.0,3 +E08000016,Barnsley,190.2,6636.0,6267.0,96 +E08000017,Doncaster,800.1,15646.0,754.0,243 +E08000018,Rotherham,44.9,2245.0,819.0,71 +E08000019,Sheffield,364.1,25826.0,0.0,666 +E08000021,Newcastle upon Tyne,173.8,13352.0,8424.0,182 +E08000022,North Tyneside,105.2,2369.0,2123.0,67 +E08000023,South Tyneside,29.9,816.0,0.0,24 +E08000024,Sunderland,258.6,8496.0,6934.0,127 +E08000025,Birmingham,625.0,52703.0,54449.0,1086 +E08000026,Coventry,146.2,7130.0,0.0,124 +E08000027,Dudley,201.1,5898.0,5279.0,142 +E08000028,Sandwell,483.6,19042.0,7945.0,397 +E08000029,Solihull,236.5,6219.0,4086.0,154 +E08000030,Walsall,65.9,3361.0,3361.0,114 +E08000031,Wolverhampton,322.7,8248.0,8248.0,814 +E08000032,Bradford,300.1,13388.0,12084.0,364 +E08000033,Calderdale,30.9,1684.0,27.0,84 +E08000034,Kirklees,173.0,6655.0,5713.0,155 +E08000035,Leeds,863.7,36079.0,36079.0,496 +E08000036,Wakefield,255.1,9584.0,6115.0,163 +E08000037,Gateshead,218.3,8812.0,5388.0,131 +E09000001,City of London,0.2,10.0,10.0,5 +E09000002,Barking and Dagenham,277.8,23483.0,0.0,63 +E09000003,Barnet,543.6,45445.0,9.0,235 +E09000004,Bexley,38.3,3251.0,2745.0,106 +E09000005,Brent,250.0,34026.0,30532.0,267 +E09000006,Bromley,59.1,4323.0,689.0,92 +E09000007,Camden,136.8,13407.0,12557.0,125 +E09000008,Croydon,201.1,31787.0,21959.0,680 +E09000009,Ealing,149.9,23809.0,3.0,111 +E09000010,Enfield,49.8,2173.0,3.0,28 +E09000011,Greenwich,135.6,22852.0,20619.0,96 +E09000012,Hackney,7.4,3775.0,3279.0,39 +E09000013,Hammersmith and Fulham,87.4,27370.0,5188.0,57 +E09000014,Haringey,214.1,20770.0,14751.0,352 +E09000015,Harrow,104.5,7634.0,0.0,105 +E09000016,Havering,103.4,0.0,0.0,105 +E09000017,Hillingdon,201.7,8344.0,0.0,145 +E09000018,Hounslow,14.1,1177.0,1428.0,62 +E09000019,Islington,95.1,10684.0,10684.0,136 +E09000020,Kensington and Chelsea,72.6,14481.0,13865.0,78 +E09000021,Kingston upon Thames,38.6,4522.0,0.0,80 +E09000022,Lambeth,39.5,5909.0,5612.0,94 +E09000023,Lewisham,109.1,12170.0,9790.0,188 +E09000024,Merton,101.0,2657.0,0.0,146 +E09000025,Newham,18.4,3111.0,1615.0,103 +E09000026,Redbridge,126.2,1851.0,8.0,186 +E09000027,Richmond upon Thames,85.4,3447.0,3179.0,100 +E09000028,Southwark,383.2,51716.0,8256.0,787 +E09000029,Sutton,49.2,6467.0,2818.0,110 +E09000030,Tower Hamlets,97.0,430.0,0.0,27 +E09000031,Waltham Forest,49.4,7666.0,5003.0,105 +E09000032,Wandsworth,332.8,40461.0,39220.0,354 +E09000033,Westminster,94.4,65.0,55.0,324 +S12000006,Dumfries and Galloway,4.8,136.0,136.0,4 +W06000008,Ceredigion,0.3,0.0,0.0,1 +W06000009,Pembrokeshire,0.1,0.0,0.0,1 +W06000023,Powys,2.6,76.0,56.0,3 diff --git a/pipelines/brownfield/extract.ipynb b/pipelines/brownfield/extract.ipynb index 972b5b3..a53abf2 100644 --- a/pipelines/brownfield/extract.ipynb +++ b/pipelines/brownfield/extract.ipynb @@ -2,48 +2,44 @@ "cells": [ { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "PosixPath('/Users/lukestrange/Code/housing')" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "from pathlib import Path\n", - "import urllib.request\n", - "ROOT = Path('../..')\n", - "ROOT.resolve()" + "import os\n", + "os.chdir(\"../..\")\n", + "from pipelines.utils.util import *" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "File brownfield-land.csv downloaded successfully\n" + ] + }, { "data": { "text/plain": [ - "(PosixPath('../../raw/brownfield/brownfield-land.csv'),\n", - " )" + "200" ] }, - "execution_count": 4, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "url = \"https://files.planning.data.gov.uk/dataset/brownfield-land.csv\"\n", - "path = ROOT / \"raw/brownfield/brownfield-land.csv\"\n", - "urllib.request.urlretrieve(url, path)" + "path = \"raw/brownfield\"\n", + "fname = \"brownfield-land.csv\"\n", + "\n", + "download_file(url, path, fname)" ] } ], diff --git a/pipelines/brownfield/transform.ipynb b/pipelines/brownfield/transform.ipynb index 416a868..794f9c0 100644 --- a/pipelines/brownfield/transform.ipynb +++ b/pipelines/brownfield/transform.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 13, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -11,7 +11,7 @@ "PosixPath('/Users/lukestrange/Code/housing')" ] }, - "execution_count": 13, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -48,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -57,7 +57,7 @@ "755" ] }, - "execution_count": 15, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -68,7 +68,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -171,7 +171,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -834,7 +834,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -849,14 +849,14 @@ "\n", "# Group by LAD24CD and LAD24NM and sum the numeric columns\n", "totals = totals.groupby(['LAD24CD', 'LAD24NM']).sum(numeric_only=True).reset_index()\n", - "\n", + "totals = totals.round(1)\n", "# Join frames\n", "totals = totals.join(LAD_counts, on=['LAD24NM', 'LAD24CD'], how='inner')" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [