In [40]:
from functools import partial
import pandas as pd
from lib import pipe, rename, set_index, add_suffix, merge_dfs
In [41]:
columns = ("Auckland",
"Franklin District",
"Manukau",
"North Shore",
"Papakura District",
"Rodney District",
"Waitakere",
"National",
"Date.Lodged",)
index_column = "Date.Lodged"
column_names = {"Auckland": "Auckland City District",
"Manukau": "Manukau City District",
"North Shore": "North Shore City District",
"Waitakere": "Waitakere City District",
"National": "Nationwide",
"Date.Lodged": "Date Lodged"}
years = 15 # last 15 years
In [42]:
# mean values
mean = pipe(
partial(pd.read_csv, usecols=columns),
partial(rename, columns=column_names),
partial(set_index, column="Date Lodged", to_datetime=True)
)("data/mean-rents-by-ta.csv").tail(12 * years)
In [43]:
mean.head()
Out[43]:
In [44]:
mean.tail()
Out[44]:
In [45]:
%matplotlib inline
import seaborn as sns
sns.palplot(sns.color_palette("Set2", 10))
In [46]:
# Market Rent: Most Expensive compared to Least Expensive Districts (Mean)
p = mean[[
"Auckland City District",
"North Shore City District",
"Franklin District",
"Papakura District"
]].plot(
figsize=(14, 10),
kind="area",
stacked=False,
title="Auckland Market Rent (Mean): Most Expensive compared to Least Expensive Districts"
)
p.set_xlabel("Year")
p.set_ylabel("NZD")
Out[46]:
In [47]:
# Market Rent: Auckland City District compared to Nationwide (Mean)
p = mean[[
"Auckland City District",
"Nationwide"
]].plot(
figsize=(14, 10),
kind="area",
stacked=False,
title="Market Rent (Mean): Auckland City District compared to Nationwide"
)
p.set_xlabel("Year")
p.set_ylabel("NZD")
Out[47]:
In [48]:
# lower-quartile values
lq = pipe(
partial(pd.read_csv, usecols=columns),
partial(rename, columns=add_suffix(column_names, "(LQ)")),
partial(set_index, column="Date Lodged (LQ)", to_datetime=True)
)("data/synthetic-lower-quartile-rents-by-ta.csv").tail(12 * years)
# upper-quartile values
uq = pipe(
partial(pd.read_csv, usecols=columns),
partial(rename, columns=add_suffix(column_names, "(UQ)")),
partial(set_index, column="Date Lodged (UQ)", to_datetime=True)
)("data/synthetic-upper-quartile-rents-by-ta.csv").tail(12 * years)
# merge data frames together
merged = merge_dfs(mean, lq, uq)
In [49]:
# auckland city district (mean/lower-quartile/upper-quartile)
acd = rename(merged[["Auckland City District",
"Auckland City District (LQ)",
"Auckland City District (UQ)"]],
columns={"Auckland City District": "Mean",
"Auckland City District (LQ)": "Lower-Quartile",
"Auckland City District (UQ)": "Upper-Quartile"})
In [50]:
acd.head()
Out[50]:
In [51]:
acd.tail()
Out[51]:
In [ ]: