Edmonton Property Assessment #2 – Exploring Property Assessment Dataset

Getting the Data

Getting the data was quite simple. The Edmonton Open Data portal has a Property Assessment page. I’ve downloaded the dataset into the data folder of this project.

Loading the Data

Let’s fire it up into pandas and check out a few data points!

In [1]:
# Enable plots in the notebook
%matplotlib inline
import matplotlib.pyplot as plt

# Seaborn makes our plots prettier
import seaborn
seaborn.set(style = 'ticks')

# Import jupyter widgets
from ipywidgets import widgets
from IPython.html.widgets import *

import numpy as np
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
/Users/chiwang/anaconda/lib/python2.7/site-packages/IPython/html.py:14: ShimWarning: The `IPython.html` package has been deprecated. You should import from `notebook` instead. `IPython.html.widgets` has moved to `ipywidgets`.
  "`IPython.html.widgets` has moved to `ipywidgets`.", ShimWarning)
In [2]:
# Load data set
edm_data = pd.read_csv('../data/Property_Assessment_Data.csv')
In [3]:
edm_data.dtypes
Out[3]:
Account Number        int64
Suite                object
House Number        float64
Street Name          object
Assessed Value       object
Assessment Class     object
Neighbourhood        object
Garage               object
Latitude            float64
Longitude           float64
dtype: object

Okay, pretty concise data set here. Many of these are self explanatory. I’m not quite sure what Assessment Class is or how Garage is labelled, so let’s take a look at these along with Assessed Value.

Data Exploration

Let’s just see how big the data set is for now.

In [4]:
# Data set size
edm_data.shape
Out[4]:
(387239, 10)
In [54]:
# Number of neighbourhoods
edm_data['Neighbourhood'].nunique()
Out[54]:
394

Assessed Value & Assessment Class

In [5]:
# Check 
edm_data['Assessed Value'].head()
Out[5]:
0     $132000
1     $320500
2     $227000
3     $416000
4    $1184500
Name: Assessed Value, dtype: object

It looks like the Assessed Value field has dollar signs in it, causing it to be an “object” data type. Let’s take these out and convert it to an integer.

In [6]:
# Replace dollar signs and cast to int
edm_data['Assessed Value'] = edm_data['Assessed Value'].str.replace('$', '').astype(int)
In [7]:
# Show histogram
edm_data['Assessed Value'].hist()
Out[7]:
<matplotlib.axes._subplots.AxesSubplot at 0x11693a410>
edmonton_property_assessment_1_1

It looks like there are a few properties that are over… wait what haha… 1.4 BILLION DOLLARS. Let’s see what they are.

In [8]:
# View the most expensive properties
edm_data.sort_values('Assessed Value', ascending = False).head(50)
Out[8]:
Account Number Suite House Number Street Name Assessed Value Assessment Class Neighbourhood Garage Latitude Longitude
2242 3054384 NaN 8882.0 170 STREET NW 1303400500 Non Residential SUMMERLEA N 53.522335 -113.622923
25016 7012578 NaN 11404.0 89 AVENUE NW 718182500 Non Residential UNIVERSITY OF ALBERTA N 53.526374 -113.525764
277091 9992482 NaN 11305.0 83 AVENUE NW 545184000 Non Residential UNIVERSITY OF ALBERTA N 53.520437 -113.523152
248393 10091865 NaN 5015.0 111 STREET NW 468206500 Non Residential EMPIRE PARK N 53.485721 -113.513544
2068 10772738 NaN 1.0 KINGSWAY GARDEN MALL NW 407584000 Non Residential SPRUCE AVENUE N 53.562490 -113.505674
53466 4025383 NaN 11404.0 UNIVERSITY AVENUE NW 345491000 Non Residential UNIVERSITY OF ALBERTA N 53.517757 -113.525918
375619 1066331 NaN 10180.0 101 STREET NW 318138500 Non Residential DOWNTOWN N 53.542610 -113.494641
253408 10001965 NaN 10025.0 JASPER AVENUE NW 314840500 Non Residential DOWNTOWN N 53.540218 -113.491150
350885 3055159 NaN 10520.0 KINGSWAY NW 306177000 Non Residential CENTRAL MCDOUGALL N 53.557198 -113.497634
197754 3121522 NaN 9700.0 JASPER AVENUE NW 302982500 Non Residential DOWNTOWN N 53.542819 -113.486680
15289 9981060 NaN 10155.0 102 STREET NW 289590500 Non Residential DOWNTOWN N 53.541707 -113.494645
16946 3574902 NaN 10088.0 102 AVENUE NW 270782500 Non Residential DOWNTOWN N 53.543809 -113.492264
140081 10288844 NaN 11763.0 106 STREET NW 230036500 Non Residential SPRUCE AVENUE N 53.568765 -113.500799
138641 10095840 NaN 16940.0 87 AVENUE NW 220340500 Non Residential WEST MEADOWLARK PARK N 53.521692 -113.611593
122834 10410121 NaN NaN NaN 217874500 Non Residential DOWNTOWN N 53.547699 -113.491815
88544 9996388 NaN 11135.0 83 AVENUE NW 192621000 Other Residential GARNEAU N 53.518629 -113.519272
3479 3010154 NaN 10104.0 103 AVENUE NW 177314500 Non Residential DOWNTOWN N 53.545045 -113.494634
216002 3010113 NaN 10111.0 104 AVENUE NW 173002000 Non Residential DOWNTOWN N 53.545710 -113.494631
298577 10238929 NaN 6004.0 CURRENTS DRIVE NW 161645000 Non Residential AMBLESIDE N 53.437240 -113.608056
325631 1193390 NaN 10060.0 JASPER AVENUE NW 154488500 Non Residential DOWNTOWN N 53.541567 -113.492908
174817 10802170 NaN 9810.0 103A AVENUE NW 149892000 Non Residential DOWNTOWN N 53.547162 -113.488915
202179 1160217 NaN 1100.0 YOUVILLE DRIVE WEST NW 149286500 Non Residential TAWA N 53.462068 -113.429717
379007 6690994 NaN 1.0 LONDONDERRY MALL NW 148587500 Non Residential KILDARE N 53.602652 -113.446032
81028 10088882 NaN 6950.0 113 STREET NW 140788000 Non Residential UNIVERSITY OF ALBERTA FARM N 53.504689 -113.526009
111545 9944141 NaN 10410.0 111 AVENUE NW 136088500 Other Residential SPRUCE AVENUE N 53.559977 -113.498317
323349 10501619 NaN 10365.0 97 STREET NW 134495000 Non Residential BOYLE STREET N 53.547341 -113.486421
125811 9961687 NaN 10235.0 101 STREET NW 131388500 Non Residential DOWNTOWN N 53.545092 -113.492994
101053 10507383 NaN 10175.0 101 STREET NW 126573000 Non Residential DOWNTOWN N 53.542427 -113.493020
267541 9996778 NaN 11203.0 87 AVENUE NW 121374500 Non Residential UNIVERSITY OF ALBERTA N 53.522167 -113.524366
101778 9980816 NaN 11762.0 106 STREET NW 117339000 Non Residential EDMONTON MUNICIPAL AIRPORT N 53.567921 -113.505252
7677 10084084 NaN 8615.0 51 AVENUE NW 117254000 Non Residential MCINTYRE INDUSTRIAL N 53.486587 -113.455340
309433 3097094 NaN 17480.0 FORT ROAD NW 117125500 Non Residential RURAL NORTH EAST HORSE HILL N 53.636262 -113.374926
237151 3099215 NaN 10405.0 JASPER AVENUE NW 116060000 Non Residential DOWNTOWN N 53.540584 -113.500165
304110 9980213 NaN 2331.0 66 STREET NW 109539500 Non Residential MILL WOODS TOWN CENTRE N 53.456133 -113.429354
231077 10391984 NaN 6020.0 118 STREET NW 105461500 Non Residential UNIVERSITY OF ALBERTA FARM N 53.497571 -113.534910
207867 1033166 NaN 10044.0 108 STREET NW 101514000 Non Residential DOWNTOWN N 53.539917 -113.507121
107655 10126261 NaN 5110.0 WINDERMERE BOULEVARD NW 100489000 Non Residential AMBLESIDE N 53.436060 -113.603608
63434 4156998 NaN 100.0 MAYFIELD COMMON NW 99370000 Non Residential BRITANNIA YOUNGSTOWN N 53.543813 -113.611700
273391 10408630 NaN 8508.0 JASPER AVENUE NW 96745500 Other Residential BOYLE STREET N 53.555347 -113.471826
232887 3069614 NaN 10303.0 JASPER AVENUE NW 96668000 Non Residential DOWNTOWN N 53.540585 -113.498080
355998 4314621 NaN 10711.0 47 AVENUE NW 95691500 Other Residential EMPIRE PARK N 53.483825 -113.509162
263020 10068889 NaN 9499.0 137 AVENUE NW 94138000 Non Residential GLENGARRY N 53.598104 -113.488500
61888 4259552 NaN 10531.0 90 STREET NW 92936000 Other Residential BOYLE STREET N 53.552576 -113.473971
12135 10125192 NaN 4999.0 98 AVENUE NW 89231000 Non Residential EASTGATE BUSINESS PARK N 53.536326 -113.416101
262906 2874006 NaN 1.0 WESTMOUNT SHOPPING CENTRE NW 88729500 Non Residential WOODCROFT N 53.561295 -113.553509
116756 3946100 NaN 15403.0 87 AVENUE NW 88490500 Other Residential LYNNWOOD N 53.518271 -113.588300
382884 9978884 NaN 3803.0 CALGARY TRAIL NW 87047000 Non Residential CALGARY TRAIL SOUTH N 53.473025 -113.493848
367078 9538109 NaN 6312.0 50 STREET NW 85552500 Non Residential ROPER INDUSTRIAL N 53.499083 -113.424414
217340 10445407 NaN 10065.0 JASPER AVENUE NW 83221000 Non Residential DOWNTOWN N 53.540644 -113.492931
336584 10095568 NaN 12620.0 184 STREET NW 80676500 Non Residential KINOKAMAU PLAINS AREA N 53.584376 -113.644249

Ah, I see… that’s what the Assessment Class is for… Let’s see what values are in here.

In [9]:
edm_data['Assessment Class'].unique()
Out[9]:
array(['Other Residential', 'Non Residential', 'Residential', 'Farmland'], dtype=object)

Okay, I’m really only looking for Residential buildings here. Let’s filter it.

In [10]:
# Filter for only residential buildings
edm_data_res = edm_data[edm_data['Assessment Class'] == 'Residential']
In [11]:
# Review shape
print edm_data_res.shape
(363373, 10)
In [28]:
# Define interactive plot with interactive max xlim
def assessed_value_plot(max):
    edm_data_res['Assessed Value'].hist(range = [0, max])

# Define interaction
interact(assessed_value_plot, max = (0, 5e6))
edmonton_property_assessment_1_2

I’m trying out the interact feature in Jupyter right now. It’s quite nice! I’ve done a ton of dashboarding in Tableau before, but it’s nice that I don’t have to leave Jupyter or leave python by my side to perform this type of interaction. Tableau still allows us to filter between one graph and another, but I’m sure there’s SOMETHING out there that actually allows that within Jupyter / python haha.

It looks like the large majority of the houses are under \$5M. In fact, even if we get down to \$1M, it looks like we’re capturing the majority of the units:

In [29]:
edm_data_res['Assessed Value'].hist(range = [0, 1e6])
Out[29]:
<matplotlib.axes._subplots.AxesSubplot at 0x11803f790>
edmonton_property_assessment_1_3

If we go even further, probably 80-85% of units lie under \$500K.

Neighbourhood

Let’s see what neighbourhoods have the highest and largest ranging values.

In [44]:
# Generate statistics per neighborhood
edm_data_neighbour_grouped = edm_data_res.groupby(['Neighbourhood', 'Assessment Class']).agg({
    'Assessed Value': [np.mean, np.std, np.ptp, np.size]
}).reset_index()
In [45]:
# Show most valued neighbourhoods
edm_data_neighbour_grouped.sort_values([('Assessed Value', 'mean')], ascending = False).head(50)
Out[45]:
Neighbourhood Assessment Class Assessed Value
mean std ptp size
82 CRYSTALLINA NERA EAST Residential 4.058000e+06 NaN 0 1
313 THE UPLANDS Residential 2.974396e+06 6.655049e+06 26398000 24
128 GOODRIDGE CORNERS Residential 2.089167e+06 2.563671e+06 9323000 12
255 RIVER VALLEY FORT EDMONTON Residential 1.693773e+06 1.134996e+06 3476500 11
245 RAMPART INDUSTRIAL Residential 1.492417e+06 1.870114e+06 5876500 12
337 WHITEMUD CREEK RAVINE TWIN BROOKS Residential 1.427682e+06 2.958921e+06 9763500 11
277 RURAL SOUTH EAST Residential 1.304583e+06 9.697536e+05 2142500 6
210 MILL CREEK RAVINE NORTH Residential 1.187875e+06 1.068154e+06 2347500 4
241 PYLYPOW INDUSTRIAL Residential 1.155000e+06 3.535534e+03 5000 2
260 RIVER VALLEY KINNAIRD Residential 1.105000e+06 NaN 0 1
196 MAPLE RIDGE INDUSTRIAL Residential 1.095500e+06 4.682331e+05 2080000 21
68 CASHMAN Residential 1.014000e+06 1.424820e+06 2015000 2
330 WESTBROOK ESTATE Residential 1.002055e+06 6.606806e+05 8326000 338
319 UNIVERSITY OF ALBERTA FARM Residential 9.693333e+05 4.446686e+05 1108000 6
269 RIVERVIEW AREA Residential 8.794038e+05 4.827522e+05 3375000 156
341 WINDSOR PARK Residential 8.749425e+05 6.009268e+05 4476500 583
89 DECOTEAU Residential 8.741649e+05 7.496355e+05 7088500 97
22 ASTER Residential 8.440000e+05 2.436633e+06 11514500 22
266 RIVER VALLEY WINDEMERE Residential 8.317500e+05 6.366406e+05 1438500 6
276 RURAL NORTH EAST SOUTH STURGEON Residential 8.286828e+05 1.235030e+06 17640000 268
211 MILL CREEK RAVINE SOUTH Residential 7.870000e+05 NaN 0 1
106 ELLERSLIE INDUSTRIAL Residential 7.733864e+05 2.575312e+06 12124500 22
244 QUESNELL HEIGHTS Residential 7.565254e+05 4.875476e+05 2689000 138
278 RURAL WEST BIG LAKE Residential 7.379286e+05 7.841930e+05 6679000 70
263 RIVER VALLEY TERWILLEGAR Residential 7.375000e+05 5.315922e+05 1210500 12
267 RIVER’S EDGE Residential 7.313929e+05 5.465534e+05 1932500 28
222 OLESKIW Residential 7.310440e+05 4.848609e+05 7412500 1103
130 GRANDVIEW HEIGHTS Residential 7.242480e+05 3.569049e+05 2454500 379
80 CRESTWOOD Residential 7.215839e+05 7.510846e+05 11572000 960
141 HAYS RIDGE AREA Residential 7.067756e+05 1.272933e+06 19057000 234
186 LEWIS FARMS INDUSTRIAL Residential 7.034000e+05 1.328101e+05 659000 30
259 RIVER VALLEY HIGHLANDS Residential 6.986111e+05 1.010358e+05 301000 9
143 HENDERSON ESTATES Residential 6.831062e+05 2.608651e+05 3166000 626
93 DONSDALE Residential 6.788027e+05 4.897218e+05 4462500 603
340 WINDERMERE AREA Residential 6.652500e+05 4.595800e+05 1041500 4
323 WEDGEWOOD HEIGHTS Residential 6.583966e+05 3.797538e+05 3766000 532
60 CAMERON HEIGHTS Residential 6.399888e+05 3.836585e+05 5151500 800
124 GLENORA Residential 6.234152e+05 4.657982e+05 7350000 1521
129 GORMAN Residential 6.161429e+05 4.036319e+05 1536500 21
262 RIVER VALLEY OLESKIW Residential 6.028333e+05 7.985706e+05 2032500 6
232 PARKVIEW Residential 5.995608e+05 5.286428e+05 12912500 1431
275 RURAL NORTH EAST HORSE HILL Residential 5.982067e+05 2.761407e+05 1540500 104
248 RHATIGAN RIDGE Residential 5.952465e+05 1.905838e+05 2522500 1140
221 OGILVIE RIDGE Residential 5.949946e+05 2.295996e+05 1653000 373
182 LAURIER HEIGHTS Residential 5.774449e+05 3.132504e+05 2183000 1052
52 BROOKSIDE Residential 5.701916e+05 3.611229e+05 4694000 642
54 BULYEA HEIGHTS Residential 5.616713e+05 1.563213e+05 1519500 1229
32 BELGRAVIA Residential 5.521951e+05 4.124806e+05 3268000 1112
342 WINTERBURN INDUSTRIAL AREA EAST Residential 5.511667e+05 3.416900e+05 640000 3
332 WESTRIDGE Residential 5.506924e+05 2.814863e+05 2623000 556
In [59]:
# Filter to get a list of neighbourhoods with less than 10 units, these are somewhat outliers
neighbourhoods_with_low_quantity_units = edm_data_neighbour_grouped[edm_data_neighbour_grouped[('Assessed Value', 'size')] <= 20]['Neighbourhood'].tolist()
In [60]:
# Check results
print 'There are {} neighbourhoods with less than 20 units'.format(len(neighbourhoods_with_low_quantity_units))
print ''
print neighbourhoods_with_low_quantity_units
There are 52 neighbourhoods with less than 20 units

['ANTHONY HENDAY CASTLEDOWNS', 'ANTHONY HENDAY CLAREVIEW', 'ANTHONY HENDAY HORSE HILL', 'ANTHONY HENDAY LAKE DISTRICT', 'BLACKMUD CREEK RAVINE', 'BROWN INDUSTRIAL', 'CASHMAN', 'CPR IRVINE', 'CRYSTALLINA NERA EAST', 'DAVIES INDUSTRIAL WEST', 'EDMONTON NORTHLANDS', 'GIRARD INDUSTRIAL', 'GOODRIDGE CORNERS', 'HAGMANN ESTATE INDUSTRIAL', 'HIGH PARK INDUSTRIAL', 'INDUSTRIAL HEIGHTS', 'KENNEDALE INDUSTRIAL', 'MILL CREEK RAVINE NORTH', 'MILL CREEK RAVINE SOUTH', 'MISTATIM INDUSTRIAL', 'MORRIS INDUSTRIAL', 'PLACE LA RUE', 'PYLYPOW INDUSTRIAL', 'RAMPART INDUSTRIAL', 'RIVER VALLEY CAMERON', 'RIVER VALLEY FORT EDMONTON', 'RIVER VALLEY GLENORA', 'RIVER VALLEY GOLD BAR', 'RIVER VALLEY HIGHLANDS', 'RIVER VALLEY KINNAIRD', 'RIVER VALLEY LESSARD NORTH', 'RIVER VALLEY OLESKIW', 'RIVER VALLEY TERWILLEGAR', 'RIVER VALLEY WALTERDALE', 'RIVER VALLEY WHITEMUD', 'RIVER VALLEY WINDEMERE', 'RURAL SOUTH EAST', 'SOUTH EDMONTON COMMON', 'SOUTHEAST (ANNEXED) INDUSTRIAL', 'STONE INDUSTRIAL', 'STRATHCONA INDUSTRIAL PARK', 'STRATHCONA JUNCTION', 'SUNWAPTA INDUSTRIAL', 'UNIVERSITY OF ALBERTA FARM', 'WEST SHEFFIELD INDUSTRIAL', 'WHITE INDUSTRIAL', 'WHITEMUD CREEK RAVINE SOUTH', 'WHITEMUD CREEK RAVINE TWIN BROOKS', 'WINDERMERE AREA', 'WINTERBURN INDUSTRIAL AREA EAST', 'YELLOWHEAD CORRIDOR EAST', 'YOUNGSTOWN INDUSTRIAL']
In [95]:
# Show most valued neighbourhoods with greater than 20 units
most_valuable_50_neighbourhoods = edm_data_neighbour_grouped[edm_data_neighbour_grouped[('Assessed Value', 'size')] > 20].sort_values([('Assessed Value', 'mean')], ascending = False).head(50)
In [96]:
# Check result
most_valuable_50_neighbourhoods
Out[96]:
Neighbourhood Assessment Class Assessed Value
mean std ptp size
313 THE UPLANDS Residential 2.974396e+06 6.655049e+06 26398000 24
196 MAPLE RIDGE INDUSTRIAL Residential 1.095500e+06 4.682331e+05 2080000 21
330 WESTBROOK ESTATE Residential 1.002055e+06 6.606806e+05 8326000 338
269 RIVERVIEW AREA Residential 8.794038e+05 4.827522e+05 3375000 156
341 WINDSOR PARK Residential 8.749425e+05 6.009268e+05 4476500 583
89 DECOTEAU Residential 8.741649e+05 7.496355e+05 7088500 97
22 ASTER Residential 8.440000e+05 2.436633e+06 11514500 22
276 RURAL NORTH EAST SOUTH STURGEON Residential 8.286828e+05 1.235030e+06 17640000 268
106 ELLERSLIE INDUSTRIAL Residential 7.733864e+05 2.575312e+06 12124500 22
244 QUESNELL HEIGHTS Residential 7.565254e+05 4.875476e+05 2689000 138
278 RURAL WEST BIG LAKE Residential 7.379286e+05 7.841930e+05 6679000 70
267 RIVER’S EDGE Residential 7.313929e+05 5.465534e+05 1932500 28
222 OLESKIW Residential 7.310440e+05 4.848609e+05 7412500 1103
130 GRANDVIEW HEIGHTS Residential 7.242480e+05 3.569049e+05 2454500 379
80 CRESTWOOD Residential 7.215839e+05 7.510846e+05 11572000 960
141 HAYS RIDGE AREA Residential 7.067756e+05 1.272933e+06 19057000 234
186 LEWIS FARMS INDUSTRIAL Residential 7.034000e+05 1.328101e+05 659000 30
143 HENDERSON ESTATES Residential 6.831062e+05 2.608651e+05 3166000 626
93 DONSDALE Residential 6.788027e+05 4.897218e+05 4462500 603
323 WEDGEWOOD HEIGHTS Residential 6.583966e+05 3.797538e+05 3766000 532
60 CAMERON HEIGHTS Residential 6.399888e+05 3.836585e+05 5151500 800
124 GLENORA Residential 6.234152e+05 4.657982e+05 7350000 1521
129 GORMAN Residential 6.161429e+05 4.036319e+05 1536500 21
232 PARKVIEW Residential 5.995608e+05 5.286428e+05 12912500 1431
275 RURAL NORTH EAST HORSE HILL Residential 5.982067e+05 2.761407e+05 1540500 104
248 RHATIGAN RIDGE Residential 5.952465e+05 1.905838e+05 2522500 1140
221 OGILVIE RIDGE Residential 5.949946e+05 2.295996e+05 1653000 373
182 LAURIER HEIGHTS Residential 5.774449e+05 3.132504e+05 2183000 1052
52 BROOKSIDE Residential 5.701916e+05 3.611229e+05 4694000 642
54 BULYEA HEIGHTS Residential 5.616713e+05 1.563213e+05 1519500 1229
32 BELGRAVIA Residential 5.521951e+05 4.124806e+05 3268000 1112
332 WESTRIDGE Residential 5.506924e+05 2.814863e+05 2623000 556
252 RIO TERRACE Residential 5.421713e+05 3.059809e+05 3277500 505
192 MAGRATH HEIGHTS Residential 5.394867e+05 3.860856e+05 4502000 1578
72 CHAMBERY Residential 5.351163e+05 1.533262e+05 1572500 787
178 LANSDOWNE Residential 5.296115e+05 2.186094e+05 1184000 390
102 EDMONTON ENERGY AND TECHNOLOGY PARK Residential 5.233866e+05 3.376426e+05 1925000 97
173 KINOKAMAU PLAINS AREA Residential 5.219180e+05 1.810053e+05 859000 61
202 MCKERNAN Residential 5.185591e+05 1.849514e+05 1361000 947
167 KESWICK AREA Residential 5.123614e+05 1.094968e+06 18188000 642
238 POTTER GREENS Residential 5.077253e+05 3.156268e+05 7769500 577
318 TWIN BROOKS Residential 5.061478e+05 1.966789e+05 2879500 2290
67 CARTER CREST Residential 4.999590e+05 1.553054e+05 969000 634
45 BLUE QUILL ESTATES Residential 4.847956e+05 2.249188e+05 1331000 367
322 WEBBER GREENS Residential 4.523567e+05 2.164426e+05 5014500 743
184 LEGER Residential 4.508813e+05 1.615915e+05 820500 927
57 CALLAGHAN Residential 4.492133e+05 2.344162e+05 1544000 1097
114 FALCONER HEIGHTS Residential 4.490263e+05 2.085436e+05 1156500 685
300 STRATHEARN Residential 4.432999e+05 2.127424e+05 1702500 677
199 MAYLIEWAN Residential 4.414277e+05 9.807094e+04 1587000 1272
In [123]:
# Take a copy of the top 50 neighbourhoods so we can graph
most_valuable_50_neighbourhoods_bar = most_valuable_50_neighbourhoods.copy(deep = True)
most_valuable_50_neighbourhoods_bar.columns = most_valuable_50_neighbourhoods_bar.columns.droplevel(-1)
most_valuable_50_neighbourhoods_bar.columns = ['Neighbourhood', 'Assessment Class', 'Value Mean', 'Value STD', 'Value Range', 'Units']

# Plot
most_valuable_50_neighbourhoods_bar.plot.barh(x = 'Neighbourhood', y = 'Value Mean', figsize = (6, 9)).invert_yaxis()
edmonton_property_assessment_1_4

The fact that I have to go down to Grandview Heights and Crestwood to even have heard of some of these communities means either I’m not rich enough or clearly I have not been around the city enough haha. None of the places I’ve ever lived is on here, to nobody’s surprise haha. Would be nice to look at these places on a map eventually.

Garage

Just want to take a look at the quick distributions of garage real quick.

In [124]:
edm_data_res['Garage'].value_counts().plot.bar()
Out[124]:
<matplotlib.axes._subplots.AxesSubplot at 0x125feb110>
edmonton_property_assessment_1_5

Ok, this doesn’t really tell me anything, but that’s fine. There are houses and apartments in here, so I haven’t done enough research yet to understand the distributions there and how it correlates to having garages or not. Either way, we likely will not be needing the garage information anyways.

Conclusion

Ok, I think that’s about as far as I can get without actually looking at a map at this point. I’m probably most curious about just where the most valuable neighbourhoods are, so I might try to map that in the next post.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s