diff --git a/notebooks/2.1_sandbox-match_households.ipynb b/notebooks/2.1_sandbox-match_households.ipynb
new file mode 100644
index 0000000..7333a8f
--- /dev/null
+++ b/notebooks/2.1_sandbox-match_households.ipynb
@@ -0,0 +1,3965 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Adding activity chains to synthetic populations \n",
+ "\n",
+ "The purpose of this script is to test different approaches to matching households in the synthetic population to a household from the [National Travel Survey (NTS)](https://beta.ukdataservice.ac.uk/datacatalogue/studies/study?id=5340). \n",
+ "\n",
+ "### Methods\n",
+ "\n",
+ "1. categorical matching: joining on relevant socio-demographic variables\n",
+ "2. statistical matching, as described in [An unconstrained statistical matching algorithm for combining individual and household level geo-specific census and survey data](https://doi.org/10.1016/j.compenvurbsys.2016.11.003). "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "\n",
+ "from acbm.preprocessing import (\n",
+ " count_per_group,\n",
+ " match_coverage_col,\n",
+ " nts_filter_by_region,\n",
+ " nts_filter_by_year,\n",
+ " num_adult_child_hh,\n",
+ " transform_by_group,\n",
+ " truncate_values,\n",
+ ")\n",
+ "\n",
+ "pd.set_option('display.max_columns', None)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Step 1: Load in the datasets "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### SPC "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# useful variables\n",
+ "region = \"west-yorkshire\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " id | \n",
+ " household | \n",
+ " workplace | \n",
+ " location | \n",
+ " events | \n",
+ " weekday_diaries | \n",
+ " weekend_diaries | \n",
+ " orig_pid | \n",
+ " id_tus_hh | \n",
+ " id_tus_p | \n",
+ " pid_hs | \n",
+ " msoa | \n",
+ " oa | \n",
+ " members | \n",
+ " bmi | \n",
+ " has_cardiovascular_disease | \n",
+ " has_diabetes | \n",
+ " has_high_blood_pressure | \n",
+ " number_medications | \n",
+ " self_assessed_health | \n",
+ " life_satisfaction | \n",
+ " sic1d2007 | \n",
+ " sic2d2007 | \n",
+ " soc2010 | \n",
+ " pwkstat | \n",
+ " salary_yearly | \n",
+ " salary_hourly | \n",
+ " hid | \n",
+ " accommodation_type | \n",
+ " communal_type | \n",
+ " num_rooms | \n",
+ " central_heat | \n",
+ " tenure | \n",
+ " num_cars | \n",
+ " sex | \n",
+ " age_years | \n",
+ " ethnicity | \n",
+ " nssec8 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " NaN | \n",
+ " {'x': -1.7892179489135742, 'y': 53.91915130615... | \n",
+ " {'concert_f': 1.2791347489984115e-31, 'concert... | \n",
+ " [1583, 13161] | \n",
+ " [1582, 13160] | \n",
+ " E02002183_0001_001 | \n",
+ " 11291218 | \n",
+ " 1 | \n",
+ " 2905399 | \n",
+ " E02002183 | \n",
+ " E00053954 | \n",
+ " [0] | \n",
+ " 24.879356 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ " NaN | \n",
+ " 3.0 | \n",
+ " 2.0 | \n",
+ " J | \n",
+ " 58.0 | \n",
+ " 1115.0 | \n",
+ " 6 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " E02002183_0001 | \n",
+ " 1.0 | \n",
+ " NaN | \n",
+ " 2.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 86 | \n",
+ " 1 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " NaN | \n",
+ " {'x': -1.8262380361557007, 'y': 53.92028045654... | \n",
+ " {'concert_f': 9.743248151956307e-21, 'concert_... | \n",
+ " [2900, 4948, 4972, 7424, 10284, 10586, 12199, ... | \n",
+ " [2901, 4949, 4973, 7425, 10285, 10585, 12198, ... | \n",
+ " E02002183_0002_001 | \n",
+ " 17291219 | \n",
+ " 1 | \n",
+ " 2905308 | \n",
+ " E02002183 | \n",
+ " E00053953 | \n",
+ " [1, 2] | \n",
+ " 27.491207 | \n",
+ " False | \n",
+ " False | \n",
+ " True | \n",
+ " NaN | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " C | \n",
+ " 25.0 | \n",
+ " 1121.0 | \n",
+ " 6 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " E02002183_0002 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 74 | \n",
+ " 3 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " NaN | \n",
+ " {'x': -1.8262380361557007, 'y': 53.92028045654... | \n",
+ " {'concert_f': 8.46716103992468e-16, 'concert_f... | \n",
+ " [3010, 6389, 9448, 10184, 11598] | \n",
+ " [3011, 6388, 9447, 10183, 11599] | \n",
+ " E02002183_0002_002 | \n",
+ " 17070713 | \n",
+ " 2 | \n",
+ " 2907681 | \n",
+ " E02002183 | \n",
+ " E00053953 | \n",
+ " [1, 2] | \n",
+ " 17.310829 | \n",
+ " False | \n",
+ " True | \n",
+ " True | \n",
+ " NaN | \n",
+ " 2.0 | \n",
+ " 4.0 | \n",
+ " P | \n",
+ " 85.0 | \n",
+ " 2311.0 | \n",
+ " 6 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " E02002183_0002 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 68 | \n",
+ " 1 | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 56126.0 | \n",
+ " {'x': -1.8749940395355225, 'y': 53.94298934936... | \n",
+ " {'concert_f': 1.8844366073608398, 'concert_fs'... | \n",
+ " [366, 867, 2096, 3678, 5212, 5450, 8145, 9254,... | \n",
+ " [365, 868, 2097, 3677, 5213, 5451, 8146, 9253,... | \n",
+ " E02002183_0003_001 | \n",
+ " 20310313 | \n",
+ " 1 | \n",
+ " 2902817 | \n",
+ " E02002183 | \n",
+ " E00053689 | \n",
+ " [3, 4] | \n",
+ " 20.852091 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ " NaN | \n",
+ " 2.0 | \n",
+ " 1.0 | \n",
+ " C | \n",
+ " 31.0 | \n",
+ " 3422.0 | \n",
+ " 1 | \n",
+ " 32857.859375 | \n",
+ " 14.360952 | \n",
+ " E02002183_0003 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 27 | \n",
+ " 1 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " NaN | \n",
+ " {'x': -1.8749940395355225, 'y': 53.94298934936... | \n",
+ " {'concert_f': 4.877435207366943, 'concert_fs':... | \n",
+ " [1289, 12528, 12870] | \n",
+ " [1288, 12529, 12871] | \n",
+ " E02002183_0003_002 | \n",
+ " 13010909 | \n",
+ " 3 | \n",
+ " 2900884 | \n",
+ " E02002183 | \n",
+ " E00053689 | \n",
+ " [3, 4] | \n",
+ " 20.032526 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ " 1.0 | \n",
+ " 2.0 | \n",
+ " 3.0 | \n",
+ " J | \n",
+ " 62.0 | \n",
+ " 7214.0 | \n",
+ " 1 | \n",
+ " 18162.451172 | \n",
+ " 9.439944 | \n",
+ " E02002183_0003 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 26 | \n",
+ " 1 | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id household workplace \\\n",
+ "0 0 0 NaN \n",
+ "1 1 1 NaN \n",
+ "2 2 1 NaN \n",
+ "3 3 2 56126.0 \n",
+ "4 4 2 NaN \n",
+ "\n",
+ " location \\\n",
+ "0 {'x': -1.7892179489135742, 'y': 53.91915130615... \n",
+ "1 {'x': -1.8262380361557007, 'y': 53.92028045654... \n",
+ "2 {'x': -1.8262380361557007, 'y': 53.92028045654... \n",
+ "3 {'x': -1.8749940395355225, 'y': 53.94298934936... \n",
+ "4 {'x': -1.8749940395355225, 'y': 53.94298934936... \n",
+ "\n",
+ " events \\\n",
+ "0 {'concert_f': 1.2791347489984115e-31, 'concert... \n",
+ "1 {'concert_f': 9.743248151956307e-21, 'concert_... \n",
+ "2 {'concert_f': 8.46716103992468e-16, 'concert_f... \n",
+ "3 {'concert_f': 1.8844366073608398, 'concert_fs'... \n",
+ "4 {'concert_f': 4.877435207366943, 'concert_fs':... \n",
+ "\n",
+ " weekday_diaries \\\n",
+ "0 [1583, 13161] \n",
+ "1 [2900, 4948, 4972, 7424, 10284, 10586, 12199, ... \n",
+ "2 [3010, 6389, 9448, 10184, 11598] \n",
+ "3 [366, 867, 2096, 3678, 5212, 5450, 8145, 9254,... \n",
+ "4 [1289, 12528, 12870] \n",
+ "\n",
+ " weekend_diaries orig_pid \\\n",
+ "0 [1582, 13160] E02002183_0001_001 \n",
+ "1 [2901, 4949, 4973, 7425, 10285, 10585, 12198, ... E02002183_0002_001 \n",
+ "2 [3011, 6388, 9447, 10183, 11599] E02002183_0002_002 \n",
+ "3 [365, 868, 2097, 3677, 5213, 5451, 8146, 9253,... E02002183_0003_001 \n",
+ "4 [1288, 12529, 12871] E02002183_0003_002 \n",
+ "\n",
+ " id_tus_hh id_tus_p pid_hs msoa oa members bmi \\\n",
+ "0 11291218 1 2905399 E02002183 E00053954 [0] 24.879356 \n",
+ "1 17291219 1 2905308 E02002183 E00053953 [1, 2] 27.491207 \n",
+ "2 17070713 2 2907681 E02002183 E00053953 [1, 2] 17.310829 \n",
+ "3 20310313 1 2902817 E02002183 E00053689 [3, 4] 20.852091 \n",
+ "4 13010909 3 2900884 E02002183 E00053689 [3, 4] 20.032526 \n",
+ "\n",
+ " has_cardiovascular_disease has_diabetes has_high_blood_pressure \\\n",
+ "0 False False False \n",
+ "1 False False True \n",
+ "2 False True True \n",
+ "3 False False False \n",
+ "4 False False False \n",
+ "\n",
+ " number_medications self_assessed_health life_satisfaction sic1d2007 \\\n",
+ "0 NaN 3.0 2.0 J \n",
+ "1 NaN 3.0 NaN C \n",
+ "2 NaN 2.0 4.0 P \n",
+ "3 NaN 2.0 1.0 C \n",
+ "4 1.0 2.0 3.0 J \n",
+ "\n",
+ " sic2d2007 soc2010 pwkstat salary_yearly salary_hourly hid \\\n",
+ "0 58.0 1115.0 6 NaN NaN E02002183_0001 \n",
+ "1 25.0 1121.0 6 NaN NaN E02002183_0002 \n",
+ "2 85.0 2311.0 6 NaN NaN E02002183_0002 \n",
+ "3 31.0 3422.0 1 32857.859375 14.360952 E02002183_0003 \n",
+ "4 62.0 7214.0 1 18162.451172 9.439944 E02002183_0003 \n",
+ "\n",
+ " accommodation_type communal_type num_rooms central_heat tenure \\\n",
+ "0 1.0 NaN 2.0 True 2.0 \n",
+ "1 3.0 NaN 6.0 True 2.0 \n",
+ "2 3.0 NaN 6.0 True 2.0 \n",
+ "3 3.0 NaN 6.0 True 2.0 \n",
+ "4 3.0 NaN 6.0 True 2.0 \n",
+ "\n",
+ " num_cars sex age_years ethnicity nssec8 \n",
+ "0 2 1 86 1 1.0 \n",
+ "1 2 1 74 3 1.0 \n",
+ "2 2 2 68 1 2.0 \n",
+ "3 1 1 27 1 4.0 \n",
+ "4 1 2 26 1 6.0 "
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Read in the spc data (parquet format)\n",
+ "spc = pd.read_parquet('../data/external/spc_output/' + region + '_people_hh.parquet')\n",
+ "spc.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# select columns\n",
+ "spc = spc[['id', 'household', 'location', 'pid_hs',\n",
+ " 'msoa', 'oa', 'members', 'sic1d2007', 'sic2d2007',\n",
+ " 'pwkstat', 'salary_yearly', 'salary_hourly', 'hid',\n",
+ " 'accommodation_type', 'communal_type', 'num_rooms', 'central_heat',\n",
+ " 'tenure', 'num_cars', 'sex', 'age_years', 'ethnicity', 'nssec8']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# temporary reduction of the dataset for quick analysis\n",
+ "spc = spc.head(50000)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### NTS\n",
+ "\n",
+ "The NTS is split up into multiple tables. We will load in the following tables:\n",
+ "- individuals\n",
+ "- households\n",
+ "- trips"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "path_psu = \"../data/external/nts/UKDA-5340-tab/tab/psu_eul_2002-2022.tab\"\n",
+ "psu = pd.read_csv(path_psu, sep=\"\\t\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Individuals"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "path_individuals = \"../data/external/nts/UKDA-5340-tab/tab/individual_eul_2002-2022.tab\"\n",
+ "nts_individuals = pd.read_csv(path_individuals,\n",
+ " sep=\"\\t\",\n",
+ " usecols = ['IndividualID',\n",
+ " 'HouseholdID',\n",
+ " 'PSUID',\n",
+ " 'Age_B01ID',\n",
+ " 'Age_B04ID',\n",
+ " 'Sex_B01ID',\n",
+ " 'OfPenAge_B01ID',\n",
+ " 'HRPRelation_B01ID',\n",
+ " 'EdAttn1_B01ID',\n",
+ " 'EdAttn2_B01ID',\n",
+ " 'EdAttn3_B01ID',\n",
+ " 'OwnCycle_B01ID', # Owns a cycle\n",
+ " 'DrivLic_B02ID', # type of driving license\n",
+ " 'CarAccess_B01ID',\n",
+ " 'IndIncome2002_B02ID',\n",
+ " 'IndWkGOR_B02ID', # Region of usual place of work\n",
+ " 'EcoStat_B02ID', # Working status of individual\n",
+ " 'EcoStat_B03ID',\n",
+ " 'NSSec_B03ID', # NSSEC high level breakdown\n",
+ " 'SC_B01ID', # Social class of individual\n",
+ " 'Stat_B01ID', # employee or self-employed\n",
+ " 'WkMode_B01ID', # Usual means of travel to work\n",
+ " 'WkHome_B01ID', # Work from home\n",
+ " 'PossHom_B01ID', # Is it possible to work from home?\n",
+ " 'OftHome_B01ID', # How often work from home\n",
+ " 'TravSh_B01ID', # Usual mode from main food shopping trip\n",
+ " 'SchDly_B01ID', # Daily school journey?\n",
+ " 'SchTrav_B01ID', # Usual mode of travel to school\n",
+ " 'SchAcc_B01ID', # IS school trip accompanied by an adult?\n",
+ " 'FdShp_B01ID', # How do you usually carry ot main food shop (go to shop, online etc)\n",
+ " ]\n",
+ ")\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Households"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "path_households = \"../data/external/nts/UKDA-5340-tab/tab/household_eul_2002-2022.tab\"\n",
+ "nts_households = pd.read_csv(path_households,\n",
+ " sep=\"\\t\",\n",
+ " usecols = ['HouseholdID',\n",
+ " 'PSUID',\n",
+ " 'HHIncome2002_B02ID',\n",
+ " 'AddressType_B01ID', # type of house\n",
+ " 'Ten1_B02ID', # type of tenure\n",
+ " 'HHoldNumAdults', # total no. of adults in household\n",
+ " 'HHoldNumChildren', # total no. of children in household\n",
+ " 'HHoldNumPeople', # total no. of people in household\n",
+ " 'NumLicHolders', # total no. of driving license holders in household\n",
+ " 'HHoldEmploy_B01ID', # number of employed in household\n",
+ " 'NumBike', # no. of bikes\n",
+ " 'NumCar', # no. of cars\n",
+ " 'NumVanLorry', # no. of vans or lorries\n",
+ " 'NumMCycle', # no. of motorcycles\n",
+ " 'WalkBus_B01ID', # walk time from house to nearest bus stop\n",
+ " 'Getbus_B01ID', # frequency of bus service\n",
+ " 'WalkRail_B01ID', # walk time from house to nearest rail station\n",
+ " 'JTimeHosp_B01ID', # journey time to nearest hospital\n",
+ " 'DVShop_B01ID', # person no. for main food shooper in hh\n",
+ " 'Settlement2011EW_B03ID', # ONS Urban/Rural: 2 categories\n",
+ " 'Settlement2011EW_B04ID', # ONS Urban/Rural: 3 categories\n",
+ " 'HHoldOAClass2011_B03ID', # Census 2011 OA Classification\n",
+ " 'HRPWorkStat_B02ID', # HH ref person working status\n",
+ " 'HRPSEGWorkStat_B01ID', # HH ref person socio economic group for active workers\n",
+ " 'W0', # Unweighted interview sample\n",
+ " 'W1', # Unweighted diary sample\n",
+ " 'W2', # Weighted diary sample\n",
+ " 'W3', # Weighted interview sample\n",
+ " ]\n",
+ " )"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Trips"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "path_trips = \"../data/external/nts/UKDA-5340-tab/tab/trip_eul_2002-2022.tab\"\n",
+ "nts_trips = pd.read_csv(path_trips,\n",
+ " sep=\"\\t\",\n",
+ " usecols = ['TripID',\n",
+ " 'DayID',\n",
+ " 'IndividualID',\n",
+ " 'HouseholdID',\n",
+ " 'PSUID',\n",
+ " 'PersNo',\n",
+ " 'TravDay',\n",
+ " 'JourSeq',\n",
+ " 'ShortWalkTrip_B01ID',\n",
+ " 'NumStages',\n",
+ " 'MainMode_B03ID',\n",
+ " 'MainMode_B04ID',\n",
+ " 'TripPurpFrom_B01ID',\n",
+ " 'TripPurpTo_B01ID',\n",
+ " 'TripPurpose_B04ID',\n",
+ " 'TripStart',\n",
+ " 'TripEnd',\n",
+ " 'TripTotalTime',\n",
+ " 'TripTravTime',\n",
+ " 'TripDisIncSW',\n",
+ " 'TripDisExSW',\n",
+ " 'TripOrigGOR_B02ID',\n",
+ " 'TripDestGOR_B02ID',\n",
+ " 'W5',\n",
+ " 'W5xHH'\n",
+ " ]\n",
+ " )\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Filter by year\n",
+ "\n",
+ "We will filter the NTS data to only include data from specific years. We can choose only 1 year, or multiple years to increase our sample size and the likelihood of a match with the spc"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "years = [2019, 2021, 2022]\n",
+ "\n",
+ "nts_individuals = nts_filter_by_year(nts_individuals, psu, years)\n",
+ "nts_households = nts_filter_by_year(nts_households, psu, years)\n",
+ "nts_trips = nts_filter_by_year(nts_trips, psu, years)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Filter by geography \n",
+ "\n",
+ "I will not do this for categorical matching, as it reduces the sample significantly, and leads to more spc households not being matched"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# regions = ['Yorkshire and the Humber', 'North West']\n",
+ "\n",
+ "# nts_individuals = nts_filter_by_region(nts_individuals, psu, regions)\n",
+ "# nts_households = nts_filter_by_region(nts_households, psu, regions)\n",
+ "# nts_trips = nts_filter_by_region(nts_trips, psu, regions)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create dictionaries of key value pairs"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "'''\n",
+ "guide to the dictionaries:\n",
+ "\n",
+ "_nts_hh: from NTS households table\n",
+ "_nts_ind: from NTS individuals table\n",
+ "_spc: from SPC\n",
+ "\n",
+ "'''\n",
+ "\n",
+ "\n",
+ "# ---------- NTS\n",
+ "\n",
+ "# Create a dictionary for the HHIncome2002_B02ID column\n",
+ "income_dict_nts_hh = {\n",
+ " '1': '0-25k',\n",
+ " '2': '25k-50k',\n",
+ " '3': '50k+',\n",
+ " '-8': 'NA',\n",
+ " # should be -10, but\n",
+ " # it could be a typo in household_eul_2002-2022_ukda_data_dictionary\n",
+ " '-1': 'DEAD'\n",
+ "}\n",
+ "\n",
+ "# Create a dictionary for the HHoldEmploy_B01ID column\n",
+ "# (PT: Part time, FT: Full time)\n",
+ "employment_dict_nts_hh = {\n",
+ " '1': 'None',\n",
+ " '2': '0 FT, 1 PT',\n",
+ " '3': '1 FT, 0 PT',\n",
+ " '4': '0 FT, 2 PT',\n",
+ " '5': '1 FT, 1 PT',\n",
+ " '6': '2 FT, 0 PT',\n",
+ " '7': '1 FT, 2+ PT',\n",
+ " '8': '2 FT, 1+ PT',\n",
+ " '9': '0 FT, 3+ PT',\n",
+ " '10': '3+ FT, 0 PT',\n",
+ " '11': '3+ FT, 1+ PT',\n",
+ " '-8': 'NA',\n",
+ " '-10': 'DEAD'\n",
+ "}\n",
+ "\n",
+ "# Create a dictionary for the Ten1_B02ID column\n",
+ "tenure_dict_nts_hh = {\n",
+ " '1': 'Owns / buying',\n",
+ " '2': 'Rents',\n",
+ " '3': 'Other (including rent free)',\n",
+ " '-8': 'NA',\n",
+ " '-9': 'DNA',\n",
+ " '-10': 'DEAD'\n",
+ "}\n",
+ "\n",
+ "\n",
+ "# ---------- SPC\n",
+ "\n",
+ "\n",
+ "# create a dictionary for the pwkstat column\n",
+ "employment_dict_spc = {\n",
+ " '0': 'Not applicable (age < 16)',\n",
+ " '1': 'Employee FT',\n",
+ " '2': 'Employee PT',\n",
+ " '3': 'Employee unspecified',\n",
+ " '4': 'Self-employed',\n",
+ " '5': 'Unemployed',\n",
+ " '6': 'Retired',\n",
+ " '7': 'Homemaker/Maternal leave',\n",
+ " '8': 'Student',\n",
+ " '9': 'Long term sickness/disability',\n",
+ " '10': 'Other'\n",
+ "}\n",
+ "\n",
+ "\n",
+ "# Create a dictionary for the tenure column\n",
+ "tenure_dict_spc = {\n",
+ " '1': 'Owned: Owned outright',\n",
+ " '2': 'Owned: Owned with a mortgage or loan or shared ownership',\n",
+ " '3': 'Rented or living rent free: Total',\n",
+ " '4': 'Rented: Social rented',\n",
+ " '5': 'Rented: Private rented or living rent free',\n",
+ " '-8': 'NA',\n",
+ " '-9': 'DNA',\n",
+ " '-10': 'DEAD'\n",
+ "}\n",
+ "\n",
+ "\n",
+ "# Combine the dictionaries into a dictionary of dictionaries\n",
+ "\n",
+ "dict_nts = {\n",
+ " 'HHIncome2002_B02ID': income_dict_nts_hh,\n",
+ " 'HHoldEmploy_B01ID': employment_dict_nts_hh,\n",
+ " 'Ten1_B02ID': tenure_dict_nts_hh\n",
+ "}\n",
+ "\n",
+ "dict_spc = {\n",
+ " 'pwkstat': employment_dict_spc,\n",
+ " 'tenure': tenure_dict_spc\n",
+ "}\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Step 2: Decide on matching variables \n",
+ "\n",
+ "We need to identify the socio-demographic characteristics that we will match on. The schema for the synthetic population can be found [here](https://github.com/alan-turing-institute/uatk-spc/blob/main/synthpop.proto). \n",
+ "\n",
+ "Matching between the SPC and the NTS will happen in two steps: \n",
+ "\n",
+ "1. Match at the household level\n",
+ "2. Match individuals within the household\n",
+ "\n",
+ "### Household level matching \n",
+ "\n",
+ "| Variable | Name (NTS) | Name (SPC) | Transformation (NTS) | Transformation (SPC) |\n",
+ "| ------------------ | -------------------- | --------------- | -------------------- | -------------------- |\n",
+ "| Household income | `HHIncome2002_BO2ID` | `salary_yearly` | NA | Group by household ID and sum |\n",
+ "| Number of adults | `HHoldNumAdults` | `age_years` | NA | Group by household ID and count |\n",
+ "| Number of children | `HHoldNumChildren` | `age_years` | NA | Group by household ID and count |\n",
+ "| Employment status | `HHoldEmploy_B01ID` | `pwkstat` | NA | a) match to NTS categories. b) group by household ID |\n",
+ "| Car ownership | `NumCar` | `num_cars` | SPC is capped at 2. We change all entries > 2 to 2 | NA |\n",
+ "\n",
+ "Other columns to match in the future\n",
+ "| Variable | Name (NTS) | Name (SPC) | Transformation (NTS) | Transformation (SPC) |\n",
+ "| ------------------ | -------------------- | --------------- | -------------------- | -------------------- |\n",
+ "| Type of tenancy | `Ten1_B02ID` | `tenure` | ?? | ?? |\n",
+ "| Urban-Rural classification of residence | `Settlement2011EW_B04ID` | NA | NA | Spatial join between [layer](https://www.gov.uk/government/collections/rural-urban-classification) and SPC |\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 2.1 Edit SPC columns "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Household Income\n",
+ "\n",
+ "Edit the spc so that we have household income as well as individual income."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# add household income column for SPC\n",
+ "spc_edited = transform_by_group(data = spc,\n",
+ " group_col = 'household',\n",
+ " transform_col = 'salary_yearly',\n",
+ " new_col = 'salary_yearly_hh',\n",
+ " transformation_type = 'sum')\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Check number of individuals and households with reported salaries"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/8AAAIjCAYAAABViau2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrc0lEQVR4nO3deVwVZf//8TegB9wAN0ATccsdNTGRFtMkUcmyrNS8FVMzTb1VKpfuUlu+WXZnmpq2it1pLqVWkhjiVsqdSZJbkRpG3YpaJriCwvX7ox+TR1ABQXB8PR+P86gzc83MZy6O5zrvM2dmXIwxRgAAAAAAwLZcS7oAAAAAAABQvAj/AAAAAADYHOEfAAAAAACbI/wDAAAAAGBzhH8AAAAAAGyO8A8AAAAAgM0R/gEAAAAAsDnCPwAAAAAANkf4BwAAAADA5gj/wBXo0KGDOnToUNJllHp16tTRgAEDinSdW7ZskcPh0C+//FKk673Q5MmT5eLi4jStsPsTFRUlFxcX7d+//7Jti6PPLjRgwADVqVOnQMvExMSoYsWKOnLkSPEUBQClAON7/lzL43tJ6tChg5o3b16k63RxcdHkyZMv2y6vzzWXs3v3bpUpU0Y7d+4sZHUoLQj/uK7s2LFDDzzwgAICAuTh4aEbbrhBd911l2bOnFnSpaGA/vWvf6lPnz4KCAiwphXHYApnXbp0UYMGDTRlypSSLgUALIzv9lHQ8X3//v1ycXHRv//976tV4nWnadOmCg8P18SJE0u6FFwhwj+uG5s3b1abNm30/fff69FHH9WsWbM0ePBgubq6asaMGSVdHgogMTFRa9as0dChQ0tk+0lJSXrnnXcKvFy/fv10+vRppw8016LHHntMb731lo4fP17SpQAA47uNlPT4josbOnSoli9frn379pV0KbgCZUq6AOBq+b//+z95eXnp22+/lbe3t9O8w4cPl0xR5zl37pyys7PlcDhKupQiYYzRmTNnVK5cuSJf97x581S7dm21a9euyNedH+7u7oVazs3NTW5ubkVczdXXs2dPjRw5UkuXLtXAgQNLuhwA1znG96vLzuM7Li40NFSVK1fW/Pnz9fzzz5d0OSgkjvzjurFv3z41a9Ys1wcDSfLx8XF6Pm/ePN15553y8fGRu7u7mjZtqjlz5lx2G5mZmZo4caKCgoLk5eWlChUq6Pbbb9e6deuc2p3/E7Xp06erfv36cnd315YtW1ShQgWNGjUq17p/++03ubm5XfTn1sYY1alTR/fee2+ueWfOnJGXl5cee+wxa1pGRoYmTZqkBg0ayN3dXf7+/ho7dqwyMjIK1Rd16tTR3XffrdWrV6tNmzYqV66c3nrrrVztfv75Z7m4uOj111/PNW/z5s1ycXHRRx99lOc+5lixYoXuvPPOfJ2z5uLiohEjRmjFihVq3ry53N3d1axZM8XExORq+/XXX+vmm2+Wh4eH6tevn2f9Ofuac47j1q1b5eLiovnz5+dqt3r1arm4uGjlypWS8j7n3xijF198UbVq1VL58uXVsWNH7dq1K9e6LnaOXl7r/PTTTxUeHq6aNWvK3d1d9evX1wsvvKCsrKxLdZUkadGiRQoKClKlSpXk6empwMDAXEfOfHx81KJFC3366aeXXR8AFDfG9+tzfL+cn3/+WQ8++KCqVKmi8uXLq127doqOjnZqc7Fr8axfv14uLi5av369NW3Pnj3q2bOn/Pz85OHhoVq1aql3795KS0tzWvbDDz9UUFCQypUrpypVqqh379769ddf86xx9+7d6tixo8qXL68bbrhBU6dOzdXm8OHDGjRokHx9feXh4aGWLVvm+ZkjL/n9XBMbG6vbbrtN3t7eqlixoho1aqSnn37aqU3ZsmXVoUMHxv5rHEf+cd0ICAhQfHy8du7cednzwufMmaNmzZrpnnvuUZkyZfT555/r8ccfV3Z2toYPH37R5dLT0/Xuu++qT58+evTRR3X8+HG99957CgsL05YtW9SqVSun9vPmzdOZM2c0ZMgQubu7q3bt2rrvvvu0ePFiTZs2zeko8UcffSRjjPr27Zvntl1cXPSPf/xDU6dO1dGjR1WlShVr3ueff6709HT94x//kCRlZ2frnnvu0ddff60hQ4aoSZMm2rFjh15//XX99NNPWrFiRaH6IikpSX369NFjjz2mRx99VI0aNcpVZ7169XTrrbdqwYIFGjNmjNO8BQsWqFKlSnl+wMnxv//9TykpKWrduvVF21zo66+/1rJly/T444+rUqVKeuONN9SzZ0+lpKSoatWqkv46X7Rz586qXr26Jk+erHPnzmnSpEny9fW95LrbtGmjevXqacmSJYqIiHCat3jxYlWuXFlhYWEXXX7ixIl68cUX1a1bN3Xr1k3fffedOnfurMzMzHzv34WioqJUsWJFRUZGqmLFilq7dq0mTpyo9PR0vfrqqxddLjY2Vn369FGnTp30yiuvSJJ++OEHbdq0KdcH1qCgIKfXCQCUFMb362N8z8rK0u+//55r+p9//plr2qFDh3TLLbfo1KlT+uc//6mqVatq/vz5uueee/Txxx/rvvvuu2gdecnMzFRYWJgyMjI0cuRI+fn56X//+59WrlypY8eOycvLS9Jfv0J59tln9dBDD2nw4ME6cuSIZs6cqfbt22vbtm1OX1D9+eef6tKli+6//3499NBD+vjjjzVu3DgFBgaqa9eukqTTp0+rQ4cO2rt3r0aMGKG6detq6dKlGjBggI4dO5bnl0k58vu5ZteuXbr77rvVokULPf/883J3d9fevXu1adOmXOsMCgrSp59+qvT0dHl6ehaoD1FKGOA68eWXXxo3Nzfj5uZmQkJCzNixY83q1atNZmZmrranTp3KNS0sLMzUq1fPadodd9xh7rjjDuv5uXPnTEZGhlObP//80/j6+pqBAwda05KTk40k4+npaQ4fPuzUfvXq1UaSWbVqldP0Fi1aOG0rL0lJSUaSmTNnjtP0e+65x9SpU8dkZ2cbY4z5z3/+Y1xdXc1XX33l1G7u3LlGktm0aZM1Lb99ERAQYCSZmJiYXO0DAgJMRESE9fytt94ykswPP/xgTcvMzDTVqlVzapeXNWvWGEnm888/zzXvjjvuMM2aNXOaJsk4HA6zd+9ea9r3339vJJmZM2da03r06GE8PDzML7/8Yk3bvXu3cXNzMxe+VV64PxMmTDBly5Y1R48etaZlZGQYb29vp7/7vHnzjCSTnJxsjDHm8OHDxuFwmPDwcOtvY4wxTz/9tJHktI1JkyblqiOvdRqT99/sscceM+XLlzdnzpyxpkVERJiAgADr+ahRo4ynp6c5d+5cruUv9NJLLxlJ5tChQ5dtCwDFifH9+hjfJV3y8eqrr1rtR48ebSQ59cPx48dN3bp1TZ06dUxWVpYxJu8x1Bhj1q1bZySZdevWGWOM2bZtm5Fkli5detH69+/fb9zc3Mz//d//OU3fsWOHKVOmjNP0nP354IMPrGkZGRnGz8/P9OzZ05o2ffp0I8l8+OGH1rTMzEwTEhJiKlasaNLT063pksykSZOs5/n9XPP6668bSebIkSMX3bccCxcuNJLMN998c9m2KJ342T+uG3fddZfi4+N1zz336Pvvv9fUqVMVFhamG264QZ999plT2/PPY0tLS9Pvv/+uO+64Qz///HOun3edz83NzTqnLzs7W0ePHtW5c+fUpk0bfffdd7na9+zZU9WrV3eaFhoaqpo1a2rBggXWtJ07d2r79u3WN/sX07BhQwUHBzste/ToUa1atUp9+/a1fka3dOlSNWnSRI0bN9bvv/9uPe68805JcvoZY0H6om7dupc8yp3joYcekoeHh1Odq1ev1u+//37Zffzjjz8kSZUrV77sdnKEhoaqfv361vMWLVrI09NTP//8s6S/jiasXr1aPXr0UO3ata12TZo0ydf+9OrVS2fPntWyZcusaV9++aWOHTumXr16XXS5NWvWKDMzUyNHjnT6iePo0aPzvW95Of9vdvz4cf3++++6/fbbderUKf34448XXc7b21snT55UbGzsZbeR0/95HYUBgKuJ8f36GN/r1Kmj2NjYXI8PP/wwV9svvvhCbdu21W233WZNq1ixooYMGaL9+/dr9+7dl92X8+Uc2V+9erVOnTqVZ5tly5YpOztbDz30kFPf+/n56cYbb8x1ikjFihWd+sThcKht27bWZ5Oc/fDz81OfPn2saWXLltU///lPnThxQhs2bMizloJ8rsn5NcKnn36q7OzsS/YDY/+1j/CP68rNN9+sZcuW6c8//9SWLVs0YcIEHT9+XA888IDTQLBp0yaFhoaqQoUK8vb2VvXq1a1zny714UCS5s+frxYtWsjDw0NVq1ZV9erVFR0dnedydevWzTXN1dVVffv21YoVK6wBZsGCBfLw8NCDDz542X3s37+/Nm3aZN0fd+nSpTp79qz69etntdmzZ4927dql6tWrOz0aNmwoyfkCSQXpi7z2Jy/e3t7q3r27Fi5caE1bsGCBbrjhBusDyuUYY/LVTpLTwJejcuXK1k8Fjxw5otOnT+vGG2/M1S6vnzZeqGXLlmrcuLEWL15sTVu8eLGqVat2yf3J+RtduN3q1asX6MuNC+3atUv33XefvLy85OnpqerVq1sfMC71+n388cfVsGFDde3aVbVq1dLAgQPzvDaC9Hf/F8V5mQBwpRjf/2Ln8b1ChQoKDQ3N9bj11ltztf3ll1/yHL+bNGlizS+IunXrKjIyUu+++66qVaumsLAwzZ4926mf9uzZI2OMbrzxxlz9/8MPP+S6+GStWrVyjaHnfzbJqfPGG2+Uq6tzZLvcfhTkc02vXr106623avDgwfL19VXv3r21ZMmSPL8IYOy/9hH+cV1yOBy6+eab9dJLL2nOnDk6e/asli5dKumvCwd16tRJv//+u6ZNm6bo6GjFxsZa569d6lvRDz/8UAMGDFD9+vX13nvvKSYmRrGxsbrzzjvzXO5iV8rt37+/Tpw4oRUrVsgYo4ULF+ruu++2vnm+lN69e6ts2bLWt+4ffvih2rRp4/Rmn52drcDAwDy/QY+NjdXjjz9eqL4oyJV/+/fvr59//lmbN2/W8ePH9dlnn6lPnz65BrgL5Zyjn9c5fhdzsSvsF+QLhMvp1auX1q1bp99//10ZGRn67LPP1LNnT5UpUzSXVrnYQHvhRfyOHTumO+64Q99//72ef/55ff7554qNjbXO4b/U69fHx0eJiYn67LPPdM8992jdunXq2rVrrmsZSH/3f7Vq1Qq7SwBQ5Bjfr6/x/Urld2yVpNdee03bt2/X008/rdOnT+uf//ynmjVrpt9++03SX33m4uJivTYufFx4sb2r8dkkP8qVK6eNGzdqzZo16tevn7Zv365evXrprrvuytUPjP3XPi74h+temzZtJEkHDx6U9NfFc3LC2/lHjC/8uVZePv74Y9WrV0/Lli1zGlAmTZpUoJqaN2+um266SQsWLFCtWrWUkpKimTNn5mvZKlWqKDw8XAsWLFDfvn21adMmTZ8+3alN/fr19f3336tTp06X/Pb2Svricrp06aLq1atrwYIFCg4O1qlTp5yOXlxM48aNJUnJyclXXEOO6tWrq1y5ctqzZ0+ueUlJSflaR69evfTcc8/pk08+ka+vr9LT09W7d+9LLhMQECDpr6MF9erVs6YfOXIk14efnF8CHDt2zOmCQRd+679+/Xr98ccfWrZsmdq3b29Nz29/ORwOde/eXd27d1d2drYef/xxvfXWW3r22WfVoEEDp/VVq1Yt189aAaC0YHy/fsf3gICAPMfvnFPfcsbf88fW813siHpgYKACAwP1zDPPaPPmzbr11ls1d+5cvfjii6pfv76MMapbt671S4ui2I/t27crOzvb6cuTC/fjQgX9XOPq6qpOnTqpU6dOmjZtml566SX961//0rp16xQaGmq1S05Olqura5HtH64+jvzjurFu3bo8v0394osvJP39M6icb2LPb5uWlqZ58+Zddht5LfvNN98oPj6+wPX269dPX375paZPn66qVataV37N77K7d+/WU089JTc3t1wh9KGHHtL//vc/vfPOO7mWPX36tE6ePHnR/clvX1xOmTJl1KdPHy1ZskRRUVEKDAxUixYtLrvcDTfcIH9/f23duvWKa8jh5uamsLAwrVixQikpKdb0H374QatXr87XOpo0aaLAwEAtXrxYixcvVo0aNZzCd15CQ0NVtmxZzZw506mPL/wwJ8m6ZsHGjRutaSdPnsx1u5+8/maZmZl68803L7sPOedb5nB1dbX+JhfeIiohIUEhISGXXScAFDfG978xvv+lW7du2rJli9Pf5+TJk3r77bdVp04dNW3aVFLeY2tWVpbefvttp/Wlp6fr3LlzTtMCAwPl6upqjY/333+/3Nzc9Nxzz+V6PRpjco2x+d2P1NRUp9MKz507p5kzZ6pixYq644478lyuIJ9rjh49mmv5nLtX5DX2N2vWLF+/VEHpxJF/XDdGjhypU6dO6b777lPjxo2VmZmpzZs3a/HixapTp44eeeQRSVLnzp2to5+PPfaYTpw4oXfeeUc+Pj7W0YOLufvuu7Vs2TLdd999Cg8PV3JysubOnaumTZvqxIkTBar34Ycf1tixY7V8+XINGzZMZcuWzfey4eHhqlq1qpYuXaquXbvmus9xv379tGTJEg0dOlTr1q3TrbfeqqysLP34449asmSJdS/fK+mL/Ojfv7/eeOMNrVu3zvpZen7ce++9Wr58uYwxRXbe2XPPPaeYmBjdfvvtevzxx63BtVmzZtq+fXu+1tGrVy9NnDhRHh4eGjRo0GV/4li9enU9+eSTmjJliu6++25169ZN27Zt06pVq3L9pK5z586qXbu2Bg0aZH3oe//991W9enWngf2WW25R5cqVFRERoX/+859ycXHRf/7zn3z9jHDw4ME6evSo7rzzTtWqVUu//PKLZs6cqVatWlnnF0p/nTO6ffv2S94WCwCuFsb3vzG+/2X8+PH66KOP1LVrV/3zn/9UlSpVNH/+fCUnJ+uTTz6xxudmzZqpXbt2mjBhgnUbxUWLFuUK+mvXrtWIESP04IMPqmHDhjp37pz+85//yM3NTT179pT01xcJL774oiZMmKD9+/erR48eqlSpkpKTk7V8+XINGTJETz75ZIH2Y8iQIXrrrbc0YMAAJSQkqE6d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r82NN97odHu7Y8eOGV9fX9OvXz+zc+dOs2jRIlO+fPlct7crU6aM+fe//21++OEHM2nSpDxvb3e5WoqrL44fP26efPJJEx8fb5KTk82aNWtM69atzY033mjOnDljq74YNmyY8fLyMuvXr3e6Bc+pU6esNqXp38TlainOvti7d695/vnnzdatW01ycrL59NNPTb169Uz79u1t1xfjx483GzZsMMnJyWb79u1m/PjxxsXFxXz55Zf52rZd+sHuLte//fr1M+PHj7fa5+f9CrkVtJ+fe+45s3r1arNv3z6TkJBgevfubTw8PMyuXbtKaheuCZf7jDN+/HjTr18/q31+3oOQW0H7+fXXXzcrVqwwe/bsMTt27DCjRo0yrq6uZs2aNSW1C9eE/Hw+s+N7NOG/FJo5c6apXbu2cTgcpm3btua///1vSZdUIL169TI1atQwDofD3HDDDaZXr15m79691vzTp0+bxx9/3FSuXNmUL1/e3HfffebgwYNO69i/f7/p2rWrKVeunKlWrZp54oknzNmzZ53arFu3zrRq1co4HA5Tr149M2/evFy1XO2+zLndyoWPiIgIY8xft5V79tlnja+vr3F3dzedOnUySUlJTuv4448/TJ8+fUzFihWNp6eneeSRR8zx48ed2nz//ffmtttuM+7u7uaGG24wL7/8cq5alixZYho2bGgcDodp1qyZiY6Odpqfn1qKqy9OnTplOnfubKpXr27Kli1rAgICzKOPPprrixk79EVefSDJ6fVamv5N5KeW4uqLlJQU0759e1OlShXj7u5uGjRoYJ566imTlpZmu74YOHCgCQgIMA6Hw1SvXt106tTJCv753bYd+uF6cKn+veOOO6zxIcfl3q+Qt4L08+jRo622vr6+plu3bua7774rgaqvLZf7jBMREWHuuOOOXMtc7j0Izgraz6+88oqpX7++8fDwMFWqVDEdOnQwa9euLZniryH5+Xxmx/doF2OMKa5fFQAAAAAAgJLHOf8AAAAAANgc4R8AAAAAAJsj/AMAAAAAYHOEfwAAAAAAbI7wDwAAAACAzRH+AQAAAACwOcI/AAAAAAA2R/gHAAAAAKAYbNy4Ud27d1fNmjXl4uKiFStWFHgdxhj9+9//VsOGDeXu7q4bbrhB//d//1fg9RD+AeRLVFSUvL29S7qMq+563W8AwPXneh3zrtf9xtVx8uRJtWzZUrNnzy70OkaNGqV3331X//73v/Xjjz/qs88+U9u2bQu8HsI/cB04cuSIhg0bptq1a8vd3V1+fn4KCwvTpk2bSro0AABQBBjrgdKpa9euevHFF3XfffflOT8jI0NPPvmkbrjhBlWoUEHBwcFav369Nf+HH37QnDlz9Omnn+qee+5R3bp1FRQUpLvuuqvAtZQp7E4AuHb07NlTmZmZmj9/vurVq6dDhw4pLi5Of/zxx1WtIzMzUw6H46pu80qcPXu2pEsAACBfGOsLh7EeJW3EiBHavXu3Fi1apJo1a2r58uXq0qWLduzYoRtvvFGff/656tWrp5UrV6pLly4yxig0NFRTp05VlSpVCrQtjvwDNnfs2DF99dVXeuWVV9SxY0cFBASobdu2mjBhgu655x6r3bRp0xQYGKgKFSrI399fjz/+uE6cOHHR9e7bt0/33nuvfH19VbFiRd18881as2aNU5s6derohRdeUP/+/eXp6akhQ4bozjvv1IgRI5zaHTlyRA6HQ3Fxcbm2s3//frm6umrr1q1O06dPn66AgABlZ2dLknbu3KmuXbuqYsWK8vX1Vb9+/fT7779b7WNiYnTbbbfJ29tbVatW1d133619+/Y5bcfFxUWLFy/WHXfcIQ8PDy1YsKBQtQAAcDUx1v+FsR7XmpSUFM2bN09Lly7V7bffrvr16+vJJ5/Ubbfdpnnz5kmSfv75Z/3yyy9aunSpPvjgA0VFRSkhIUEPPPBAgbdH+AdsrmLFiqpYsaJWrFihjIyMi7ZzdXXVG2+8oV27dmn+/Plau3atxo4de9H2J06cULdu3RQXF6dt27apS5cu6t69u1JSUpza/fvf/1bLli21bds2Pfvssxo8eLAWLlzoVMuHH36oG264QXfeeWeu7dSpU0ehoaHWG2COefPmacCAAXJ1ddWxY8d055136qabbtLWrVsVExOjQ4cO6aGHHrLanzx5UpGRkdq6davi4uLk6uqq++67L9cgPn78eI0aNUo//PCDwsLCClwLAABXG2P9Xxjrca3ZsWOHsrKy1LBhQ+vfccWKFbVhwwbri6vs7GxlZGTogw8+0O23364OHTrovffe07p165SUlFSwDRoAtvfxxx+bypUrGw8PD3PLLbeYCRMmmO+///6SyyxdutRUrVrVej5v3jzj5eV1yWWaNWtmZs6caT0PCAgwPXr0cGpz+vRpU7lyZbN48WJrWosWLczkyZMvut7FixebypUrmzNnzhhjjElISDAuLi4mOTnZGGPMCy+8YDp37uy0zK+//mokmaSkpDzXeeTIESPJ7NixwxhjTHJyspFkpk+f7tTuwv2+XC0AAJQExvrcGOtR2kgyy5cvt54vWrTIuLm5mR9//NHs2bPH6XHw4EFjjDETJ040ZcqUcVrPqVOnjCTz5ZdfFmj7fHUFXAd69uypAwcO6LPPPlOXLl20fv16tW7dWlFRUVabNWvWqFOnTrrhhhtUqVIl9evXT3/88YdOnTqV5zpPnDihJ598Uk2aNJG3t7cqVqyoH374IdfRgDZt2jg99/DwUL9+/fT+++9Lkr777jvt3LlTAwYMuGj9PXr0kJubm5YvXy7pr6vyduzYUXXq1JEkff/991q3bp3TN6aNGzeWJOtb0z179qhPnz6qV6+ePD09rWUvV29BawEAoCQw1jPW49pz0003KSsrS4cPH1aDBg2cHn5+fpKkW2+9VefOnXM6heWnn36SJAUEBBRoe4R/4Drh4eGhu+66S88++6w2b96sAQMGaNKkSZL+Or/t7rvvVosWLfTJJ58oISHBuh1JZmZmnut78skntXz5cr300kv66quvlJiYqMDAwFztK1SokGvZwYMHKzY2Vr/99pvmzZunO++885JvXg6HQ/3799e8efOUmZmphQsXauDAgdb8EydOqHv37kpMTHR67NmzR+3bt5ckde/eXUePHtU777yjb775Rt98802e+5dXvQWpBQCAksJYz1iP0ufEiRPW61WSkpOTlZiYqJSUFDVs2FB9+/ZV//79tWzZMiUnJ2vLli2aMmWKoqOjJUmhoaFq3bq1Bg4cqG3btikhIUGPPfaY7rrrLjVs2LBAtXC1f+A61bRpU61YsUKSlJCQoOzsbL322mvWuWxLliy55PKbNm3SgAEDrNuWnDhxQvv378/XtgMDA9WmTRu98847WrhwoWbNmnXZZQYPHqzmzZvrzTff1Llz53T//fdb81q3bq1PPvlEderUUZkyud/W/vjjDyUlJemdd97R7bffLkn6+uuv81VrQWsBAKC0YKxnrEfJ27p1qzp27Gg9j4yMlCRFREQoKipK8+bN04svvqgnnnhC//vf/1StWjW1a9dOd999t6S/rtXx+eefa+TIkWrfvr0qVKigrl276rXXXitwLYR/wOb++OMPPfjggxo4cKBatGihSpUqaevWrZo6daruvfdeSVKDBg109uxZzZw5U927d9emTZs0d+7cS673xhtv1LJly9S9e3e5uLjo2WefLdAVcAcPHqwRI0aoQoUKF73v6fmaNGmidu3aady4cRo4cKDKlStnzRs+fLjeeecd9enTR2PHjlWVKlW0d+9eLVq0SO+++64qV66sqlWr6u2331aNGjWUkpKi8ePH57vWgtQCAMDVxljPWI/Sq0OHDvrrdP+8lS1bVs8995yee+65i7apWbOmPvnkkyuuhZ/9AzZXsWJFBQcH6/XXX1f79u3VvHlzPfvss3r00Uetb+FbtmypadOm6ZVXXlHz5s21YMECTZky5ZLrnTZtmipXrqxbbrlF3bt3V1hYmFq3bp3vuvr06aMyZcqoT58+8vDwyNcygwYNUmZmZq6f3tWsWVObNm1SVlaWOnfurMDAQI0ePVre3t5ydXWVq6urFi1apISEBDVv3lxjxozRq6++mu9aC1ILAABXG2M9Yz2QHy7mUl9DAEAx2b9/v+rXr69vv/023x8kXnjhBS1dulTbt28v5uqurVoAACiNGOuB0oUj/wCuqrNnzyo1NVXPPPOM2rVrl68PAydOnNDOnTs1a9YsjRw58ipUeW3UAgBAacRYD5ROhH8AV9WmTZtUo0YNffvtt5c91zDHiBEjFBQUpA4dOpT4T+9KUy0AAJRGjPVA6cTP/gEAAAAAsDmO/AMAAAAAYHOEfwAAAAAAbI7wDwAAAACAzRH+AQAAAACwOcI/AAAAAAA2R/gHAAAAAMDmCP8AAAAAANgc4R8AAAAAAJv7fwsFP68cQ79CAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Individuals in SPC = 50000\n",
+ "Individuals without reported income = 30056\n",
+ "% of individuals with reported income = 39.9\n",
+ "Individuals with reported income: 0 = 0\n",
+ "Households in SPC = 21569\n",
+ "Households without reported income = 14653\n",
+ "% of households with reported income = 67.9\n",
+ "Households with reported income: 0 = 14653\n"
+ ]
+ }
+ ],
+ "source": [
+ "# histogram for individuals and households (include NAs as 0)\n",
+ "fig, ax = plt.subplots(1, 2, figsize=(12, 6), sharey=True)\n",
+ "ax[0].hist(spc_edited['salary_yearly'].fillna(0), bins=30)\n",
+ "ax[0].set_title('Salary yearly (Individuals)')\n",
+ "ax[0].set_xlabel('Salary yearly')\n",
+ "ax[0].set_ylabel('Frequency')\n",
+ "ax[1].hist(spc_edited['salary_yearly_hh'].fillna(0), bins=30)\n",
+ "ax[1].set_title('Salary yearly (Households)')\n",
+ "ax[1].set_xlabel('Salary yearly')\n",
+ "plt.show()\n",
+ "\n",
+ "\n",
+ "# statistics\n",
+ "\n",
+ "# print the total number of rows in the spc. Add a message \"Values =\"\n",
+ "print(\"Individuals in SPC =\", spc_edited.shape[0])\n",
+ "# number of individuals without reported income\n",
+ "print(\"Individuals without reported income =\", spc_edited['salary_yearly'].isna().sum())\n",
+ "# % of individuals with reported income (salary_yearly not equal NA)\n",
+ "print(\"% of individuals with reported income =\", round((spc_edited['salary_yearly'].count() / spc_edited.shape[0]) * 100, 1))\n",
+ "print(\"Individuals with reported income: 0 =\", spc_edited[spc_edited['salary_yearly'] == 0].shape[0])\n",
+ "\n",
+ "\n",
+ "# print the total number of households\n",
+ "print(\"Households in SPC =\", spc_edited['household'].nunique())\n",
+ "# number of households without reported income (salary yearly_hh = 0)\n",
+ "print(\"Households without reported income =\", spc_edited[spc_edited['salary_yearly_hh'] == 0].shape[0])\n",
+ "# # % of households with reported income (salary_yearly not equal NA)\n",
+ "print(\"% of households with reported income =\", round((spc_edited[spc_edited['salary_yearly_hh'] == 0].shape[0] / spc_edited['household'].nunique()) * 100, 1))\n",
+ "print(\"Households with reported income: 0 =\", spc_edited[spc_edited['salary_yearly_hh'] == 0].shape[0])\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# --- Recode column so that it matches the reported NTS values (Use income_dict_nts_hh dictionary for reference)\n",
+ "\n",
+ "# Define the bins (first )\n",
+ "bins = [0, 24999, 49999, np.inf]\n",
+ "# Define the labels for the bins\n",
+ "labels = [1, 2, 3]\n",
+ "\n",
+ "spc_edited = spc_edited.copy()\n",
+ "\n",
+ "spc_edited['salary_yearly_hh_cat'] = (pd.cut(spc_edited['salary_yearly_hh'], bins=bins, labels=labels, include_lowest=True)\n",
+ " .astype('str')\n",
+ " .astype('float'))\n",
+ "\n",
+ "\n",
+ "# replace NA values with -8 (to be consistent with NTS)\n",
+ "spc_edited['salary_yearly_hh_cat'] = spc_edited['salary_yearly_hh_cat'].fillna(-8)\n",
+ "\n",
+ "# Convert the column to int\n",
+ "spc_edited['salary_yearly_hh_cat'] = spc_edited['salary_yearly_hh_cat'].astype('int')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "If we compare household income from the SPC and the NTS, we find that the SPC has many more households with no reported income (-8). This will create an issue when matching using household income"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/8AAAIjCAYAAABViau2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABN8ElEQVR4nO3deXyM5/7/8fcEWSxJbEmEiK32PbZQpaViqb3VqqLqaLXU1qo4tXWlStHWqeoiqnWoo5xjKSJqD1qE2KLVOCihjiVCa0mu3x9+5muaICOTTNxez8djHo/OfV/3fX/uq7e55p17GZsxxggAAAAAAFiWh7sLAAAAAAAA2YvwDwAAAACAxRH+AQAAAACwOMI/AAAAAAAWR/gHAAAAAMDiCP8AAAAAAFgc4R8AAAAAAIsj/AMAAAAAYHGEfwAAAAAALI7wDwAAAACAxRH+AWSr+Ph4Pf744woNDZW3t7dKliypRx99VB999JG9TZkyZWSz2eyvgIAANW3aVIsWLcpwnYsWLVKbNm1UrFgxeXp6Kjg4WN26ddOaNWtyarcAAICkqKgo2Ww2eXt767fffks3v3nz5qpevbrGjRvnMNbf6tW8eXP7skuWLFGzZs0UEBCg/Pnzq1y5curWrZtWrFiRg3sIWEdedxcAwLo2b96shx9+WKVLl1a/fv0UFBSko0ePasuWLZo2bZpefvlle9vatWvrlVdekSQdP35cn376qbp06aJPPvlE/fv3lyQZY/Tcc88pKipKderU0bBhwxQUFKQTJ05o0aJFatGihTZt2qTGjRu7ZX8BALhfXb58WRMmTHD44/7NunTpogoVKtjfp6Sk6MUXX1Tnzp3VpUsX+/TAwEBJ0qRJkzR8+HA1a9ZMI0eOVP78+fXLL79o9erVmjdvnlq3bp29OwRYkM0YY9xdBABrateunX788UcdPHhQ/v7+DvNOnTqlgIAASdfP/FevXl1Lly61z09KSlKFChVUsmRJJSQkSPq/LwJDhgzRBx98IJvN5rDOOXPmqFKlSmrQoEH27hgAAJB0/cx/nz59VLt2be3fv1+//vqrgoOD7fObN2+u06dPa8+ePQ7LnT59WsWLF9fYsWM1btw4h3nXrl1T0aJF1bBhQ61atSrdNm/+DgEg87jsH0C2OXTokKpVq5Yu+Eu646AdFBSkKlWqKDExUZL0xx9/aPz48apcubImTZqULvhLUs+ePQn+AAC4wd///nelpqZqwoQJWV7X6dOnlZycrCZNmmQ4n+AP3B3CP4BsExoaqu3bt6f7a39mXL16VUePHlXRokUlSRs3btSZM2f09NNPK0+ePK4uFQAAZEHZsmXVq1cvffbZZzp+/HiW1hUQECAfHx8tWbJEZ86ccVGFAAj/ALLNq6++qkuXLql27dpq3LixRowYoVWrVunq1avp2l69elWnT5/W6dOntXv3bvXq1UsnT57UE088IUnav3+/JKlGjRo5ug8AACBzXn/9dV27dk3vvfdeltbj4eGh4cOHa/v27SpdurTatm2rd999Vzt27HBRpcD9ifAPINs8+uijio2NVYcOHbRr1y5NnDhRERERKlmypP7zn/84tF21apWKFy+u4sWLq1atWlqwYIF69uxp/wKRnJwsSSpUqFCO7wcAALizcuXKqWfPnpo5c6ZOnDiRpXW98cYbmjt3rurUqaOVK1fq9ddfV1hYmOrWrWs/IQDAOYR/ANmqfv36+u6773T27Flt27ZNI0eO1IULF/T4449r37599nYNGzZUdHS0Vq9erc2bN+v06dP66quv5OPjI0ny9fWVJF24cMEt+wEAAO5s1KhRunbtmkvu/e/evbs2bNigs2fPatWqVXr66ae1c+dOtW/fXn/++acLqgXuL4R/ADnC09NT9evX17vvvqtPPvlEV69e1YIFC+zzixUrppYtW6pFixYKDw9P95DAypUrS5Li4+NzsmwAAOCEcuXK6ZlnnnHJ2f8bfH199eijj+qbb75R7969dejQIW3dutUl6wbuJ4R/ADmuXr16kuTUl4IHH3xQhQsX1j//+U+lpqZmV2kAACCLbpz9z+q9/xm5m+8QAK4j/APINj/88IOMMemmL1++XJJUqVKlTK8rf/78GjFihPbv368RI0ZkuN6vv/5a27Ztu/uCAQBAlpUvX17PPPOMPv30UyUlJTm9/KVLlxQbG5vhvO+//16Sc98hAFyX190FALCul19+WZcuXVLnzp1VuXJlXblyRZs3b9b8+fNVpkwZ9enTx6n1DR8+XHv37tXkyZP1ww8/6PHHH1dQUJCSkpK0ePFibdu2TZs3b86mvQEAAJn1+uuva86cOUpISFC1atWcWvbSpUtq3LixGjVqpNatWyskJETnzp3T4sWLtWHDBnXq1El16tTJpsoB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w8vb2zsHq81e69evV/v27RUcHCybzabFixffcZm1a9eqbt268vLyUoUKFRQVFZXtdeYUZ/tj7dq16Y4Pm82mpKSknCk4B4wfP17169dXoUKFFBAQoE6dOikhIeGOyy1YsECVK1eWt7e3atSooeXLl+dAtdnvbvrD6p8jn3zyiWrWrClfX1/5+voqPDxc33///W2XserxcYOzfWL1YwTXHTx4UB07dlSxYsXk6+urBx98UD/88IO7y8pxy5YtU8OGDeXj46PChQurU6dO7i7JLS5fvqzatWvLZrMpLi7O3eXkmMOHD6tv374qW7asfHx8VL58eY0dO1ZXrlxxd2nZzpkMYjV3+33yfkf4z6L58+dr2LBhGjt2rHbs2KFatWopIiJCp06duuUyvr6+OnHihP313//+Nwcrzl4XL15UrVq1NH369Ey1T0xMVLt27fTwww8rLi5OQ4YM0d/+9jetXLkymyvNGc72xw0JCQkOx0hAQEA2VZjz1q1bpwEDBmjLli2Kjo7W1atX1apVK128ePGWy2zevFndu3dX3759tXPnTnXq1EmdOnXSnj17crDy7HE3/SFZ+3OkVKlSmjBhgrZv366ffvpJjzzyiDp27Ki9e/dm2N7Kx8cNzvaJZO1jBNc99thjunbtmtasWaPt27erVq1aeuyxxyz1B+M7WbhwoXr27Kk+ffpo165d2rRpk55++ml3l+UWr732moKDg91dRo47cOCA0tLS9Omnn2rv3r2aMmWKZsyYob///e/uLi1b3U0GsZK7/f503zPIkgYNGpgBAwbY36empprg4GAzfvz4DNvPmjXL+Pn55VB17iXJLFq06LZtXnvtNVOtWjWHaU8++aSJiIjIxsrcIzP98cMPPxhJ5uzZszlSU25w6tQpI8msW7fulm26detm2rVr5zCtYcOG5oUXXsju8nJcZvrjfvocuaFw4cLm888/z3De/XR83Ox2fXI/HiP3m99//91IMuvXr7dPS05ONpJMdHS0GyvLOVevXjUlS5a85b+D+8ny5ctN5cqVzd69e40ks3PnTneX5FYTJ040ZcuWdXcZ2crZDGJ1mfn+BGM4858FV65c0fbt29WyZUv7NA8PD7Vs2VKxsbG3XC4lJUWhoaEKCQm545kbq4uNjXXoP0mKiIi4bf/dD2rXrq0SJUro0Ucf1aZNm9xdTrY6f/68JKlI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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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ACyCkA6UIBEREZoyZYqny7jmzJ49WxUrVryqbezdu1c2m03p6emX7LN69WrZbDb9/vvvl+xjs9m0cOHCq6rFVew3AHBt4XO7cJjv2W+uFYR0FLt//etf6tGjh6fLKBKzZ8+WzWazP8qVK6fo6Gh9+umnni7NKbGxsRo+fLhbtjVmzBhFRUXla3dmcgMAXPuY762L+R6wNkI64GZBQUE6dOiQDh06pM2bNysuLk69e/fWzp07L7lOTk5OMVYIAACuFvM9gKJCSIfHxcbGaujQoXryySdVuXJlhYWFacyYMQ59fv/9dz300EMKDQ2Vv7+/GjVqpC+//NK+fP78+WrYsKH8/PwUERGh1157zWH9iIgIvfjii4qPj1e5cuVUs2ZNff755zp69Ki6d++ucuXKqXHjxvr+++8d1vvmm2/Upk0bBQQEKDw8XEOHDtWZM2cu+35sNpvCwsIUFhamG264QS+++KJ8fHy0detWh3peeOEFxcfHKygoSA8++KAkaeTIkbrxxhsVGBio2rVr69lnn9W5c+cctv/FF1+oefPm8vf3V3BwsHr27HnJWt59911VrFhRKSkpkqTt27frjjvuULly5RQaGqp+/frp2LFjki4c8VizZo2mTp1qPzKwd+/ey75Xd1mzZo1atGghPz8/VatWTaNGjdL58+ftyws6PSsqKsq+nxhjNGbMGF1//fXy8/NT9erVNXToUHvf7OxsPfHEE6pRo4bKli2rli1bavXq1fnqWLp0qerXr69y5cqpU6dOOnTokH1ZXl6enn/+eV133XXy8/NTVFSUlixZctn3tXjxYt14440KCAhQu3btCjWeGRkZ6t27typWrKjKlSure/fu9u0sW7ZM/v7++U6nGzZsmG677Tb788LsxwDgbsz3zPfM95fGfI+/IqTDEt5//32VLVtWGzZs0CuvvKLnn39ey5cvl3Thw/KOO+7QunXr9OGHH+rHH3/U+PHjVapUKUnSpk2b1Lt3b91zzz3atm2bxowZo2effVazZ892eI3JkyerdevW2rx5s7p06aJ+/fopPj5e999/v9LS0lSnTh3Fx8fLGCNJ2r17tzp16qQ777xTW7duVXJysr755hsNGTLE6feVm5ur999/X5J08803OyybOHGimjRpos2bN+vZZ5+VJJUvX16zZ8/Wjz/+qKlTp+qdd97R5MmT7essWrRIPXv2VOfOnbV582alpKSoRYsWBb72K6+8olGjRmnZsmVq3769fv/9d912221q2rSpvv/+ey1ZskSHDx9W7969JUlTp05VTEyMBg4caD8yEB4e7vR7LawDBw6oc+fOat68ubZs2aK33npL7733nl588UWntzF//nxNnjxZb7/9tnbt2qWFCxfqpptusi8fMmSIUlNTNXfuXG3dulV33323OnXqpF27dtn7nD17VhMnTtScOXP09ddfa9++fXriiSfsy6dOnarXXntNEydO1NatWxUXF6du3bo5bOOvMjIy1KtXL3Xt2lXp6el64IEHNGrUKJfG5ty5c4qLi1P58uW1du1arVu3zv6FIicnR+3bt1fFihU1f/58+zq5ublKTk5W3759JblnPwYAd2G+Z75nvs+P+R75GKCY9e/f33Tv3t3+vG3btubWW2916NO8eXMzcuRIY4wxS5cuNT4+Pmbnzp0Fbu++++4zHTt2dGgbMWKEadCggf15zZo1zf33329/fujQISPJPPvss/a21NRUI8kcOnTIGGPMgAEDzIMPPuiw3bVr1xofHx/zxx9/FFjLrFmzjCRTtmxZU7ZsWePj42P8/PzMrFmzHPrVrFnT9OjRo8Bt/NWrr75qoqOj7c9jYmJM3759L9m/Zs2aZvLkyebJJ5801apVM9u3b7cve+GFF8ztt9/u0D8jI8NIso9t27ZtzbBhw65YlzOSkpKMj4+PfSwuPgIDA40ks3nzZmOMMU899ZSpW7euycvLs687bdo0U65cOZObm+vwvv6qSZMmJikpyRhjzGuvvWZuvPFGk5OTk6+O3377zZQqVcocOHDAob19+/Zm9OjRxpj//Xf75ZdfHGoIDQ21P69evbp56aWXHLbRvHlz8/DDDxtjjNmzZ4/D+xo9erTDPmiMMSNHjjSSzIkTJy45bpLMggULjDHGzJkzJ9/YZGdnm4CAALN06VJjjDHDhg0zt912m3350qVLjZ+fn/01nNmPCxpfALhazPfM98z3Jy45bsz3uJzSxf1HAaAgjRs3dnherVo1HTlyRJKUnp6u6667TjfeeGOB6+7YsUPdu3d3aGvdurWmTJmi3Nxc+1/g//oaoaGhkuTw19eLbUeOHFFYWJi2bNmirVu36qOPPrL3McYoLy9Pe/bsUf369Qusp3z58kpLS5N04a+1K1as0KBBg1SlShV17drV3q9Zs2b51k1OTtbrr7+u3bt36/Tp0zp//ryCgoLsy9PT0zVw4MACX/ei1157TWfOnNH333+v2rVr29u3bNmiVatWqVy5cvnW2b179yXH9+9efvllvfzyy/bnP/74o66//voC+9atW1eff/65Q9uBAwcUGxtrf75jxw7FxMTIZrPZ21q3bq3Tp09r//79l9z2X919992aMmWKateurU6dOqlz587q2rWrSpcurW3btik3Nzff+8vOzlaVKlXszwMDA1WnTh3787/ug1lZWTp48KBat27tsI3WrVtry5YtBda0Y8cOtWzZ0qEtJibmiu/lr7Zs2aJffvlF5cuXd2j/888/tXv3bklS3759dcstt+jgwYOqXr26PvroI3Xp0sV+99rC7scAUBSY7y9gvr+A+f4C5nv8HSEdllCmTBmH5zabTXl5eZKkgIAAt7/GxQmioLaLr3v69Gk99NBDDtc6XXS5icTHx0eRkZH2540bN9ayZcs0YcIEh0m7bNmyDuulpqaqb9++Gjt2rOLi4lShQgXNnTvX4Xo7Z8aiTZs2WrRokebNm+dwutXp06fVtWtXTZgwId861apVu+J2Lxo0aJD9lDlJql69+iX7+vr6OoyFJJUu7frHjo+Pj/20xIv+eu1eeHi4du7cqRUrVmj58uV6+OGH9eqrr2rNmjU6ffq0SpUqpU2bNtm/wF301y8wBe2Df3/N4nb69GlFR0c7TLgXVa1aVZLUvHlz1alTR3PnztXgwYO1YMECh1M/C7sfA0BRYL5nvr8c5nvme1xASIflNW7cWPv379fPP/9c4F9/69evr3Xr1jm0rVu3TjfeeGO+D2lX3Hzzzfrxxx/zTTqFUapUKf3xxx+X7bN+/XrVrFlTTz/9tL3tt99+c+jTuHFjpaSkKCEh4ZLbadGihYYMGaJOnTqpdOnS9uusbr75Zs2fP18RERGXnDh9fX2Vm5t72TorV66sypUrX7aPK+rXr6/58+fLGGP/4rRu3TqVL19e1113naQLE9Rfb+qSlZWlPXv2OGwnICBAXbt2VdeuXfXII4+oXr162rZtm5o2barc3FwdOXJEbdq0KVSNQUFBql69utatW6e2bdva29etW3fJawTr16+f76jCt99+69Lr3nzzzUpOTlZISIjDEZa/69u3rz766CNdd9118vHxUZcuXRy24a79GACKEvP9/zDfX8B874j53ntw4zhYXtu2bfWPf/xDd955p5YvX649e/boq6++st9p8/HHH1dKSopeeOEF/fzzz3r//ff15ptvOtwEpDBGjhyp9evXa8iQIUpPT9euXbv02WefXfEGHMYYZWZmKjMzU3v27NGMGTO0dOnSfKfo/d0NN9ygffv2ae7cudq9e7def/11LViwwKFPUlKS/vOf/ygpKUk7duzQtm3bCvxLeatWrbR48WKNHTvWfpfURx55RMePH9e9996r7777Trt379bSpUuVkJBgn6gjIiK0YcMG7d27V8eOHbMfZShKDz/8sDIyMvToo4/qp59+0meffaakpCQlJibKx+fCR9Rtt92mOXPmaO3atdq2bZv69+/v8IVs9uzZeu+997R9+3b9+uuv+vDDDxUQEKCaNWvqxhtvVN++fRUfH69PP/1Ue/bs0caNGzVu3DgtWrTI6TpHjBihCRMmKDk5WTt37tSoUaOUnp6uYcOGFdh/0KBB2rVrl0aMGKGdO3fq448/zndzoyvp27evgoOD1b17d61du1Z79uzR6tWrNXToUO3fv9+hX1paml566SXddddd8vPzsy8r7H4MAMWN+f5/mO+Z75nvvZxnLoWHNyvoRjJ/v3lJ9+7dTf/+/e3P//vf/5qEhARTpUoV4+/vbxo1amS+/PJL+/L/9//+n2nQoIEpU6aMuf76682rr77qsL2CbpShv9yww5j8NwIxxpiNGzeajh07mnLlypmyZcuaxo0b57uZyF9dvCHJxYefn5+58cYbzUsvvWTOnz9/2XqMuXADnCpVqphy5cqZPn36mMmTJ5sKFSo49Jk/f76Jiooyvr6+Jjg42PTq1euS212zZo0pW7asef31140xxvz888+mZ8+epmLFiiYgIMDUq1fPDB8+3H6jkp07d5pbbrnFBAQEGElmz549l3yvV5KUlGSaNGmSr72gcV69erVp3ry58fX1NWFhYWbkyJHm3Llz9uUnT540ffr0MUFBQSY8PNzMnj3b4UYyCxYsMC1btjRBQUGmbNmy5pZbbjErVqywr5+Tk2Oee+45ExERYcqUKWOqVatmevbsabZu3WqMufDf7e/jvGDBAvPXj8jc3FwzZswYU6NGDVOmTBnTpEkT89VXX132fX3xxRcmMjLS+Pn5mTZt2piZM2e6dCMZYy7c9Cg+Pt4EBwcbPz8/U7t2bTNw4EBz8uRJh/VatGhhJJmVK1fm2+aV9mNuJAOgKDDfM98z35+45Lgx3+NybMZ4+CIMAAAAAAAgidPdAQAAAACwDEI6AAAAAAAWQUgHAAAAAMAiCOkAAAAAAFgEIR0AAAAAAIsgpAMAAAAAYBGEdAAAAAAALIKQDgAAAACARRDSAQAAAACwCEI6AAAAAAAWQUgHAAAAAMAi/j8aboWY/PGrqQAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# bar plot showing spc_edited.salary_yearly_hh_cat and nts_households.HHIncome2002_B02ID side by side\n",
+ "fig, ax = plt.subplots(1, 2, figsize=(12, 6), sharey=True)\n",
+ "ax[0].bar(spc_edited['salary_yearly_hh_cat'].value_counts().index, spc_edited['salary_yearly_hh_cat'].value_counts().values)\n",
+ "ax[0].set_title('SPC')\n",
+ "ax[0].set_xlabel('Income Bracket - Household level')\n",
+ "ax[0].set_ylabel('No of Households')\n",
+ "ax[1].bar(nts_households['HHIncome2002_B02ID'].value_counts().index, nts_households['HHIncome2002_B02ID'].value_counts().values)\n",
+ "ax[1].set_title('NTS')\n",
+ "ax[1].set_xlabel('Income Bracket - Household level')\n",
+ "plt.show()\n",
+ "\n",
+ "# same as above but (%)\n",
+ "fig, ax = plt.subplots(1, 2, figsize=(12, 6), sharey=True)\n",
+ "ax[0].bar(spc_edited['salary_yearly_hh_cat'].value_counts(normalize=True).index, spc_edited['salary_yearly_hh_cat'].value_counts(normalize=True).values)\n",
+ "ax[0].set_title('SPC')\n",
+ "ax[0].set_xlabel('Income Bracket - Household level')\n",
+ "ax[0].set_ylabel('Fraction of Households')\n",
+ "ax[1].bar(nts_households['HHIncome2002_B02ID'].value_counts(normalize=True).index, nts_households['HHIncome2002_B02ID'].value_counts(normalize=True).values)\n",
+ "ax[1].set_title('NTS')\n",
+ "ax[1].set_xlabel('Income Bracket - Household level')\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "HHIncome2002_B02ID\n",
+ " 1.0 35.969773\n",
+ " 3.0 34.382872\n",
+ " 2.0 29.559194\n",
+ "-8.0 0.088161\n",
+ "Name: proportion, dtype: float64"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# get the % of households in each income bracket for the nts\n",
+ "nts_households['HHIncome2002_B02ID'].value_counts(normalize=True) * 100"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Household Composition (No. of Adults / Children)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Number of adults and children in the household\n",
+ "\n",
+ "spc_edited = num_adult_child_hh(data = spc_edited,\n",
+ " group_col = 'household',\n",
+ " age_col = 'age_years')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Employment Status"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "({'0': 'Not applicable (age < 16)',\n",
+ " '1': 'Employee FT',\n",
+ " '2': 'Employee PT',\n",
+ " '3': 'Employee unspecified',\n",
+ " '4': 'Self-employed',\n",
+ " '5': 'Unemployed',\n",
+ " '6': 'Retired',\n",
+ " '7': 'Homemaker/Maternal leave',\n",
+ " '8': 'Student',\n",
+ " '9': 'Long term sickness/disability',\n",
+ " '10': 'Other'},\n",
+ " {'1': 'None',\n",
+ " '2': '0 FT, 1 PT',\n",
+ " '3': '1 FT, 0 PT',\n",
+ " '4': '0 FT, 2 PT',\n",
+ " '5': '1 FT, 1 PT',\n",
+ " '6': '2 FT, 0 PT',\n",
+ " '7': '1 FT, 2+ PT',\n",
+ " '8': '2 FT, 1+ PT',\n",
+ " '9': '0 FT, 3+ PT',\n",
+ " '10': '3+ FT, 0 PT',\n",
+ " '11': '3+ FT, 1+ PT',\n",
+ " '-8': 'NA',\n",
+ " '-10': 'DEAD'})"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Employment status\n",
+ "\n",
+ "# check the colums values from our dictionary\n",
+ "dict_spc['pwkstat'], dict_nts['HHoldEmploy_B01ID']"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The NTS only reports the number of Full time and Part time employees for each household. For the SPC we also need to get the number of full time and part time workers for each household.\n",
+ "\n",
+ "Step 1: Create a column for Full time and a column for Part time"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " pwkstat_FT_hh | \n",
+ " pwkstat_PT_hh | \n",
+ "
\n",
+ " \n",
+ " household | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " pwkstat_FT_hh pwkstat_PT_hh\n",
+ "household \n",
+ "0 0 0\n",
+ "1 0 0\n",
+ "2 2 0\n",
+ "3 1 0\n",
+ "4 0 0\n",
+ "5 1 0\n",
+ "6 0 0\n",
+ "7 1 0\n",
+ "8 1 0\n",
+ "9 0 1"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# We will only use '1' and '2' for the employment status\n",
+ "\n",
+ "counts_df = count_per_group(df = spc_edited,\n",
+ " group_col = 'household',\n",
+ " count_col = 'pwkstat',\n",
+ " values=[1, 2],\n",
+ " value_names=['pwkstat_FT_hh','pwkstat_PT_hh'])\n",
+ "\n",
+ "counts_df.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create a column that matches the NTS categories (m FT, n PT)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " household | \n",
+ " pwkstat | \n",
+ " pwkstat_FT_hh | \n",
+ " pwkstat_PT_hh | \n",
+ " pwkstat_NTS_match | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " 4 | \n",
+ " 10 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " 5 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " household pwkstat pwkstat_FT_hh pwkstat_PT_hh pwkstat_NTS_match\n",
+ "0 0 6 0 0 1\n",
+ "1 1 6 0 0 1\n",
+ "2 1 6 0 0 1\n",
+ "3 2 1 2 0 6\n",
+ "4 2 1 2 0 6\n",
+ "5 3 1 1 0 3\n",
+ "6 4 10 0 0 1\n",
+ "7 4 4 0 0 1\n",
+ "8 4 0 0 0 1\n",
+ "9 5 1 1 0 3"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# We want to match the SPC values to the NTS\n",
+ "dict_nts['HHoldEmploy_B01ID']\n",
+ "'''\n",
+ "{\n",
+ " '1': 'None',\n",
+ " '2': '0 FT, 1 PT',\n",
+ " '3': '1 FT, 0 PT',\n",
+ " '4': '0 FT, 2 PT',\n",
+ " '5': '1 FT, 1 PT',\n",
+ " '6': '2 FT, 0 PT',\n",
+ " '7': '1 FT, 2+ PT',\n",
+ " '8': '2 FT, 1+ PT',\n",
+ " '9': '0 FT, 3+ PT',\n",
+ " '10': '3+ FT, 0 PT',\n",
+ " '11': '3+ FT, 1+ PT',\n",
+ " '-8': 'NA',\n",
+ " '-10': 'DEAD'}\n",
+ " '''\n",
+ "\n",
+ "# 1) Match each row to the NTS\n",
+ "\n",
+ "# Define the conditions and outputs.\n",
+ "# We are using the keys in dict_nts['HHoldEmploy_B01ID'] as reference\n",
+ "conditions = [\n",
+ " (counts_df['pwkstat_FT_hh'] == 0) & (counts_df['pwkstat_PT_hh'] == 0),\n",
+ " (counts_df['pwkstat_FT_hh'] == 0) & (counts_df['pwkstat_PT_hh'] == 1),\n",
+ " (counts_df['pwkstat_FT_hh'] == 1) & (counts_df['pwkstat_PT_hh'] == 0),\n",
+ " (counts_df['pwkstat_FT_hh'] == 0) & (counts_df['pwkstat_PT_hh'] == 2),\n",
+ " (counts_df['pwkstat_FT_hh'] == 1) & (counts_df['pwkstat_PT_hh'] == 1),\n",
+ " (counts_df['pwkstat_FT_hh'] == 2) & (counts_df['pwkstat_PT_hh'] == 0),\n",
+ " (counts_df['pwkstat_FT_hh'] == 1) & (counts_df['pwkstat_PT_hh'] >= 2),\n",
+ " (counts_df['pwkstat_FT_hh'] == 2) & (counts_df['pwkstat_PT_hh'] >= 1),\n",
+ " (counts_df['pwkstat_FT_hh'] == 0) & (counts_df['pwkstat_PT_hh'] >= 3),\n",
+ " (counts_df['pwkstat_FT_hh'] >= 3) & (counts_df['pwkstat_PT_hh'] == 0),\n",
+ " (counts_df['pwkstat_FT_hh'] >= 3) & (counts_df['pwkstat_PT_hh'] >= 1)\n",
+ "]\n",
+ "\n",
+ "# Define the corresponding outputs based on dict_nts['HHoldEmploy_B01ID]\n",
+ "outputs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n",
+ "\n",
+ "# Create a new column using np.select\n",
+ "counts_df['pwkstat_NTS_match'] = np.select(conditions,\n",
+ " outputs,\n",
+ " default= -8)\n",
+ "\n",
+ "\n",
+ "\n",
+ "# 2) merge back onto the spc\n",
+ "spc_edited = spc_edited.merge(counts_df, left_on='household', right_index=True)\n",
+ "\n",
+ "# check the output\n",
+ "spc_edited[['household', 'pwkstat', 'pwkstat_FT_hh', 'pwkstat_PT_hh', 'pwkstat_NTS_match']].head(10)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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UFCQNm7caO6z2+3atWuXbDabEzsDbi6s9cVjrb861vvisd5fG9b6kuOt+LgucXFxWrhwof71r3+patWq5r0ufn5+8vb2dnJ3zlW1atVC9x/6+PioRo0at/x9icOHD9cDDzygt956S08++aR2796tOXPmaM6cOc5uzekeffRRvfnmm6pTp47uuece7du3T1OmTFH//v2d3ZpTnD9/Xt9//735+NixY0pNTVX16tVVp04dDRs2TG+88YbuuusuhYWF6dVXX1VwcLD5aboAbhxrffFY66+O9b54rPf/w1pfRgzgOkgqcps3b56zW6uQHnroIePFF190dhsVwooVK4xGjRoZnp6eRoMGDYw5c+Y4u6UKwW63Gy+++KJRp04dw8vLy7jjjjuMV155xcjOznZ2a06xefPmIv8f069fP8MwDCM/P9949dVXjcDAQMPT09Po1KmTkZaW5tymgZsMa/31Ya13xHpfNNb7/2GtLxt8jz0AAAAAABbGPfYAAAAAAFgYwR4AAAAAAAsj2AMAAAAAYGEEewAAAAAALIxgDwAAAACAhRHsAQAAAACwMII9AAAAAAAWRrAHAAAAAMDCCPa4pTz77LPq3r27s9vALaxu3bp67733bmiOa/l73L59ew0bNqzY8XHjxqlp06Y31Mf1SkxMlL+/f7keE8Cth7UezsZa71+ux8TvCPYod88++6xcXFwKbV26dHF2a5ayZcsWubi46OzZs+U+x48//igXFxelpqaW+NilycXFRcuXLy+0n3/cAYBzsNaXDtb6/2GtB67O3dkN4NbUpUsXzZs3z2Gfp6enk7oBAACljbUeAMoPV+zhFJ6engoKCnLYqlWrZo67uLjoww8/1COPPKLKlSsrPDxcycnJ+v7779W+fXv5+PjogQce0NGjR83nFLzd6MMPP1RISIgqV66sJ598UllZWcX2kZ2draFDhyogIEBeXl5q27at9uzZI0kyDEP16tXTu+++6/Cc1NRUubi46Pvvvy9xr5L0r3/9S82bN5eXl5fuuOMOvf7667p8+bLDa/Dxxx+rR48eqly5su666y598cUXkn7/LXqHDh0kSdWqVZOLi4ueffbZIs/xP//5jx599FFVq1ZNPj4+uueee7R69eqrzrF27Vq1bdtW/v7+qlGjhh555BGH/sPCwiRJzZo1k4uLi9q3by+p6LeEde/e3aG3mTNn6q677pKXl5cCAwP1+OOPF/vzKW1X+3lLRb99bPny5XJxcTEf79+/Xx06dFDVqlXl6+urFi1aaO/eveb49u3b9eCDD8rb21shISEaOnSoLly44DDnb7/9pv79+6tq1aqqU6eO5syZ4zB+8OBBdezYUd7e3qpRo4YGDhyo8+fPF3teFy5cUN++fVWlShXVqlVLkydPLsnLo48//ljh4eHy8vJSgwYNNHPmTHPsgQce0KhRoxzqf/nlF1WqVEnbtm2T9Pvr+9JLL+n222+Xj4+PWrVqpS1btpSoFwDWx1rPWs9az1qP8kOwR4U1YcIE9e3bV6mpqWrQoIGeeeYZ/d///Z9Gjx6tvXv3yjAMDRkyxOE533//vZYsWaIVK1Zo7dq12rdvn/7yl78Ue4yRI0fqn//8p+bPn6+vv/5a9erVU2RkpE6fPi0XFxf179+/0NWGefPmqV27dqpXr16Je/3yyy/Vt29fvfjiizp8+LA+/PBDJSYm6s0333Q41uuvv64nn3xSBw4cULdu3RQTE6PTp08rJCRE//znPyVJaWlpOnnypKZNm1bkOcbFxSk7O1vbtm3TwYMH9fbbb6tKlSpXnePChQuKj4/X3r17tXHjRrm6uqpHjx7Kz8+XJO3evVuStGHDBp08eVKff/558T/IK+zdu1dDhw7V+PHjlZaWprVr16pdu3bX9NzScLWf97WKiYlR7dq1tWfPHqWkpOjll19WpUqVJElHjx5Vly5dFB0drQMHDmjx4sXavn17ob+nkydPVsuWLc2/n4MHD1ZaWpqk31/7yMhIVatWTXv27NHSpUu1YcOGQnNcacSIEdq6dav+9a9/af369dqyZYu+/vrr63ptFixYoLFjx+rNN9/Ut99+q7feekuvvvqq5s+fb573okWLZBiG+ZzFixcrODhYDz74oCRpyJAhSk5O1qJFi3TgwAE98cQT6tKli44cOXJdvQC4dbDWs9aXNtb64rHW3+QMoJz169fPcHNzM3x8fBy2N99806yRZIwZM8Z8nJycbEgy5s6da+77xz/+YXh5eZmPX3vtNcPNzc346aefzH1r1qwxXF1djZMnT5rHfuyxxwzDMIzz588blSpVMhYsWGDW5+TkGMHBwUZCQoJhGIbx888/G25ubsauXbvM8dtuu81ITEy8oV47depkvPXWWw6vy9///nejVq1axc57/vx5Q5KxZs0awzAMY/PmzYYk48yZM4Vf5Cs0btzYGDduXJFj1zrHL7/8YkgyDh48aBiGYRw7dsyQZOzbt8+h7qGHHjJefPFFh32PPfaY0a9fP8MwDOOf//yn4evra9jt9qse73pJMry8vAr9nXJ3d7+un/e8efMMPz8/h7mXLVtmXPm/yqpVqzr8/K8UGxtrDBw40GHfl19+abi6uhoXL140DMMwQkNDjd69e5vj+fn5RkBAgDFr1izDMAxjzpw5RrVq1Yzz58+bNatWrTJcXV2NjIwMwzAc/x6fO3fO8PDwMJYsWWLW//e//zW8vb0L/Syu9Nprrxn33nuv+fjOO+80Fi5c6FAzYcIEw2azGYZhGKdOnTLc3d2Nbdu2meM2m80YNWqUYRiG8Z///Mdwc3Mzfv75Z4c5OnXqZIwePdowjKJfXwA3J9Z61nrWetZ6lC/usYdTdOjQQbNmzXLYV716dYfHTZo0Mf8cGBgoSWrcuLHDvkuXLslut8vX11eSVKdOHd1+++1mjc1mU35+vtLS0hQUFOQw/9GjR5Wbm6s2bdqY+ypVqqT7779f3377rSQpODhYUVFR+uSTT3T//fdrxYoVys7O1hNPPHFDve7fv19fffWVw2/t8/LydOnSJf3222+qXLlyoXl9fHzk6+urU6dO6XoMHTpUgwcP1vr16xUREaHo6GiHeYty5MgRjR07Vrt27dKvv/5q/vY+PT1djRo1uq7jX+nhhx9WaGio7rjjDnXp0kVdunQx335YlCpVqph/7t27t2bPnl3s3FOnTlVERITDvlGjRikvL0/Stf28r0V8fLwGDBigv//974qIiNATTzyhO++8U9Lvb907cOCAFixYYNYbhqH8/HwdO3ZM4eHhkhx/ri4uLgoKCjJ/rt9++63uvfde+fj4mDVt2rQx/x4X/P0qcPToUeXk5KhVq1bmvurVq6t+/frXfE4XLlzQ0aNHFRsbq+eff97cf/nyZfn5+UmSatasqc6dO2vBggV68MEHdezYMSUnJ+vDDz+U9PtbCvPy8nT33Xc7zJ2dna0aNWpccy8Abh6s9az1rPW/Y61HeSDYwyl8fHwc3t5WlIK3PEky73sqal/BQlRWBgwYoD59+mjq1KmaN2+ennrqqUKL0/X2ev78eb3++uvq2bNnoeN5eXkVOW/BPNd7vgMGDFBkZKRWrVql9evXa+LEiZo8ebJeeOGFYp/z6KOPKjQ0VB999JGCg4OVn5+vRo0aKScn56rHcnV1dXj7liTl5uaaf65ataq+/vprbdmyRevXr9fYsWM1btw47dmzp8ivRrnyk3gL/kFXnKCgoEJ/p6pWrXpdnwL8Z/1Lv9/f+cwzz2jVqlVas2aNXnvtNS1atEg9evTQ+fPn9X//938aOnRoobnr1Klj/rk0fq6lqeCevo8++sjhHw2S5ObmZv45JiZGQ4cO1fvvv6+FCxeqcePG5j9qz58/Lzc3N6WkpDg8R3L8RxuAWwdrPWs9a/3/sNajrHGPPW4q6enpOnHihPl4586dcnV1LfI3mnfeeac8PDz01Vdfmftyc3O1Z88eNWzY0NzXrVs3+fj4aNasWVq7dq369+9/w302b95caWlpqlevXqHN1fXa/rP08PCQJPO31FcTEhKiQYMG6fPPP9df//pXffTRR8XO8d///ldpaWkaM2aMOnXqpPDwcJ05c+aajl2zZk2dPHnSfJyXl6dvvvnGocbd3V0RERFKSEjQgQMH9OOPP2rTpk1F9n3l6xIQEPCn53k11/Lzrlmzps6dO+fwAThFfc3P3XffreHDh2v9+vXq2bOneW9m8+bNdfjw4SJ/rgWv2Z8JDw/X/v37HXr46quvrvr3uFKlStq1a5e578yZM/ruu++u6XjS71eZgoOD9cMPPxTqu+DDkyTpscce06VLl7R27VotXLhQMTEx5lizZs2Ul5enU6dOFZrjj1fQAOBGsNYXjbWetf5qWOtvflyxh1NkZ2crIyPDYZ+7u7tuu+22G5rXy8tL/fr107vvviu73a6hQ4fqySefLPJ/Nj4+Pho8eLBGjBih6tWrq06dOkpISNBvv/2m2NhYs87NzU3PPvusRo8erbvuuks2m+2GepSksWPH6pFHHlGdOnX0+OOPy9XVVfv379c333yjN95445rmCA0NlYuLi1auXKlu3brJ29u7yN+WDhs2TF27dtXdd9+tM2fOaPPmzebbxIqao1q1aqpRo4bmzJmjWrVqKT09XS+//LLDnAEBAfL29tbatWtVu3ZteXl5yc/PTx07dlR8fLxWrVqlO++8U1OmTHH4LfrKlSv1ww8/qF27dqpWrZpWr16t/Pz863orWUldy8+7VatWqly5sv72t79p6NCh2rVrlxITE805Ll68qBEjRujxxx9XWFiYfvrpJ+3Zs0fR0dGSfn87YOvWrTVkyBANGDBAPj4+Onz4sJKSkvTBBx9cU58xMTF67bXX1K9fP40bN06//PKLXnjhBfXp06fQW/Ok339DHhsbqxEjRqhGjRoKCAjQK6+8cs3/aCzw+uuva+jQofLz81OXLl2UnZ2tvXv36syZM4qPjzdfw+7du+vVV1/Vt99+q6efftp8/t13362YmBj17dtXkydPVrNmzfTLL79o48aNatKkiaKioq6rHwDWx1rPWs9aXzTWepQJZ97gj1tTv379DEmFtvr165s1koxly5aZj4v6AJc/fhhMwQeEzJw50wgODja8vLyMxx9/3Dh9+rTDsQs+iMQwDOPixYvGCy+8YNx2222Gp6en0aZNG2P37t2Fej569KghyfzglSuVpFfDMIy1a9caDzzwgOHt7W34+voa999/vzFnzpxi5zUMw/Dz8zPmzZtnPh4/frwRFBRkuLi4mB9a80dDhgwx7rzzTsPT09OoWbOm0adPH+PXX3+96hxJSUlGeHi44enpaTRp0sTYsmVLoX4++ugjIyQkxHB1dTUeeughwzB+/4CawYMHG9WrVzcCAgKMiRMnOnygzpdffmk89NBDRrVq1Qxvb2+jSZMmxuLFi4vs+3oU9VoZRsl+3suWLTPq1atneHt7G4888ogxZ84c8wN1srOzjV69ehkhISGGh4eHERwcbAwZMsT8sBzDMIzdu3cbDz/8sFGlShXDx8fHaNKkicOHRYWGhhpTp051OOa9995rvPbaa+bjAwcOGB06dDC8vLyM6tWrG88//7xx7ty5Ys/r3LlzRu/evY3KlSsbgYGBRkJCQpEfbnSlP36gjmEYxoIFC4ymTZsaHh4eRrVq1Yx27doZn3/+uUPN6tWrDUlGu3btCs2Zk5NjjB071qhbt65RqVIlo1atWkaPHj2MAwcOGIbBB+oAtxLW+t+x1rPWF2CtR1lzMYw/3GQCWNS4ceO0fPnyIt9OdaO+/PJLderUScePHy/yN6kAAKDssdYDQNF4Kz5wFdnZ2frll180btw4PfHEEyz0AADcZFjrAdwM+PA84Cr+8Y9/KDQ0VGfPnlVCQoKz2wEAAKWMtR7AzYC34gMAAAAAYGFcsQcAAAAAwMII9gAAAAAAWBjBHgAAAAAACyPYAwAAAABgYQR7AAAAAAAsjGAPAAAAAICFEewBAAAAALAwgj0AAAAAABb2/wOaCdjydW6wFQAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/IAAAIjCAYAAACgdyAGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABea0lEQVR4nO3de1wVdf7H8fcB5SIJosjNUBS8pohJ8tNKbSWh3NZLmZaGkmubZWqUJpWga4W6alRrku567aK1mdumkUlSWuQ1s4uZmqamIJqKYKLB/P5wPXUWUI6ew2H09Xw85hFn5jvf+cyAfXkzN4thGIYAAAAAAIApuLm6AAAAAAAAUHUEeQAAAAAATIQgDwAAAACAiRDkAQAAAAAwEYI8AAAAAAAmQpAHAAAAAMBECPIAAAAAAJgIQR4AAAAAABMhyAMAAAAAYCIEeQAAAAAATIQgD6BKvvrqK911111q0qSJvLy81KhRI91666166aWXrG3Cw8NlsVisU2BgoG6++Wa98847Ffb5zjvv6LbbblNAQIA8PDwUGhqqu+++Wx999FF17RYAAPivBQsWyGKxyMvLSz/99FO55d27d1fbtm01ceJEm/G+sql79+7Wdf/zn/+oW7duCgwMVJ06ddSsWTPdfffdysrKqsY9BK4ctVxdAICa77PPPtMtt9yixo0ba/jw4QoODtb+/fv1+eef64UXXtAjjzxibRsdHa3HHntMknTw4EG98sor6tevn2bPnq0HH3xQkmQYhu6//34tWLBAHTp0UHJysoKDg3Xo0CG988476tGjhz799FN16dLFJfsLAMDVrKSkRFOmTLH5Y/3v9evXT5GRkdbPRUVFGjFihPr27at+/fpZ5wcFBUmSpk+frrFjx6pbt25KSUlRnTp1tGvXLq1evVpLlixRQkKCc3cIuAJZDMMwXF0EgJqtV69e2rhxo77//nvVq1fPZtnhw4cVGBgo6dwZ+bZt2+q9996zLs/Ly1NkZKQaNWqkHTt2SPptQB8zZoxmzpwpi8Vi0+fixYvVsmVLderUybk7BgAArBYsWKCkpCRFR0dr+/bt+uGHHxQaGmpd3r17dx05ckRff/21zXpHjhxRw4YNlZaWpokTJ9os+/XXX9WgQQPFxsZq1apV5bb5+98jAFQdl9YDuKjdu3fruuuuKxfiJV108A0ODlbr1q21Z88eSdIvv/yi9PR0tWrVStOnTy8X4iXpvvvuI8QDAOAiTz75pEpLSzVlypTL7uvIkSMqLCzUjTfeWOFyQjxwaQjyAC6qSZMm2rx5c7m/wFfF2bNntX//fjVo0ECStG7dOv3888+699575e7u7uhSAQDAZWratKkSExM1d+5cHTx48LL6CgwMlLe3t/7zn//o559/dlCFAAjyAC7q8ccf16lTpxQdHa0uXbroiSee0KpVq3T27Nlybc+ePasjR47oyJEj2rZtmxITE5Wfn6/+/ftLkrZv3y5JateuXbXuAwAAqLqnnnpKv/76q6ZOnXpZ/bi5uWns2LHavHmzGjdurNtvv13PPfectmzZ4qBKgasTQR7ARd16663Kzc3Vn/70J3355ZeaNm2a4uPj1ahRI7377rs2bVetWqWGDRuqYcOGat++vd566y3dd9991l8ECgsLJUl169at9v0AAABV06xZM913332aM2eODh06dFl9TZo0Sa+//ro6dOigDz74QE899ZQ6duyo66+/3voHfgD2IcgDqJIbbrhBy5Yt07Fjx7RhwwalpKTo5MmTuuuuu/Ttt99a28XGxurDDz/U6tWr9dlnn+nIkSNatGiRvL29JUm+vr6SpJMnT7pkPwAAQNU8/fTT+vXXXx1yr/w999yjtWvX6tixY1q1apXuvfdeffHFF7rjjjt0+vRpB1QLXF0I8gDs4uHhoRtuuEHPPfecZs+erbNnz+qtt96yLg8ICFBcXJx69Oihzp07l3tAXqtWrSSdey89AACouZo1a6bBgwc75Kz8eb6+vrr11lv12muvaciQIdq9e7fWr1/vkL6BqwlBHsAli4mJkSS7BvebbrpJ/v7+euONN1RaWuqs0gAAgAOcPyt/uffKV+RSfo8AcA5BHsBFrVmzRoZhlJu/cuVKSVLLli2r3FedOnX0xBNPaPv27XriiScq7PfVV1/Vhg0bLr1gAADgEBERERo8eLBeeeUV5eXl2b3+qVOnlJubW+Gy999/X5J9v0cAOKeWqwsAUPM98sgjOnXqlPr27atWrVrpzJkz+uyzz7R06VKFh4crKSnJrv7Gjh2rb775RjNmzNCaNWt01113KTg4WHl5eVq+fLk2bNigzz77zEl7AwAA7PHUU09p8eLF2rFjh6677jq71j116pS6dOmi//u//1NCQoLCwsJ0/PhxLV++XGvXrlWf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KEh33XVXpd8fR7vQ91uq+HKw5cuXy2KxWD9/+eWXuuWWW1S3bl35+vqqY8eO2rRpk3X5unXrdPPNN8vb21thYWEaNWqUiouLbfo8deqU7r//ftWtW1eNGzfWnDlzbJZ/9dVX+sMf/iBvb281aNBADzzwgIqKiirdr+LiYiUmJuqaa65RSEiIZsyYcSmHR//4xz/UunVreXl5qVWrVnr55Zety7p06aInnnjCpn1BQYFq166tTz75RNK54/v444+rUaNG8vHxUWxsrHJyci6pFgDmx1jPWM9Yz1iP6kOQR40xefJkJSYmauvWrWrVqpXuvfde/eUvf1FKSoo2bdokwzA0cuRIm3V27dqlN998U//5z3+UlZWlL774Qg899FCl2xg3bpzefvttLVy4UFu2bFFkZKTi4+P1888/y2Kx6P777y93NmH+/Pnq2rWrIiMjL7nWtWvXKjExUaNHj9a3336rV155RQsWLNCzzz5rs61Jkybp7rvv1rZt23T77bdr0KBB+vnnnxUWFqa3335bkrRjxw4dOnRIL7zwQoX7+PDDD6ukpESffPKJvvrqK02dOlXXXHPNBfsoLi5WcnKyNm3apOzsbLm5ualv374qKyuTJG3YsEGStHr1ah06dEjLli2r/Bv5O5s2bdKoUaP017/+VTt27FBWVpa6du1apXUd4ULf76oaNGiQrr32Wm3cuFGbN2/W+PHjVbt2bUnS7t27lZCQoDvvvFPbtm3T0qVLtW7dunI/pzNmzFBMTIz153PEiBHasWOHpHPHPj4+Xv7+/tq4caPeeustrV69ulwfvzd27Fh9/PHH+ve//61Vq1YpJydHW7ZssevYvPbaa0pNTdWzzz6r7du367nnntOECRO0cOFC634vWbJEhmFY11m6dKlCQ0N18803S5JGjhyp3NxcLVmyRNu2bVP//v2VkJCgnTt32lULgKsHYz1jvaMx1leOsf4KZwBONmTIEMPd3d3w8fGxmZ599llrG0nG008/bf2cm5trSDL++c9/Wue98cYbhpeXl/VzWlqa4e7ubhw4cMA67/333zfc3NyMQ4cOWbfdu3dvwzAMo6ioyKhdu7bx2muvWdufOXPGCA0NNaZNm2YYhmH89NNPhru7u7F+/Xrr8oCAAGPBggWXVWuPHj2M5557zua4LF682AgJCam036KiIkOS8f777xuGYRhr1qwxJBnHjh0rf5B/p127dsbEiRMrXFbVPgoKCgxJxldffWUYhmHs2bPHkGR88cUXNu26detmjB492mZe7969jSFDhhiGYRhvv/224evraxQWFl5we/aSZHh5eZX7mapVq5Zd3+/58+cbfn5+Nn2/8847xu//11i3bl2b7//vDRs2zHjggQds5q1du9Zwc3MzfvnlF8MwDKNJkybG4MGDrcvLysqMwMBAY/bs2YZhGMacOXMMf39/o6ioyNpmxYoVhpubm5GXl2cYhu3P8cmTJw0PDw/jzTfftLY/evSo4e3tXe578XtpaWlG+/btrZ8jIiKM119/3abN5MmTjc6dOxuGYRiHDx82atWqZXzyySfW5Z07dzaeeOIJwzAM48cffzTc3d2Nn376yaaPHj16GCkpKYZhVHx8AVyZGOsZ6xnrGetRvbhHHtXilltu0ezZs23m1a9f3+ZzVFSU9eugoCBJUrt27WzmnT59WoWFhfL19ZUkNW7cWI0aNbK26dy5s8rKyrRjxw4FBwfb9L97926dPXtWN954o3Ve7dq11alTJ23fvl2SFBoaql69emnevHnq1KmT/vOf/6ikpET9+/e/rFq//PJLffrppzZ/lS8tLdXp06d16tQp1alTp1y/Pj4+8vX11eHDh2WPUaNGacSIEVq1apXi4uJ055132vRbkZ07dyo1NVXr16/XkSNHrH+d37dvn9q2bWvX9n/v1ltvVZMmTdSsWTMlJCQoISHBejlhRa655hrr14MHD1ZmZmalfT///POKi4uzmffEE0+otLRUUtW+31WRnJysP//5z1q8eLHi4uLUv39/RURESDp3Kd62bdv02muvWdsbhqGysjLt2bNHrVu3lmT7fbVYLAoODrZ+X7dv36727dvLx8fH2ubGG2+0/hyf//k6b/fu3Tpz5oxiY2Ot8+rXr6+WLVtWeZ+Ki4u1e/duDRs2TMOHD7fO//XXX+Xn5ydJatiwoXr27KnXXntNN998s/bs2aPc3Fy98sorks5dIlhaWqoWLVrY9F1SUqIGDRpUuRYAVw7GesZ6xvpzGOtRHQjyqBY+Pj42l6tV5PwlTJKs9y1VNO/8wOMsf/7zn3Xffffp+eef1/z58zVgwIByg5G9tRYVFWnSpEnq169fue15eXlV2O/5fuzd3z//+c+Kj4/XihUrtGrVKqWnp2vGjBl65JFHKl3njjvuUJMmTTR37lyFhoaqrKxMbdu21ZkzZy64LTc3N5vLsSTp7Nmz1q/r1q2rLVu2KCcnR6tWrVJqaqomTpyojRs3Vviqkt8/Kff8L3CVCQ4OLvczVbduXbue0nux+qVz92fee++9WrFihd5//32lpaVpyZIl6tu3r4qKivSXv/xFo0aNKtd348aNrV874vvqSOfvyZs7d67NLwmS5O7ubv160KBBGjVqlF566SW9/vrrateunfWX2KKiIrm7u2vz5s0260i2v6QBuHow1jPWM9b/hrEezsY98jC1ffv26eDBg9bPn3/+udzc3Cr8i2VERIQ8PDz06aefWuedPXtWGzduVJs2bazzbr/9dvn4+Gj27NnKysrS/ffff9l1Xn/99dqxY4ciIyPLTW5uVftn6OHhIUnWv0JfSFhYmB588EEtW7ZMjz32mObOnVtpH0ePHtWOHTv09NNPq0ePHmrdurWOHTtWpW03bNhQhw4dsn4uLS3V119/bdOmVq1aiouL07Rp07Rt2zbt3btXH330UYV1//64BAYGXnQ/L6Qq3++GDRvq5MmTNg+sqei1Oy1atNCjjz6qVatWqV+/ftZ7K6+//np9++23FX5fzx+zi2ndurW+/PJLmxo+/fTTC/4c165dW+vXr7fOO3bsmL7//vsqbU86dxYpNDRUP/zwQ7m6zz/sSJJ69+6t06dPKysrS6+//roGDRpkXdahQweVlpbq8OHD5fr43zNkAHA5GOsrxljPWH8hjPVXPs7Io1qUlJQoLy/PZl6tWrUUEBBwWf16eXlpyJAhmj59ugoLCzVq1CjdfffdFf7PxcfHRyNGjNDYsWNVv359NW7cWNOmTdOpU6c0bNgwazt3d3cNHTpUKSkpat68uTp37nxZNUpSamqq/vjHP6px48a666675Obmpi+//FJff/21nnnmmSr10aRJE1ksFr333nu6/fbb5e3tXeFfQ8eMGaPbbrtNLVq00LFjx7RmzRrrZV8V9eHv768GDRpozpw5CgkJ0b59+zR+/HibPgMDA+Xt7a2srCxde+218vLykp+fn/7whz8oOTlZK1asUEREhGbOnGnzV/L33ntPP/zwg7p27Sp/f3+tXLlSZWVldl0adqmq8v2OjY1VnTp19OSTT2rUqFFav369FixYYO3jl19+0dixY3XXXXepadOmOnDggDZu3Kg777xT0rnL+/7v//5PI0eO1J///Gf5+Pjo22+/1Ycffqi///3vVapz0KBBSktL05AhQzRx4kQVFBTokUce0X333VfuUjvp3F/Ahw0bprFjx6pBgwYKDAzUU089VeVfEs+bNGmSRo0aJT8/PyUkJKikpESbNm3SsWPHlJycbD2Gffr00YQJE7R9+3bdc8891vVbtGihQYMGKTExUTNmzFCHDh1UUFCg7OxsRUVFqVevXnbVA8D8GOsZ6xnrK8ZYD6dw5Q36uDoMGTLEkFRuatmypbWNJOOdd96xfq7ogSv/+/CW8w/0ePnll43Q0FDDy8vLuOuuu4yff/7ZZtvnHxxiGIbxyy+/GI888ogREBBgeHp6GjfeeKOxYcOGcjXv3r3bkGR9UMrvXUqthmEYWVlZRpcuXQxvb2/D19fX6NSpkzFnzpxK+zUMw/Dz8zPmz59v/fzXv/7VCA4ONiwWi/UhM/9r5MiRRkREhOHp6Wk0bNjQuO+++4wjR45csI8PP/zQaN26teHp6WlERUUZOTk55eqZO3euERYWZri5uRndunUzDOPcA2VGjBhh1K9f3wgMDDTS09NtHoCzdu1ao1u3boa/v7/h7e1tREVFGUuXLq2wbntUdKwM49K+3++8844RGRlpeHt7G3/84x+NOXPmWB+AU1JSYgwcONAICwszPDw8jNDQUGPkyJHWh9sYhmFs2LDBuPXWW41rrrnG8PHxMaKiomwe7tSkSRPj+eeft9lm+/btjbS0NOvnbdu2Gbfccovh5eVl1K9f3xg+fLhx8uTJSvfr5MmTxuDBg406deoYQUFBxrRp0yp8GNHv/e8DcAzDMF577TUjOjra8PDwMPz9/Y2uXbsay5Yts2mzcuVKQ5LRtWvXcn2eOXPGSE1NNcLDw43atWsbISEhRt++fY1t27YZhsEDcICrCWP9OYz1jPXnMdbD2SyG8T83jQAmMXHiRC1fvrzCy6Mu19q1a9WjRw/t37+/wr+UAgAA52OsB4CKcWk98DslJSUqKCjQxIkT1b9/fwZ2AACuMIz1AK4EPOwO+J033nhDTZo00fHjxzVt2jRXlwMAAByMsR7AlYBL6wEAAAAAMBHOyAMAAAAAYCIEeQAAAAAATIQgDwAAAACAiRDkAQAAAAAwEYI8AAAAAAAmQpAHAAAAAMBECPIAAAAAAJgIQR4AAAAAABP5f+Aiu+lr0+ytAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# bar plot of counts_df['pwkstat_NTS_match'] and nts_households['HHoldEmploy_B01ID']\n",
+ "fig, ax = plt.subplots(1, 2, figsize=(12, 6))\n",
+ "ax[0].bar(counts_df['pwkstat_NTS_match'].value_counts().index, counts_df['pwkstat_NTS_match'].value_counts().values)\n",
+ "ax[0].set_title('SPC')\n",
+ "ax[0].set_xlabel('Employment status - Household level')\n",
+ "ax[0].set_ylabel('Frequency')\n",
+ "ax[1].bar(nts_households['HHoldEmploy_B01ID'].value_counts().index, nts_households['HHoldEmploy_B01ID'].value_counts().values)\n",
+ "ax[1].set_title('NTS')\n",
+ "ax[1].set_xlabel('Employment status - Household level')\n",
+ "plt.show()\n",
+ "\n",
+ "# same as above but percentages\n",
+ "fig, ax = plt.subplots(1, 2, figsize=(12, 6))\n",
+ "ax[0].bar(counts_df['pwkstat_NTS_match'].value_counts().index, counts_df['pwkstat_NTS_match'].value_counts(normalize=True).values)\n",
+ "ax[0].set_title('SPC')\n",
+ "ax[0].set_xlabel('Employment status - Household level')\n",
+ "ax[0].set_ylabel('Frequency (normalized)')\n",
+ "ax[1].bar(nts_households['HHoldEmploy_B01ID'].value_counts().index, nts_households['HHoldEmploy_B01ID'].value_counts(normalize=True).values)\n",
+ "ax[1].set_title('NTS')\n",
+ "ax[1].set_xlabel('Employment status - Household level')\n",
+ "plt.show()\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Urban Rural Classification\n",
+ "\n",
+ "We use the 2011 rural urban classification to match the SPC to the NTS. The NTS has 2 columns that we can use to match to the SPC: `Settlement2011EW_B03ID` and `Settlement2011EW_B04ID`. The `Settlement2011EW_B03ID` column is more general (urban / rural only), while the `Settlement2011EW_B04ID` column is more specific. We stick to the more general column for now."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " id | \n",
+ " household | \n",
+ " location | \n",
+ " pid_hs | \n",
+ " msoa | \n",
+ " oa | \n",
+ " members | \n",
+ " sic1d2007 | \n",
+ " sic2d2007 | \n",
+ " pwkstat | \n",
+ " salary_yearly | \n",
+ " salary_hourly | \n",
+ " hid | \n",
+ " accommodation_type | \n",
+ " communal_type | \n",
+ " num_rooms | \n",
+ " central_heat | \n",
+ " tenure | \n",
+ " num_cars | \n",
+ " sex | \n",
+ " age_years | \n",
+ " ethnicity | \n",
+ " nssec8 | \n",
+ " salary_yearly_hh | \n",
+ " salary_yearly_hh_cat | \n",
+ " is_adult | \n",
+ " num_adults | \n",
+ " is_child | \n",
+ " num_children | \n",
+ " is_pension_age | \n",
+ " num_pension_age | \n",
+ " pwkstat_FT_hh | \n",
+ " pwkstat_PT_hh | \n",
+ " pwkstat_NTS_match | \n",
+ " OA11CD | \n",
+ " RUC11 | \n",
+ " RUC11CD | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " {'x': -1.7892179489135742, 'y': 53.91915130615... | \n",
+ " 2905399 | \n",
+ " E02002183 | \n",
+ " E00053954 | \n",
+ " [0] | \n",
+ " J | \n",
+ " 58.0 | \n",
+ " 6 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " E02002183_0001 | \n",
+ " 1.0 | \n",
+ " NaN | \n",
+ " 2.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 86 | \n",
+ " 1 | \n",
+ " 1.0 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " E00053954 | \n",
+ " Urban city and town | \n",
+ " C1 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " {'x': -1.8262380361557007, 'y': 53.92028045654... | \n",
+ " 2905308 | \n",
+ " E02002183 | \n",
+ " E00053953 | \n",
+ " [1, 2] | \n",
+ " C | \n",
+ " 25.0 | \n",
+ " 6 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " E02002183_0002 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 74 | \n",
+ " 3 | \n",
+ " 1.0 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " E00053953 | \n",
+ " Urban city and town | \n",
+ " C1 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " {'x': -1.8262380361557007, 'y': 53.92028045654... | \n",
+ " 2907681 | \n",
+ " E02002183 | \n",
+ " E00053953 | \n",
+ " [1, 2] | \n",
+ " P | \n",
+ " 85.0 | \n",
+ " 6 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " E02002183_0002 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 68 | \n",
+ " 1 | \n",
+ " 2.0 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " E00053953 | \n",
+ " Urban city and town | \n",
+ " C1 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " {'x': -1.8749940395355225, 'y': 53.94298934936... | \n",
+ " 2902817 | \n",
+ " E02002183 | \n",
+ " E00053689 | \n",
+ " [3, 4] | \n",
+ " C | \n",
+ " 31.0 | \n",
+ " 1 | \n",
+ " 32857.859375 | \n",
+ " 14.360952 | \n",
+ " E02002183_0003 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 27 | \n",
+ " 1 | \n",
+ " 4.0 | \n",
+ " 51020.310547 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ " E00053689 | \n",
+ " Rural town and fringe | \n",
+ " D1 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " {'x': -1.8749940395355225, 'y': 53.94298934936... | \n",
+ " 2900884 | \n",
+ " E02002183 | \n",
+ " E00053689 | \n",
+ " [3, 4] | \n",
+ " J | \n",
+ " 62.0 | \n",
+ " 1 | \n",
+ " 18162.451172 | \n",
+ " 9.439944 | \n",
+ " E02002183_0003 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 26 | \n",
+ " 1 | \n",
+ " 6.0 | \n",
+ " 51020.310547 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ " E00053689 | \n",
+ " Rural town and fringe | \n",
+ " D1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id household location pid_hs \\\n",
+ "0 0 0 {'x': -1.7892179489135742, 'y': 53.91915130615... 2905399 \n",
+ "1 1 1 {'x': -1.8262380361557007, 'y': 53.92028045654... 2905308 \n",
+ "2 2 1 {'x': -1.8262380361557007, 'y': 53.92028045654... 2907681 \n",
+ "3 3 2 {'x': -1.8749940395355225, 'y': 53.94298934936... 2902817 \n",
+ "4 4 2 {'x': -1.8749940395355225, 'y': 53.94298934936... 2900884 \n",
+ "\n",
+ " msoa oa members sic1d2007 sic2d2007 pwkstat salary_yearly \\\n",
+ "0 E02002183 E00053954 [0] J 58.0 6 NaN \n",
+ "1 E02002183 E00053953 [1, 2] C 25.0 6 NaN \n",
+ "2 E02002183 E00053953 [1, 2] P 85.0 6 NaN \n",
+ "3 E02002183 E00053689 [3, 4] C 31.0 1 32857.859375 \n",
+ "4 E02002183 E00053689 [3, 4] J 62.0 1 18162.451172 \n",
+ "\n",
+ " salary_hourly hid accommodation_type communal_type \\\n",
+ "0 NaN E02002183_0001 1.0 NaN \n",
+ "1 NaN E02002183_0002 3.0 NaN \n",
+ "2 NaN E02002183_0002 3.0 NaN \n",
+ "3 14.360952 E02002183_0003 3.0 NaN \n",
+ "4 9.439944 E02002183_0003 3.0 NaN \n",
+ "\n",
+ " num_rooms central_heat tenure num_cars sex age_years ethnicity \\\n",
+ "0 2.0 True 2.0 2 1 86 1 \n",
+ "1 6.0 True 2.0 2 1 74 3 \n",
+ "2 6.0 True 2.0 2 2 68 1 \n",
+ "3 6.0 True 2.0 1 1 27 1 \n",
+ "4 6.0 True 2.0 1 2 26 1 \n",
+ "\n",
+ " nssec8 salary_yearly_hh salary_yearly_hh_cat is_adult num_adults \\\n",
+ "0 1.0 0.000000 1 1 1 \n",
+ "1 1.0 0.000000 1 1 2 \n",
+ "2 2.0 0.000000 1 1 2 \n",
+ "3 4.0 51020.310547 3 1 2 \n",
+ "4 6.0 51020.310547 3 1 2 \n",
+ "\n",
+ " is_child num_children is_pension_age num_pension_age pwkstat_FT_hh \\\n",
+ "0 0 0 1 1 0 \n",
+ "1 0 0 1 2 0 \n",
+ "2 0 0 1 2 0 \n",
+ "3 0 0 0 0 2 \n",
+ "4 0 0 0 0 2 \n",
+ "\n",
+ " pwkstat_PT_hh pwkstat_NTS_match OA11CD RUC11 RUC11CD \n",
+ "0 0 1 E00053954 Urban city and town C1 \n",
+ "1 0 1 E00053953 Urban city and town C1 \n",
+ "2 0 1 E00053953 Urban city and town C1 \n",
+ "3 0 6 E00053689 Rural town and fringe D1 \n",
+ "4 0 6 E00053689 Rural town and fringe D1 "
+ ]
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# read the rural urban classification data\n",
+ "rural_urban = pd.read_csv('../data/external/census_2011_rural_urban.csv', sep=',')\n",
+ "\n",
+ "# merge the rural_urban data with the spc\n",
+ "spc_edited = spc_edited.merge(rural_urban[['OA11CD', 'RUC11', 'RUC11CD']], left_on='oa', right_on='OA11CD')\n",
+ "spc_edited.head(5)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# create dictionary from the NTS `Settlement2011EW_B03ID` column\n",
+ "Settlement2011EW_B03ID_nts_hh = {\n",
+ " '1': 'Urban',\n",
+ " '2': 'Rural',\n",
+ " '3': 'Scotland',\n",
+ " '-8': 'NA',\n",
+ " '-10': 'DEAD'\n",
+ "}\n",
+ "\n",
+ "Settlement2011EW_B04ID_nts_hh = {\n",
+ " '1': 'Urban Conurbation',\n",
+ " '2': 'Urban City and Town',\n",
+ " '3': 'Rural Town and Fringe',\n",
+ " '4': 'Rural Village, Hamlet and Isolated Dwellings',\n",
+ " '5': 'Scotland',\n",
+ " '-8': 'NA',\n",
+ " '-10': 'DEAD'\n",
+ "}\n",
+ "\n",
+ "\n",
+ "census_2011_to_nts_B03ID = {\n",
+ " 'Urban major conurbation': 'Urban',\n",
+ " 'Urban minor conurbation': 'Urban',\n",
+ " 'Urban city and town': 'Urban',\n",
+ " 'Urban city and town in a sparse setting': 'Urban',\n",
+ " 'Rural town and fringe': 'Rural',\n",
+ " 'Rural town and fringe in a sparse setting': 'Rural',\n",
+ " 'Rural village': 'Rural',\n",
+ " 'Rural village in a sparse setting': 'Rural',\n",
+ " 'Rural hamlets and isolated dwellings': 'Rural',\n",
+ " 'Rural hamlets and isolated dwellings in a sparse setting': 'Rural'\n",
+ "}\n",
+ "\n",
+ "census_2011_to_nts_B04ID = {\n",
+ " 'Urban major conurbation': 'Urban Conurbation',\n",
+ " 'Urban minor conurbation': 'Urban Conurbation',\n",
+ " 'Urban city and town': 'Urban City and Town',\n",
+ " 'Urban city and town in a sparse setting': 'Urban City and Town',\n",
+ " 'Rural town and fringe': 'Rural Town and Fringe',\n",
+ " 'Rural town and fringe in a sparse setting': 'Rural Town and Fringe',\n",
+ " 'Rural village': 'Rural Village, Hamlet and Isolated Dwellings',\n",
+ " 'Rural village in a sparse setting': 'Rural Village, Hamlet and Isolated Dwellings',\n",
+ " 'Rural hamlets and isolated dwellings': 'Rural Village, Hamlet and Isolated Dwellings',\n",
+ " 'Rural hamlets and isolated dwellings in a sparse setting': 'Rural Village, Hamlet and Isolated Dwellings'\n",
+ "}\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " id | \n",
+ " household | \n",
+ " location | \n",
+ " pid_hs | \n",
+ " msoa | \n",
+ " oa | \n",
+ " members | \n",
+ " sic1d2007 | \n",
+ " sic2d2007 | \n",
+ " pwkstat | \n",
+ " salary_yearly | \n",
+ " salary_hourly | \n",
+ " hid | \n",
+ " accommodation_type | \n",
+ " communal_type | \n",
+ " num_rooms | \n",
+ " central_heat | \n",
+ " tenure | \n",
+ " num_cars | \n",
+ " sex | \n",
+ " age_years | \n",
+ " ethnicity | \n",
+ " nssec8 | \n",
+ " salary_yearly_hh | \n",
+ " salary_yearly_hh_cat | \n",
+ " is_adult | \n",
+ " num_adults | \n",
+ " is_child | \n",
+ " num_children | \n",
+ " is_pension_age | \n",
+ " num_pension_age | \n",
+ " pwkstat_FT_hh | \n",
+ " pwkstat_PT_hh | \n",
+ " pwkstat_NTS_match | \n",
+ " OA11CD | \n",
+ " RUC11 | \n",
+ " RUC11CD | \n",
+ " Settlement2011EW_B03ID_spc | \n",
+ " Settlement2011EW_B04ID_spc | \n",
+ " Settlement2011EW_B03ID_spc_CD | \n",
+ " Settlement2011EW_B04ID_spc_CD | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " {'x': -1.7892179489135742, 'y': 53.91915130615... | \n",
+ " 2905399 | \n",
+ " E02002183 | \n",
+ " E00053954 | \n",
+ " [0] | \n",
+ " J | \n",
+ " 58.0 | \n",
+ " 6 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " E02002183_0001 | \n",
+ " 1.0 | \n",
+ " NaN | \n",
+ " 2.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 86 | \n",
+ " 1 | \n",
+ " 1.0 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " E00053954 | \n",
+ " Urban city and town | \n",
+ " C1 | \n",
+ " Urban | \n",
+ " Urban City and Town | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " {'x': -1.8262380361557007, 'y': 53.92028045654... | \n",
+ " 2905308 | \n",
+ " E02002183 | \n",
+ " E00053953 | \n",
+ " [1, 2] | \n",
+ " C | \n",
+ " 25.0 | \n",
+ " 6 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " E02002183_0002 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 74 | \n",
+ " 3 | \n",
+ " 1.0 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " E00053953 | \n",
+ " Urban city and town | \n",
+ " C1 | \n",
+ " Urban | \n",
+ " Urban City and Town | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " {'x': -1.8262380361557007, 'y': 53.92028045654... | \n",
+ " 2907681 | \n",
+ " E02002183 | \n",
+ " E00053953 | \n",
+ " [1, 2] | \n",
+ " P | \n",
+ " 85.0 | \n",
+ " 6 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " E02002183_0002 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 68 | \n",
+ " 1 | \n",
+ " 2.0 | \n",
+ " 0.000000 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " E00053953 | \n",
+ " Urban city and town | \n",
+ " C1 | \n",
+ " Urban | \n",
+ " Urban City and Town | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " {'x': -1.8749940395355225, 'y': 53.94298934936... | \n",
+ " 2902817 | \n",
+ " E02002183 | \n",
+ " E00053689 | \n",
+ " [3, 4] | \n",
+ " C | \n",
+ " 31.0 | \n",
+ " 1 | \n",
+ " 32857.859375 | \n",
+ " 14.360952 | \n",
+ " E02002183_0003 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 27 | \n",
+ " 1 | \n",
+ " 4.0 | \n",
+ " 51020.310547 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ " E00053689 | \n",
+ " Rural town and fringe | \n",
+ " D1 | \n",
+ " Rural | \n",
+ " Rural Town and Fringe | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 2 | \n",
+ " {'x': -1.8749940395355225, 'y': 53.94298934936... | \n",
+ " 2900884 | \n",
+ " E02002183 | \n",
+ " E00053689 | \n",
+ " [3, 4] | \n",
+ " J | \n",
+ " 62.0 | \n",
+ " 1 | \n",
+ " 18162.451172 | \n",
+ " 9.439944 | \n",
+ " E02002183_0003 | \n",
+ " 3.0 | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " True | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 26 | \n",
+ " 1 | \n",
+ " 6.0 | \n",
+ " 51020.310547 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ " E00053689 | \n",
+ " Rural town and fringe | \n",
+ " D1 | \n",
+ " Rural | \n",
+ " Rural Town and Fringe | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " id household location pid_hs \\\n",
+ "0 0 0 {'x': -1.7892179489135742, 'y': 53.91915130615... 2905399 \n",
+ "1 1 1 {'x': -1.8262380361557007, 'y': 53.92028045654... 2905308 \n",
+ "2 2 1 {'x': -1.8262380361557007, 'y': 53.92028045654... 2907681 \n",
+ "3 3 2 {'x': -1.8749940395355225, 'y': 53.94298934936... 2902817 \n",
+ "4 4 2 {'x': -1.8749940395355225, 'y': 53.94298934936... 2900884 \n",
+ "\n",
+ " msoa oa members sic1d2007 sic2d2007 pwkstat salary_yearly \\\n",
+ "0 E02002183 E00053954 [0] J 58.0 6 NaN \n",
+ "1 E02002183 E00053953 [1, 2] C 25.0 6 NaN \n",
+ "2 E02002183 E00053953 [1, 2] P 85.0 6 NaN \n",
+ "3 E02002183 E00053689 [3, 4] C 31.0 1 32857.859375 \n",
+ "4 E02002183 E00053689 [3, 4] J 62.0 1 18162.451172 \n",
+ "\n",
+ " salary_hourly hid accommodation_type communal_type \\\n",
+ "0 NaN E02002183_0001 1.0 NaN \n",
+ "1 NaN E02002183_0002 3.0 NaN \n",
+ "2 NaN E02002183_0002 3.0 NaN \n",
+ "3 14.360952 E02002183_0003 3.0 NaN \n",
+ "4 9.439944 E02002183_0003 3.0 NaN \n",
+ "\n",
+ " num_rooms central_heat tenure num_cars sex age_years ethnicity \\\n",
+ "0 2.0 True 2.0 2 1 86 1 \n",
+ "1 6.0 True 2.0 2 1 74 3 \n",
+ "2 6.0 True 2.0 2 2 68 1 \n",
+ "3 6.0 True 2.0 1 1 27 1 \n",
+ "4 6.0 True 2.0 1 2 26 1 \n",
+ "\n",
+ " nssec8 salary_yearly_hh salary_yearly_hh_cat is_adult num_adults \\\n",
+ "0 1.0 0.000000 1 1 1 \n",
+ "1 1.0 0.000000 1 1 2 \n",
+ "2 2.0 0.000000 1 1 2 \n",
+ "3 4.0 51020.310547 3 1 2 \n",
+ "4 6.0 51020.310547 3 1 2 \n",
+ "\n",
+ " is_child num_children is_pension_age num_pension_age pwkstat_FT_hh \\\n",
+ "0 0 0 1 1 0 \n",
+ "1 0 0 1 2 0 \n",
+ "2 0 0 1 2 0 \n",
+ "3 0 0 0 0 2 \n",
+ "4 0 0 0 0 2 \n",
+ "\n",
+ " pwkstat_PT_hh pwkstat_NTS_match OA11CD RUC11 RUC11CD \\\n",
+ "0 0 1 E00053954 Urban city and town C1 \n",
+ "1 0 1 E00053953 Urban city and town C1 \n",
+ "2 0 1 E00053953 Urban city and town C1 \n",
+ "3 0 6 E00053689 Rural town and fringe D1 \n",
+ "4 0 6 E00053689 Rural town and fringe D1 \n",
+ "\n",
+ " Settlement2011EW_B03ID_spc Settlement2011EW_B04ID_spc \\\n",
+ "0 Urban Urban City and Town \n",
+ "1 Urban Urban City and Town \n",
+ "2 Urban Urban City and Town \n",
+ "3 Rural Rural Town and Fringe \n",
+ "4 Rural Rural Town and Fringe \n",
+ "\n",
+ " Settlement2011EW_B03ID_spc_CD Settlement2011EW_B04ID_spc_CD \n",
+ "0 1 2 \n",
+ "1 1 2 \n",
+ "2 1 2 \n",
+ "3 2 3 \n",
+ "4 2 3 "
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# add the nts Settlement2011EW_B03ID and Settlement2011EW_B04ID columns to the spc\n",
+ "spc_edited['Settlement2011EW_B03ID_spc'] = spc_edited['RUC11'].map(census_2011_to_nts_B03ID)\n",
+ "spc_edited['Settlement2011EW_B04ID_spc'] = spc_edited['RUC11'].map(census_2011_to_nts_B04ID)\n",
+ "spc_edited.head()\n",
+ "\n",
+ "# add the keys from nts_Settlement2011EW_B03ID and nts_Settlement2011EW_B04ID to the spc based on above mappings\n",
+ "\n",
+ "# reverse the dictionaries\n",
+ "Settlement2011EW_B03ID_nts_rev = {v: k for k, v in Settlement2011EW_B03ID_nts_hh.items()}\n",
+ "# map the values\n",
+ "spc_edited['Settlement2011EW_B03ID_spc_CD'] = spc_edited['Settlement2011EW_B03ID_spc'].map(Settlement2011EW_B03ID_nts_rev).astype('int')\n",
+ "\n",
+ "Settlement2011EW_B04ID_nts_rev = {v: k for k, v in Settlement2011EW_B04ID_nts_hh.items()}\n",
+ "spc_edited['Settlement2011EW_B04ID_spc_CD'] = spc_edited['Settlement2011EW_B04ID_spc'].map(Settlement2011EW_B04ID_nts_rev).astype('int')\n",
+ "spc_edited.head()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 2.2 Edit NTS columns"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Number of people of pension age"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "nts_pensioners = count_per_group(df = nts_individuals,\n",
+ " group_col='HouseholdID',\n",
+ " count_col='OfPenAge_B01ID',\n",
+ " values=[1],\n",
+ " value_names=['num_pension_age_nts'])\n",
+ "\n",
+ "nts_pensioners.head()\n",
+ "\n",
+ "# join onto the nts household df\n",
+ "nts_households = nts_households.merge(nts_pensioners, left_on='HouseholdID', right_index=True, how='left')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Number of cars\n",
+ "\n",
+ "- `SPC.num_cars` only has values [0, 1, 2]. 2 is for all households with 2 or more cars\n",
+ "- `NTS.NumCar` is more detailed. It has the actual value of the number of cars. We will cap this at 2."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " NumCar | \n",
+ " NumCar_SPC_match | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 142954 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142955 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142956 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " 142957 | \n",
+ " 2.0 | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " 142958 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142959 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142960 | \n",
+ " 2.0 | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " 142961 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142962 | \n",
+ " 2.0 | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " 142963 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142964 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142965 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142966 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " 142967 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142968 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142969 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " 142970 | \n",
+ " 2.0 | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " 142971 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " 142972 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " 142973 | \n",
+ " 3.0 | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " NumCar NumCar_SPC_match\n",
+ "142954 1.0 1.0\n",
+ "142955 1.0 1.0\n",
+ "142956 0.0 0.0\n",
+ "142957 2.0 2.0\n",
+ "142958 1.0 1.0\n",
+ "142959 1.0 1.0\n",
+ "142960 2.0 2.0\n",
+ "142961 1.0 1.0\n",
+ "142962 2.0 2.0\n",
+ "142963 1.0 1.0\n",
+ "142964 1.0 1.0\n",
+ "142965 1.0 1.0\n",
+ "142966 0.0 0.0\n",
+ "142967 1.0 1.0\n",
+ "142968 1.0 1.0\n",
+ "142969 0.0 0.0\n",
+ "142970 2.0 2.0\n",
+ "142971 0.0 0.0\n",
+ "142972 1.0 1.0\n",
+ "142973 3.0 2.0"
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "\n",
+ "# Create a new column in NTS\n",
+ "nts_households.loc[:, 'NumCar_SPC_match'] = nts_households['NumCar'].apply(truncate_values, upper = 2)\n",
+ "\n",
+ "nts_households[['NumCar', 'NumCar_SPC_match']].head(20)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Type of tenancy\n",
+ "\n",
+ "Breakdown between NTS and SPC is different. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "({'1': 'Owns / buying',\n",
+ " '2': 'Rents',\n",
+ " '3': 'Other (including rent free)',\n",
+ " '-8': 'NA',\n",
+ " '-9': 'DNA',\n",
+ " '-10': 'DEAD'},\n",
+ " {'1': 'Owned: Owned outright',\n",
+ " '2': 'Owned: Owned with a mortgage or loan or shared ownership',\n",
+ " '3': 'Rented or living rent free: Total',\n",
+ " '4': 'Rented: Social rented',\n",
+ " '5': 'Rented: Private rented or living rent free',\n",
+ " '-8': 'NA',\n",
+ " '-9': 'DNA',\n",
+ " '-10': 'DEAD'})"
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "dict_nts['Ten1_B02ID'], dict_spc['tenure']"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create dictionaries to map tenure onto the spc and nts dfs"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Dictionary showing how we want the final columns to look like\n",
+ "tenure_dict_nts_spc = {\n",
+ " 1: 'Owned',\n",
+ " 2: 'Rented or rent free',\n",
+ " -8: 'NA',\n",
+ " -9: 'DNA',\n",
+ " -10: 'DEAD'\n",
+ "}\n",
+ "\n",
+ "# Matching NTS to tenure_dict_nts_spc\n",
+ "\n",
+ "# Create a new dictionary for matching\n",
+ "matching_dict_nts_tenure = {\n",
+ " 1: 1,\n",
+ " 2: 2,\n",
+ " 3: 2\n",
+ "}\n",
+ "\n",
+ "matching_dict_spc_tenure = {\n",
+ " 1: 1, #'Owned: Owned outright' : 'Owned'\n",
+ " 2: 1, #'Owned: Owned with a mortgage or loan or shared ownership', : 'Owned'\n",
+ " 3: 2, #'Rented or living rent free: Total', : 'Rented or rent free'\n",
+ " 4: 2, #'Rented: Social rented', : 'Rented or rent free'\n",
+ " 5: 2, #'Rented: Private rented or living rent free', : 'Rented or rent free'\n",
+ "}\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "map dictionaries to create comparable columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Create a new column in nts_households\n",
+ "nts_households['tenure_nts_for_matching'] = (nts_households['Ten1_B02ID']\n",
+ " .map(matching_dict_nts_tenure) # map the values to the new dictionary\n",
+ " .fillna(nts_households['Ten1_B02ID'])) # fill the NaNs with the original values\n",
+ "\n",
+ "# Create a new column in spc\n",
+ "spc_edited['tenure_spc_for_matching'] = (spc_edited['tenure']\n",
+ " .map(matching_dict_spc_tenure) # map the values to the new dictionary\n",
+ " .fillna(spc_edited['tenure'])) # fill the NaNs with the original values"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Step 3: Matching at Household Level\n",
+ "\n",
+ "Now that we've prepared all the columns, we can start matching."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### 3.1 Categorical matching\n",
+ "\n",
+ "We will match on (a subset of) the following columns:\n",
+ "\n",
+ "| Matching variable | NTS column | SPC column |\n",
+ "| ------------------| ---------- | ---------- |\n",
+ "| Household income | `HHIncome2002_BO2ID` | `salary_yearly_hh_cat` |\n",
+ "| Number of adults | `HHoldNumAdults` | `num_adults` |\n",
+ "| Number of children | `HHoldNumChildren` | `num_children` |\n",
+ "| Employment status | `HHoldEmploy_B01ID` | `pwkstat_NTS_match` |\n",
+ "| Car ownership | `NumCar_SPC_match` | `num_cars` |\n",
+ "| Type of tenancy | `tenure_nts_for_matching` | `tenure_spc_for_matching` |\n",
+ "| Rural/Urban Classification | `Settlement2011EW_B03ID` | `Settlement2011EW_B03ID_spc_CD` |"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Prepare SPC df for matching"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " hid | \n",
+ " salary_yearly_hh_cat | \n",
+ " num_adults | \n",
+ " num_children | \n",
+ " num_pension_age | \n",
+ " pwkstat_NTS_match | \n",
+ " num_cars | \n",
+ " tenure_spc_for_matching | \n",
+ " Settlement2011EW_B03ID_spc_CD | \n",
+ " Settlement2011EW_B04ID_spc_CD | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " E02002183_0001 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " E02002183_0002 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " E02002183_0003 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ " 1 | \n",
+ " 1.0 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " E02002183_0004 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 1.0 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " E02002183_0005 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1.0 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " E02002183_0006 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " E02002183_0007 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 13 | \n",
+ " E02002183_0008 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 1.0 | \n",
+ " 2 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 14 | \n",
+ " E02002183_0009 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ " 1.0 | \n",
+ " 2 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 16 | \n",
+ " E02002183_0010 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " hid salary_yearly_hh_cat num_adults num_children \\\n",
+ "0 E02002183_0001 1 1 0 \n",
+ "1 E02002183_0002 1 2 0 \n",
+ "3 E02002183_0003 3 2 0 \n",
+ "5 E02002183_0004 2 1 0 \n",
+ "6 E02002183_0005 1 2 1 \n",
+ "9 E02002183_0006 3 1 0 \n",
+ "10 E02002183_0007 1 2 1 \n",
+ "13 E02002183_0008 2 1 0 \n",
+ "14 E02002183_0009 1 2 0 \n",
+ "16 E02002183_0010 1 2 1 \n",
+ "\n",
+ " num_pension_age pwkstat_NTS_match num_cars tenure_spc_for_matching \\\n",
+ "0 1 1 2 1.0 \n",
+ "1 2 1 2 1.0 \n",
+ "3 0 6 1 1.0 \n",
+ "5 0 3 1 1.0 \n",
+ "6 1 1 2 1.0 \n",
+ "9 0 3 1 2.0 \n",
+ "10 2 1 1 1.0 \n",
+ "13 0 3 2 1.0 \n",
+ "14 0 3 2 1.0 \n",
+ "16 0 2 2 1.0 \n",
+ "\n",
+ " Settlement2011EW_B03ID_spc_CD Settlement2011EW_B04ID_spc_CD \n",
+ "0 1 2 \n",
+ "1 1 2 \n",
+ "3 2 3 \n",
+ "5 2 3 \n",
+ "6 2 3 \n",
+ "9 1 2 \n",
+ "10 1 2 \n",
+ "13 2 4 \n",
+ "14 2 4 \n",
+ "16 1 2 "
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Select multiple columns\n",
+ "spc_matching = spc_edited[[\n",
+ " 'hid',\n",
+ " 'salary_yearly_hh_cat', 'num_adults',\n",
+ " 'num_children', 'num_pension_age', 'pwkstat_NTS_match',\n",
+ " 'num_cars', 'tenure_spc_for_matching',\n",
+ " 'Settlement2011EW_B03ID_spc_CD', 'Settlement2011EW_B04ID_spc_CD']]\n",
+ "\n",
+ "# edit the df so that we have one row per hid\n",
+ "spc_matching = spc_matching.drop_duplicates(subset='hid')\n",
+ "\n",
+ "spc_matching.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Prepare NTS df for matching"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " HouseholdID | \n",
+ " HHIncome2002_B02ID | \n",
+ " HHoldNumAdults | \n",
+ " HHoldNumChildren | \n",
+ " num_pension_age_nts | \n",
+ " HHoldEmploy_B01ID | \n",
+ " NumCar_SPC_match | \n",
+ " tenure_nts_for_matching | \n",
+ " Settlement2011EW_B03ID | \n",
+ " Settlement2011EW_B04ID | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 142954 | \n",
+ " 2019001895 | \n",
+ " 1.0 | \n",
+ " 3 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 142955 | \n",
+ " 2019002676 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 142956 | \n",
+ " 2019001891 | \n",
+ " 1.0 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0.0 | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 142957 | \n",
+ " 2019002687 | \n",
+ " 2.0 | \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 2.0 | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 142958 | \n",
+ " 2019001913 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 142959 | \n",
+ " 2019002273 | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " 1.0 | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 142960 | \n",
+ " 2019001906 | \n",
+ " 3.0 | \n",
+ " 3 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 5 | \n",
+ " 2.0 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 142961 | \n",
+ " 2019001910 | \n",
+ " 1.0 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 142962 | \n",
+ " 2019002688 | \n",
+ " 3.0 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ " 2.0 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 142963 | \n",
+ " 2019002686 | \n",
+ " 1.0 | \n",
+ " 2 | \n",
+ " 0 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1.0 | \n",
+ " 1.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " HouseholdID HHIncome2002_B02ID HHoldNumAdults HHoldNumChildren \\\n",
+ "142954 2019001895 1.0 3 0 \n",
+ "142955 2019002676 1.0 1 0 \n",
+ "142956 2019001891 1.0 2 0 \n",
+ "142957 2019002687 2.0 4 0 \n",
+ "142958 2019001913 1.0 1 0 \n",
+ "142959 2019002273 2.0 1 0 \n",
+ "142960 2019001906 3.0 3 0 \n",
+ "142961 2019001910 1.0 2 0 \n",
+ "142962 2019002688 3.0 2 2 \n",
+ "142963 2019002686 1.0 2 0 \n",
+ "\n",
+ " num_pension_age_nts HHoldEmploy_B01ID NumCar_SPC_match \\\n",
+ "142954 2 1 1.0 \n",
+ "142955 0 3 1.0 \n",
+ "142956 0 1 0.0 \n",
+ "142957 0 4 2.0 \n",
+ "142958 0 3 1.0 \n",
+ "142959 0 3 1.0 \n",
+ "142960 0 5 2.0 \n",
+ "142961 2 1 1.0 \n",
+ "142962 0 6 2.0 \n",
+ "142963 2 2 1.0 \n",
+ "\n",
+ " tenure_nts_for_matching Settlement2011EW_B03ID \\\n",
+ "142954 1.0 1 \n",
+ "142955 1.0 1 \n",
+ "142956 2.0 1 \n",
+ "142957 2.0 1 \n",
+ "142958 1.0 1 \n",
+ "142959 2.0 1 \n",
+ "142960 1.0 1 \n",
+ "142961 1.0 1 \n",
+ "142962 1.0 1 \n",
+ "142963 1.0 1 \n",
+ "\n",
+ " Settlement2011EW_B04ID \n",
+ "142954 1 \n",
+ "142955 1 \n",
+ "142956 1 \n",
+ "142957 2 \n",
+ "142958 1 \n",
+ "142959 1 \n",
+ "142960 1 \n",
+ "142961 1 \n",
+ "142962 2 \n",
+ "142963 2 "
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "nts_matching = nts_households[[\n",
+ " 'HouseholdID','HHIncome2002_B02ID',\n",
+ " 'HHoldNumAdults', 'HHoldNumChildren', 'num_pension_age_nts',\n",
+ " 'HHoldEmploy_B01ID', 'NumCar_SPC_match',\n",
+ " 'tenure_nts_for_matching',\n",
+ " 'Settlement2011EW_B03ID', 'Settlement2011EW_B04ID']]\n",
+ "\n",
+ "nts_matching.head(10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Dictionary of matching columns. We extract column names from this dictioary when matching on a subset of the columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'household_id': ['hid', 'HouseholdID'],\n",
+ " 'yearly_income': ['salary_yearly_hh_cat', 'HHIncome2002_B02ID'],\n",
+ " 'number_adults': ['num_adults', 'HHoldNumAdults'],\n",
+ " 'number_children': ['num_children', 'HHoldNumChildren'],\n",
+ " 'num_pension_age': ['num_pension_age', 'num_pension_age_nts'],\n",
+ " 'employment_status': ['pwkstat_NTS_match', 'HHoldEmploy_B01ID'],\n",
+ " 'number_cars': ['num_cars', 'NumCar_SPC_match'],\n",
+ " 'tenure_status': ['tenure_spc_for_matching', 'tenure_nts_for_matching'],\n",
+ " 'rural_urban_2_categories': ['Settlement2011EW_B03ID_spc_CD',\n",
+ " 'Settlement2011EW_B03ID'],\n",
+ " 'rural_urban_4_categories': ['Settlement2011EW_B04ID_spc_CD',\n",
+ " 'Settlement2011EW_B04ID']}"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# column_names (keys) for the dictionary\n",
+ "matching_ids = ['household_id', 'yearly_income', 'number_adults', 'number_children', 'num_pension_age',\n",
+ " 'employment_status', 'number_cars', 'tenure_status', 'rural_urban_2_categories', 'rural_urban_4_categories']\n",
+ "\n",
+ "# i want the value to be a list with spc_matching and nts_matching\n",
+ "matching_dfs_dict = {column_name: [spc_value, nts_value] for column_name, spc_value, nts_value in zip(matching_ids, spc_matching, nts_matching)}\n",
+ "matching_dfs_dict"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Attempt 1: Match on all possible columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "3203 households in the SPC had no match\n",
+ "14.9 % of households in the SPC had no match\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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z6TtMjQ0FH379hWrV68WFy9eFOPGjRPW1tYiLy9PCCFEYWGhCA8PFydOnBB//PGH+PHHH4WZmZnYtGmTEEKIe/fuiffee0+88cYbIiMjQ2RkZIiCggJx79498eKLL4oePXqI//73v+LSpUti06ZN4ujRo9KxsbCwEAMHDhRnz54VR44cEfb29uL//u//pHo///xz0aZNGxETEyOuXLki1q5dK+RyuTh06JAQQoigoCDRoUMHceLECZGWliZiY2PFzp07n/h7U7a/J06cKFJSUqRtWb16tdRn1KhRwtPTUxw5ckRcvnxZfPnll0Iul0v7eu3atcLIyEh4enqK+Ph4kZKSIu2rx5V9obGHh4c4dOiQSE5OFj169BCenp5Sn23btgkjIyOxYsUKkZqaKhYuXCgMDQ3FgQMHNH7PTp06JX3m7t27AoA4ePDgM/dBYWGhcHFxESNHjhRnzpwR58+fF0OGDBGtW7cWBQUFQohHv/8KhUKMHTtWXLhwQezatavcPvnXv/4lXFxcxJEjR0RSUpLw8fERzs7OorCwUNonSqVS6r9p0yYhl8vFt99+K1JSUsQnn3wiLC0ty/1bJHoSBiKiSioLREII0bVrVzFy5EghxPMHoubNm4uSkhJpWevWrUWPHj2k98XFxcLc3Fz89NNPQoj//aGaN2+e1KeoqEg0adJEzJ8/XwghxGeffSa8vb011n39+nUBQKSmpgohHv2B7tix4zO319HRUXzxxRcay1555RXx0UcfSe/bt28vZs2a9dRxevXqJbp3715uu4YOHSoty8jIEABEQkLCE8cJCgoSgwYNkt4/fjzK/Pvf/xaWlpbi9u3bFY4xa9YsYWZmJtRqtbRsypQpwsPDQwghxMOHD4WZmZkUoMoEBgaKwYMHCyGEeOutt8SIESOeus2P69Wrl3BxcRGlpaXSsmnTpgkXFxchhBDXrl0ThoaG4q+//tL4XJ8+fURYWJgQ4tEffwAiKSnpqesqC0T79++XlkVHRwsAIj8/XwghhKenpxg9erTG5959913x5ptvCiEqF4ietg9++OEH0bp1a43tLSgoEKampmLv3r1CiP/9/hcXF2vU8P777wshhLh48aIAIOLj46X2W7duCVNTU7F582ZpnzweiFQqlcbvphBCeHh4MBBRpfGUGdFzmD9/PtatW4cLFy489xht27aFgcH//gna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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# columns for matching\n",
+ "keys = ['yearly_income', 'number_adults', 'number_children', 'num_pension_age',\n",
+ " 'employment_status', 'number_cars', 'tenure_status', 'rural_urban_2_categories']\n",
+ "\n",
+ "\n",
+ "spc_cols = [matching_dfs_dict[key][0] for key in keys]\n",
+ "nts_cols = [matching_dfs_dict[key][1] for key in keys]\n",
+ "\n",
+ "# match\n",
+ "spc_nts_1 = spc_matching.merge(nts_matching,\n",
+ " left_on= spc_cols,\n",
+ " right_on= nts_cols,\n",
+ " how = 'left')\n",
+ "\n",
+ "# Calculate how many rows from nts_matching are matched onto each hid in spc_matching,\n",
+ "spc_nts_1['count'] = spc_nts_1.groupby('hid')['HouseholdID'].transform('count')\n",
+ "\n",
+ "spc_nts_1_hist = spc_nts_1.drop_duplicates(subset='hid')\n",
+ "\n",
+ "\n",
+ "# plot a histogram of the counts and label the axis and title\n",
+ "plt.hist(spc_nts_1_hist['count'], bins=50)\n",
+ "plt.xlabel('Number of matches per household')\n",
+ "plt.ylabel('Number of households')\n",
+ "plt.title('Categorical Matching')\n",
+ "\n",
+ "print(spc_nts_1_hist[spc_nts_1_hist['count'] == 0].shape[0], \"households in the SPC had no match\")\n",
+ "print(round((spc_nts_1_hist[spc_nts_1_hist['count'] == 0].shape[0] / spc_matching['hid'].unique().shape[0]) * 100, 1), \"% of households in the SPC had no match\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Total | \n",
+ " Matched | \n",
+ " Percentage Matched | \n",
+ "
\n",
+ " \n",
+ " num_children | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 14302 | \n",
+ " 13760.0 | \n",
+ " 96.0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 6345 | \n",
+ " 4017.0 | \n",
+ " 63.0 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 764 | \n",
+ " 505.0 | \n",
+ " 66.0 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 136 | \n",
+ " 74.0 | \n",
+ " 54.0 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 19 | \n",
+ " 10.0 | \n",
+ " 53.0 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Total Matched Percentage Matched\n",
+ "num_children \n",
+ "0 14302 13760.0 96.0\n",
+ "1 6345 4017.0 63.0\n",
+ "2 764 505.0 66.0\n",
+ "3 136 74.0 54.0\n",
+ "4 19 10.0 53.0\n",
+ "5 2 NaN NaN\n",
+ "6 1 NaN NaN"
+ ]
+ },
+ "execution_count": 35,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# calculate matching coverage for all columns\n",
+ "\n",
+ "match_coverage_1 = {key: match_coverage_col(data=spc_nts_1,\n",
+ " id_x='hid',\n",
+ " id_y='HouseholdID',\n",
+ " column=matching_dfs_dict[key][0])\n",
+ " for key in matching_dfs_dict\n",
+ " }\n",
+ "\n",
+ "# extract any df from the list\n",
+ "match_coverage_1['number_children']\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Attempt 2: Match on a subset of columns (exclude salary)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2138 households in the SPC had no match\n",
+ "9.9 % of households in the SPC had no match\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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OXPmIDExEU+ePIGbmxuGDRuG4cOHG7o0KmJ876msYCAiIiIi2eN9iIiIiEj2GIiIiIhI9nhSdSHk5ubi5s2bsLGx4Y3GiIiISgkhBO7fvw9nZ2cYGb16DoiBqBBu3ryJKlWqGLoMIiIiegM3btxA5cqVX9mHgagQbGxsADzboUql0sDVEBERUWFoNBpUqVJF+jv+KgxEhZB3mEypVDIQERERlTKFOd2FJ1UTERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsmRi6AAJcJoW9ts/VEP9iqISIiEieOENEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLJn8ED077//4osvvkDFihVhYWGBunXr4sSJE1K7EAJTpkyBk5MTLCws4OPjg0uXLmmt4+7du+jVqxeUSiVsbW0xcOBAPHjwQKvPmTNn0LJlS5QrVw5VqlTBrFmzimV8REREVPIZNBDdu3cPzZs3h6mpKXbu3Inz589jzpw5KF++vNRn1qxZWLhwIZYtW4ajR4/CysoKvr6+ePLkidSnV69eiIuLQ2RkJLZv346DBw9iyJAhUrtGo0H79u1RrVo1xMTEYPbs2Zg2bRqWL19erOMlIiKikkkhhBCG2vikSZMQFRWFf/75p8B2IQScnZ0xduxYjBs3DgCQkZEBBwcHhIaGonv37rhw4QI8PT1x/PhxNG7cGAAQHh6Ojz76CP/73//g7OyMpUuX4ptvvkFKSgrMzMykbW/ZsgXx8fGvrVOj0UClUiEjIwNKpVJPo/9/LpPCXtvnaoi/3rdLRERUluny99ugM0Rbt25F48aN8dlnn8He3h4NGzbEzz//LLUnJSUhJSUFPj4+0jKVSgVvb29ER0cDAKKjo2FrayuFIQDw8fGBkZERjh49KvVp1aqVFIYAwNfXFwkJCbh3716+ujIzM6HRaLQeREREVHYZNBBduXIFS5cuRc2aNREREYFhw4Zh5MiRWLVqFQAgJSUFAODg4KD1OgcHB6ktJSUF9vb2Wu0mJiaoUKGCVp+C1vH8Np4XHBwMlUolPapUqaKH0RIREVFJZdBAlJubi0aNGuHHH39Ew4YNMWTIEAwePBjLli0zZFkICgpCRkaG9Lhx44ZB6yEiIqKiZdBA5OTkBE9PT61lHh4euH79OgDA0dERAJCamqrVJzU1VWpzdHREWlqaVnt2djbu3r2r1aegdTy/jeeZm5tDqVRqPYiIiKjsMmggat68ORISErSWXbx4EdWqVQMAuLq6wtHREXv27JHaNRoNjh49CrVaDQBQq9VIT09HTEyM1Gfv3r3Izc2Ft7e31OfgwYN4+vSp1CcyMhLu7u5aV7QRERGRPBk0EI0ZMwZHjhzBjz/+iMTERKxZswbLly9HQEAAAEChUGD06NH4/vvvsXXrVpw9exZ9+vSBs7MzOnXqBODZjNKHH36IwYMH49ixY4iKisLw4cPRvXt3ODs7AwB69uwJMzMzDBw4EHFxcVi3bh0WLFiAwMBAQw2diIiIShATQ278vffew+bNmxEUFITp06fD1dUV8+fPR69evaQ+EyZMwMOHDzFkyBCkp6ejRYsWCA8PR7ly5aQ+q1evxvDhw9GuXTsYGRmha9euWLhwodSuUqmwa9cuBAQEwMvLC5UqVcKUKVO07lVERERE8mXQ+xCVFrwPERERUelTau5DRERERFQSMBARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsGTQQTZs2DQqFQutRq1Ytqf3JkycICAhAxYoVYW1tja5duyI1NVVrHdevX4e/vz8sLS1hb2+P8ePHIzs7W6vP/v370ahRI5ibm8PNzQ2hoaHFMTwiIiIqJQw+Q1S7dm0kJydLj0OHDkltY8aMwbZt27BhwwYcOHAAN2/eRJcuXaT2nJwc+Pv7IysrC4cPH8aqVasQGhqKKVOmSH2SkpLg7++Ptm3bIjY2FqNHj8agQYMQERFRrOMkIiKiksvE4AWYmMDR0THf8oyMDPz6669Ys2YN3n//fQDAypUr4eHhgSNHjqBp06bYtWsXzp8/j927d8PBwQENGjTAjBkzMHHiREybNg1mZmZYtmwZXF1dMWfOHACAh4cHDh06hHnz5sHX17dYx0pEREQlk8FniC5dugRnZ2dUr14dvXr1wvXr1wEAMTExePr0KXx8fKS+tWrVQtWqVREdHQ0AiI6ORt26deHg4CD18fX1hUajQVxcnNTn+XXk9clbBxEREZFBZ4i8vb0RGhoKd3d3JCcn47vvvkPLli1x7tw5pKSkwMzMDLa2tlqvcXBwQEpKCgAgJSVFKwzltee1vaqPRqPB48ePYWFhka+uzMxMZGZmSs81Gs1bj5WIiIhKLoMGIj8/P+nnevXqwdvbG9WqVcP69esLDCrFJTg4GN99953Btk9ERETFy+CHzJ5na2uLd999F4mJiXB0dERWVhbS09O1+qSmpkrnHDk6Oua76izv+ev6KJXKl4auoKAgZGRkSI8bN27oY3hERERUQpWoQPTgwQNcvnwZTk5O8PLygqmpKfbs2SO1JyQk4Pr161Cr1QAAtVqNs2fPIi0tTeoTGRkJpVIJT09Pqc/z68jrk7eOgpibm0OpVGo9iIiIqOwyaCAaN24cDhw4gKtXr+Lw4cPo3LkzjI2N0aNHD6hUKgwcOBCBgYHYt28fYmJi0L9/f6jVajRt2hQA0L59e3h6eqJ37944ffo0IiIi8O233yIgIADm5uYAgKFDh+LKlSuYMGEC4uPjsWTJEqxfvx5jxowx5NCJiIioBDHoOUT/+9//0KNHD9y5cwd2dnZo0aIFjhw5Ajs7OwDAvHnzYGRkhK5duyIzMxO+vr5YsmSJ9HpjY2Ns374dw4YNg1qthpWVFfr27Yvp06dLfVxdXREWFoYxY8ZgwYIFqFy5Mn755Rdeck9EREQShRBCGLqIkk6j0UClUiEjI6NIDp+5TAp7bZ+rIf563y4REVFZpsvf7xJ1DhERERGRITAQERERkewxEBEREZHsMRARERGR7OklEL1480QiIiKi0kTnQDRz5kysW7dOev7555+jYsWKeOedd3D69Gm9FkdERERUHHQORMuWLUOVKlUAPLvjc2RkJHbu3Ak/Pz+MHz9e7wUSERERFTWdb8yYkpIiBaLt27fj888/R/v27eHi4gJvb2+9F0hERERU1HSeISpfvrz0Zafh4eHw8fEBAAghkJOTo9/qiIiIiIqBzjNEXbp0Qc+ePVGzZk3cuXMHfn5+AIBTp07Bzc1N7wUSERERFTWdA9G8efPg4uKCGzduYNasWbC2tgYAJCcn46uvvtJ7gURERERFTedAZGpqinHjxuVbzm+PJyIiotKqUIFo69athV7hJ5988sbFEBERERlCoQJRp06dtJ4rFAoIIbSe5+GJ1URERFTaFOoqs9zcXOmxa9cuNGjQADt37kR6ejrS09OxY8cONGrUCOHh4UVdLxEREZHe6XwO0ejRo7Fs2TK0aNFCWubr6wtLS0sMGTIEFy5c0GuBREREREVN5/sQXb58Gba2tvmWq1QqXL16VQ8lERERERUvnQPRe++9h8DAQKSmpkrLUlNTMX78eDRp0kSvxREREREVB50D0YoVK5CcnIyqVavCzc0Nbm5uqFq1Kv7991/8+uuvRVEjERERUZHS+RwiNzc3nDlzBpGRkYiPjwcAeHh4wMfHR+tqMyIiIqLSQudABDy7zL59+/Zo3769vushIiIiKnaFCkQLFy4s9ApHjhz5xsUQERERGUKhAtG8efMKtTKFQsFARERERKVOoQJRUlJSUddBREREZDA6X2X2PCGE1ld4EBEREZVGbxSIfvvtN9StWxcWFhawsLBAvXr18Pvvv+u7NiIiIqJiofNVZnPnzsXkyZMxfPhwNG/eHABw6NAhDB06FLdv38aYMWP0XiQRERFRUdI5EC1atAhLly5Fnz59pGWffPIJateujWnTpjEQERERUamj8yGz5ORkNGvWLN/yZs2aITk5WS9FERERERUnnQORm5sb1q9fn2/5unXrULNmTb0URURERFScdD5k9t1336Fbt244ePCgdA5RVFQU9uzZU2BQIiIiIirpdJ4h6tq1K44ePYpKlSphy5Yt2LJlCypVqoRjx46hc+fORVEjERERUZF6o+8y8/Lywh9//KHvWoiIiIgM4o0CUW5uLhITE5GWlobc3FyttlatWuml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xMXFSX2eX0den7x1vCgzMxMajUbrQURERGVXoQPRrFmzUL16dWzfvh1//vknDh8+jJYtW+qtkNzcXIwePRrNmzeXAlZKSgrMzMxga2ur1dfBwQEpKSlSn+fDUF57Xtur+mg0Gjx+/DhfLcHBwVCpVNKjSpUqehkjERERlUyFPodo0qRJsLCwgJubG1atWoVVq1YV2G/Tpk1vVEhAQADOnTuHQ4cOvdHr9SkoKAiBgYHSc41Gw1BERERUhhU6EPXp0+e1l92/qeHDh2P79u04ePAgKleuLC13dHREVlYW0tPTtWaJUlNT4ejoKPU5duyY1vryrkJ7vs+LV6alpqZCqVTCwsIiXz3m5uYwNzfXy9iIiIio5Ct0ICqKy9SFEBgxYgQ2b96M/fv3w9XVVavdy8sLpqam2LNnD7p27Qrg2ZVt169fh1qtBgCo1Wr88MMPSEtLg729PQAgMjISSqUSnp6eUp8dO3ZorTsyMlJaBxEREcmbzl/doU8BAQFYs2YN/v77b9jY2Ejn/KhUKlhYWEClUmHgwIEIDAxEhQoVoFQqMWLECKjVajRt2hQA0L59e3h6eqJ3796YNWsWUlJS8O233yIgIECa5Rk6dCj+85//YMKECRgwYAD27t2L9evXIyxMP1d3ERERUelm0K/uWLp0KTIyMtCmTRs4OTlJj3Xr1kl95s2bhw4dOqBr165o1aoVHB0dtc5TMjY2xvbt22FsbAy1Wo0vvvgCffr00bonkqurK8LCwhAZGYn69etjzpw5+OWXX3gPIiIiIgLwhvchkhveh4iIiKj0KbL7EBERERGVRQxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsG/eoO0q/C3OCRN28kIiLKjzNEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7JoYugOh1XCaFvbbP1RD/YqiEiIjKKs4QERERkewxEBEREZHsMRARERGR7DEQERERkezxpGoqMjwZmoiISgvOEBEREZHsMRARERGR7Bk0EB08eBAff/wxnJ2doVAosGXLFq12IQSmTJkCJycnWFhYwMfHB5cuXdLqc/fuXfTq1QtKpRK2trYYOHAgHjx4oNXnzJkzaNmyJcqVK4cqVapg1qxZRT00IiIiKkUMGogePnyI+vXrY/HixQW2z5o1CwsXLsSyZctw9OhRWFlZwdfXF0+ePJH69OrVC3FxcYiMjMT27dtx8OBBDBkyRGrXaDRo3749qlWrhpiYGMyePRvTpk3D8uXLi3x8REREVDoY9KRqPz8/+Pn5FdgmhMD8+fPx7bffomPHjgCA3377DQ4ODtiyZQu6d++OCxcuIDw8HMePH0fjxo0BAIsWLcJHH32En376Cc7Ozli9ejWysrKwYsUKmJmZoXbt2oiNjcXcuXO1ghMRERHJV4k9hygpKQkpKSnw8fGRlqlUKnh7eyM6OhoAEB0dDVtbWykMAYCPjw+MjIxw9OhRqU+rVq1gZmYm9fH19UVCQgLu3btX4LYzMzOh0Wi0HkRERFR2ldhAlJKSAgBwcHDQWu7g4CC1paSkwN7eXqvdxMQEFSpU0OpT0Dqe38aLgoODoVKppEeVKlXefkBERERUYvE+RAUICgpCYGCg9Fyj0cgqFPH+QUREJDcldobI0dERAJCamqq1PDU1VWpzdHREWlqaVnt2djbu3r2r1aegdTy/jReZm5tDqVRqPYiIiKjsKrEzRK6urnB0dMSePXvQoEEDAM9mao4ePYphw4YBANRqNdLT0xETEwMvLy8AwN69e5Gbmwtvb2+pzzfffIOnT5/C1NQUABAZGQl3d3eUL1+++AdmYIWZ/SmNOKtFRERvw6AzRA8ePEBsbCxiY2MBPDuROjY2FtevX4dCocDo0aPx/fffY+vWrTh79iz69OkDZ2dndOrUCQDg4eGBDz/8EIMHD8axY8cQFRWF4cOHo3v37nB2dgYA9OzZE2ZmZhg4cCDi4uKwbt06LFiwQOuQGBEREcmbQWeITpw4gbZt20rP80JK3759ERoaigkTJuDhw4cYMmQI0tPT0aJFC4SHh6NcuXLSa1avXo3hw4ejXbt2MDIyQteuXbFw4UKpXaVSYdeuXQgICICXlxcqVaqEKVOm8JJ7IiIikhg0ELVp0wZCiJe2KxQKTJ8+HdOnT39pnwoVKmDNmjWv3E69evXwzz//vHGdREREVLaV2JOqiYiIiIoLAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJnomhCyAiIvlwmRT22j5XQ/yLoRIibZwhIiIiItljICIiIiLZ4yEzIiKiMoaHJnXHQET0HP4SobfBzw9R6cVDZkRERCR7nCEiojKNszZEVBicISIiIiLZYyAiIiIi2WMgIiIiItljICIiIiLZ40nVREREVKRKw8UNDEREVOxKwy9HIpIXHjIjIiIi2WMgIiIiItljICIiIiLZ4zlEJBuFOW+FiIjkiTNEREREJHucISKD4qwNERGVBAxERCUYL08nIioeDET0RjizU3IwNBERvT0GIiICIO9gJeexE9EzDEREMsAZPSoO/JxRacarzIiIiEj2GIiIiIhI9hiIiIiISPZkdQ7R4sWLMXv2bKSkpKB+/fpYtGgRmjRpYuiyiOgN8ZwVItIX2QSidevWITAwEMuWLYO3tzfmz58PX19fJCQkwN7e3tDlUSnCK5KIiMoe2Rwymzt3LgYPHoz+/fvD09MTy5Ytg6WlJVasWGHo0oiIiMjAZBGIsrKyEBMTAx8fH2mZkZERfHx8EB0dbcDKiIiIqCSQxSGz27dvIycnBw4ODlrLHRwcEB8fn69/ZmYmMjMzpecZGRkAAI1GUyT15WY+KpL1kuHo67NS0j4bxTmuwmyrOPePvuopqt8jJYG+3o+yvI+KS0n7LBqqnrx1CiFe21cWgUhXwcHB+O677/Itr1KligGqodJINd/QFRSN4hxXSduH+qqnpI2rJOI+Kh4lbT8XZT3379+HSqV6ZR9ZBKJKlSrB2NgYqampWstTU1Ph6OiYr39QUBACAwOl57m5ubh79y4qVqwIhUKh19o0Gg2qVKmCGzduQKlU6nXdpQHHL+/xA9wHHD/HL+fxA0W7D4QQuH//PpydnV/bVxaByMzMDF5eXtizZw86deoE4FnI2bNnD4YPH56vv7m5OczNzbWW2draFmmNSqVStv8YAI5f7uMHuA84fo5fzuMHim4fvG5mKI8sAhEABAYGom/fvmjcuDGaNGmC+fPn4+HDh+jf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",
+ "text/plain": [
+ "