{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import math\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "%matplotlib inline\n", "\n", "from datetime import datetime, date\n", "plt.style.use('ggplot')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Loading the New Customer Data from the excel file\n", "\n", "new_cust = pd.read_excel('Raw_data.xlsx' , sheet_name='NewCustomerList')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
first_namelast_namegenderpast_3_years_bike_related_purchasesDOBjob_titlejob_industry_categorywealth_segmentdeceased_indicatorowns_car...statecountryproperty_valuationUnnamed: 16Unnamed: 17Unnamed: 18Unnamed: 19Unnamed: 20RankValue
0ChickieBristerMale861957-07-12General ManagerManufacturingMass CustomerNYes...QLDAustralia60.811.01251.2656251.075781111.718750
1MorlyGeneryMale691970-03-22Structural EngineerPropertyMass CustomerNNo...NSWAustralia110.750.75000.9375000.796875111.718750
2ArdelisForresterFemale101974-08-28Senior Cost AccountantFinancial ServicesAffluent CustomerNNo...VICAustralia50.710.71000.7100000.710000111.718750
3LucineStuttFemale641979-01-28Account Representative IIIManufacturingAffluent CustomerNYes...QLDAustralia10.500.62500.6250000.625000441.703125
4MelindaHadleeFemale341965-09-21Financial AnalystFinancial ServicesAffluent CustomerNNo...NSWAustralia90.990.99001.2375001.237500441.703125
\n", "

5 rows × 23 columns

\n", "
" ], "text/plain": [ " first_name last_name gender past_3_years_bike_related_purchases \\\n", "0 Chickie Brister Male 86 \n", "1 Morly Genery Male 69 \n", "2 Ardelis Forrester Female 10 \n", "3 Lucine Stutt Female 64 \n", "4 Melinda Hadlee Female 34 \n", "\n", " DOB job_title job_industry_category \\\n", "0 1957-07-12 General Manager Manufacturing \n", "1 1970-03-22 Structural Engineer Property \n", "2 1974-08-28 Senior Cost Accountant Financial Services \n", "3 1979-01-28 Account Representative III Manufacturing \n", "4 1965-09-21 Financial Analyst Financial Services \n", "\n", " wealth_segment deceased_indicator owns_car ... state country \\\n", "0 Mass Customer N Yes ... QLD Australia \n", "1 Mass Customer N No ... NSW Australia \n", "2 Affluent Customer N No ... VIC Australia \n", "3 Affluent Customer N Yes ... QLD Australia \n", "4 Affluent Customer N No ... NSW Australia \n", "\n", " property_valuation Unnamed: 16 Unnamed: 17 Unnamed: 18 Unnamed: 19 \\\n", "0 6 0.81 1.0125 1.265625 1.075781 \n", "1 11 0.75 0.7500 0.937500 0.796875 \n", "2 5 0.71 0.7100 0.710000 0.710000 \n", "3 1 0.50 0.6250 0.625000 0.625000 \n", "4 9 0.99 0.9900 1.237500 1.237500 \n", "\n", " Unnamed: 20 Rank Value \n", "0 1 1 1.718750 \n", "1 1 1 1.718750 \n", "2 1 1 1.718750 \n", "3 4 4 1.703125 \n", "4 4 4 1.703125 \n", "\n", "[5 rows x 23 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Checking first 5 records from New Customer Data\n", "\n", "new_cust.head(5)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 1000 entries, 0 to 999\n", "Data columns (total 23 columns):\n", "first_name 1000 non-null object\n", "last_name 971 non-null object\n", "gender 1000 non-null object\n", "past_3_years_bike_related_purchases 1000 non-null int64\n", "DOB 983 non-null datetime64[ns]\n", "job_title 894 non-null object\n", "job_industry_category 835 non-null object\n", "wealth_segment 1000 non-null object\n", "deceased_indicator 1000 non-null object\n", "owns_car 1000 non-null object\n", "tenure 1000 non-null int64\n", "address 1000 non-null object\n", "postcode 1000 non-null int64\n", "state 1000 non-null object\n", "country 1000 non-null object\n", "property_valuation 1000 non-null int64\n", "Unnamed: 16 1000 non-null float64\n", "Unnamed: 17 1000 non-null float64\n", "Unnamed: 18 1000 non-null float64\n", "Unnamed: 19 1000 non-null float64\n", "Unnamed: 20 1000 non-null int64\n", "Rank 1000 non-null int64\n", "Value 1000 non-null float64\n", "dtypes: datetime64[ns](1), float64(5), int64(6), object(11)\n", "memory usage: 179.8+ KB\n" ] } ], "source": [ "new_cust.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The data-types of the feature columns are fine. However 'Unnamed: 16','Unnamed: 17','Unnamed: 18','Unnamed: 19','Unnamed: 20' are irrelevent column. Hence it should be dropped." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Total Records" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total records (rows) in the dataset : 1000\n", "Total columns (features) in the dataset : 23\n" ] } ], "source": [ "print(\"Total records (rows) in the dataset : {}\".format(new_cust.shape[0]))\n", "print(\"Total columns (features) in the dataset : {}\".format(new_cust.shape[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Numeric Columns and Non-Numeric Columns" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The numeric columns are :\n", "['past_3_years_bike_related_purchases' 'tenure' 'postcode'\n", " 'property_valuation' 'Unnamed: 16' 'Unnamed: 17' 'Unnamed: 18'\n", " 'Unnamed: 19' 'Unnamed: 20' 'Rank' 'Value']\n", "The non-numeric columns are :\n", "['first_name' 'last_name' 'gender' 'DOB' 'job_title'\n", " 'job_industry_category' 'wealth_segment' 'deceased_indicator' 'owns_car'\n", " 'address' 'state' 'country']\n" ] } ], "source": [ "# select numeric columns\n", "df_numeric = new_cust.select_dtypes(include=[np.number])\n", "numeric_cols = df_numeric.columns.values\n", "print(\"The numeric columns are :\")\n", "print(numeric_cols)\n", "\n", "\n", "# select non-numeric columns\n", "df_non_numeric = new_cust.select_dtypes(exclude=[np.number])\n", "non_numeric_cols = df_non_numeric.columns.values\n", "print(\"The non-numeric columns are :\")\n", "print(non_numeric_cols)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Dropping Irrelevent Columns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "'Unnamed: 16','Unnamed: 17','Unnamed: 18','Unnamed: 19','Unnamed: 20' are irrelevent column. Hence it should be dropped." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "new_cust.drop(labels=['Unnamed: 16','Unnamed: 17','Unnamed: 18','Unnamed: 19','Unnamed: 20'], axis=1 , inplace=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Missing Values Check" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Checking for the presence of any missing values in the dataset. If missing values are present for a particular feature then depending upon the situation the feature may be either dropped (cases when a major amount of data is missing) or an appropiate value will be imputed in the feature column with missing values." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "first_name 0\n", "last_name 29\n", "gender 0\n", "past_3_years_bike_related_purchases 0\n", "DOB 17\n", "job_title 106\n", "job_industry_category 165\n", "wealth_segment 0\n", "deceased_indicator 0\n", "owns_car 0\n", "tenure 0\n", "address 0\n", "postcode 0\n", "state 0\n", "country 0\n", "property_valuation 0\n", "Rank 0\n", "Value 0\n", "dtype: int64" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Total number of missing values\n", "new_cust.isnull().sum()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "first_name 0.0\n", "last_name 2.9\n", "gender 0.0\n", "past_3_years_bike_related_purchases 0.0\n", "DOB 1.7\n", "job_title 10.6\n", "job_industry_category 16.5\n", "wealth_segment 0.0\n", "deceased_indicator 0.0\n", "owns_car 0.0\n", "tenure 0.0\n", "address 0.0\n", "postcode 0.0\n", "state 0.0\n", "country 0.0\n", "property_valuation 0.0\n", "Rank 0.0\n", "Value 0.0\n", "dtype: float64" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Percentage of missing values\n", "new_cust.isnull().mean()*100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1 Last Name" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since All customers have a First name, all the customers are identifiable. Hence it is okay for to not have a last name. Filling null last names with \"None\"" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "first_name 0\n", "dtype: int64" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust[new_cust['last_name'].isnull()][['first_name']].isnull().sum()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
first_namelast_namegenderpast_3_years_bike_related_purchasesDOBjob_titlejob_industry_categorywealth_segmentdeceased_indicatorowns_cartenureaddresspostcodestatecountryproperty_valuationRankValue
12OlagNaNMale601990-05-13Human Resources ManagerTelecommunicationsMass CustomerNNo90484 North Avenue2032NSWAustralia11131.609375
58WhittakerNaNMale641966-07-29Media Manager IIINaNMass CustomerNYes8683 Florence Way3156VICAustralia5571.375000
87KahaleelNaNMale51942-11-01GIS Technical ArchitectNaNHigh Net WorthNNo1312 Arapahoe Park2035NSWAustralia12881.314844
155BillNaNFemale741963-04-24Human Resources Assistant IIPropertyMass CustomerNYes196704 Pine View Lane2170NSWAustralia91551.200000
202GlynNaNMale471945-02-13General ManagerManufacturingAffluent CustomerNYes2167 Bluejay Plaza2300NSWAustralia92021.140625
326HaleighNaNFemale171952-05-19Senior Sales AssociateFinancial ServicesMass CustomerNYes1849 Jana Point4503QLDAustralia43261.009375
330AlonNaNMale171999-06-23Accountant IVNaNAffluent CustomerNNo9770 Crest Line Parkway4218QLDAustralia33291.000000
357OtisNaNMale591971-01-11Electrical EngineerManufacturingAffluent CustomerNNo1204 Oakridge Plaza2075NSWAustralia113580.980000
419SherillNaNFemale331991-12-18Information Systems ManagerFinancial ServicesMass CustomerNNo353 Moulton Avenue2880NSWAustralia14200.913750
442TheresinaNaNFemale301987-03-01General ManagerArgicultureMass CustomerNYes14253 Katie Junction2650NSWAustralia24410.901000
455LaurenaNaNFemale211961-07-31VP SalesNaNHigh Net WorthNNo107 Messerschmidt Crossing3810VICAustralia64550.892500
474LaurieNaNMale311979-07-28Assistant Media PlannerEntertainmentMass CustomerNYes1594 Barby Lane2210NSWAustralia104750.881875
477BlondieNaNFemale431995-10-03ActuaryFinancial ServicesHigh Net WorthNNo11780 Norway Maple Hill2565NSWAustralia84780.880000
484GeorgiNaNMale291970-01-14Assistant ManagerManufacturingHigh Net WorthNNo1159 Garrison Terrace3215VICAustralia44850.875500
487LucienNaNMale831966-09-14NaNFinancial ServicesHigh Net WorthNYes19777 Fairfield Court4305QLDAustralia34860.875000
494ParkNaNMale391977-11-08Nurse PracticionerITAffluent CustomerNNo1407 Boyd Drive4350QLDAustralia74950.863281
502CariottaNaNFemale101974-08-19Assistant Media PlannerEntertainmentAffluent CustomerNYes172336 Continental Point2527NSWAustralia75020.858500
531AmabelNaNFemale711981-09-14Chief Design EngineerFinancial ServicesMass CustomerNYes93128 Mallory Pass2144NSWAustralia65300.828750
586RaynardNaNMale321996-04-13Statistician IIIHealthAffluent CustomerNNo1420187 Loomis Court4132QLDAustralia65870.786250
616MarietteNaNFemale471956-07-05Programmer IIPropertyAffluent CustomerNYes17770 Farmco Point2049NSWAustralia116170.754375
755DarbNaNMale801969-06-04Food ChemistHealthAffluent CustomerNNo10780 Bonner Pass4034QLDAustralia57550.640000
767SimonetteNaNFemale41990-04-06VP Product ManagementManufacturingAffluent CustomerNYes666 Hoffman Court2232NSWAustralia87600.637500
779AshleighNaNFemale461996-04-05Budget/Accounting Analyst IIINaNMass CustomerNYes6922 Utah Avenue3204VICAustralia127800.624219
786FeyNaNFemale481957-09-04Research NurseHealthHigh Net WorthNYes1177 Paget Park3147VICAustralia127860.616250
813DmitriNaNMale721991-02-06NaNFinancial ServicesHigh Net WorthNYes154 Mallory Pass3690VICAustralia48100.587500
839GingerNaNMale941939-02-19Human Resources ManagerNaNMass CustomerNNo11160 Fremont Point2259NSWAustralia88400.571094
849LeelandNaNMale661957-01-24VP Quality ControlTelecommunicationsHigh Net WorthNNo129 Stephen Center4122QLDAustralia48450.563125
888AntoinetteNaNFemale721980-07-28Structural Analysis EngineerFinancial ServicesAffluent CustomerNNo59 Derek Alley3058VICAustralia98880.525000
952CandyNaNFemale231977-12-08NaNFinancial ServicesMass CustomerNNo659252 Maryland Drive3500VICAustralia39510.450500
\n", "
" ], "text/plain": [ " first_name last_name gender past_3_years_bike_related_purchases \\\n", "12 Olag NaN Male 60 \n", "58 Whittaker NaN Male 64 \n", "87 Kahaleel NaN Male 5 \n", "155 Bill NaN Female 74 \n", "202 Glyn NaN Male 47 \n", "326 Haleigh NaN Female 17 \n", "330 Alon NaN Male 17 \n", "357 Otis NaN Male 59 \n", "419 Sherill NaN Female 33 \n", "442 Theresina NaN Female 30 \n", "455 Laurena NaN Female 21 \n", "474 Laurie NaN Male 31 \n", "477 Blondie NaN Female 43 \n", "484 Georgi NaN Male 29 \n", "487 Lucien NaN Male 83 \n", "494 Park NaN Male 39 \n", "502 Cariotta NaN Female 10 \n", "531 Amabel NaN Female 71 \n", "586 Raynard NaN Male 32 \n", "616 Mariette NaN Female 47 \n", "755 Darb NaN Male 80 \n", "767 Simonette NaN Female 4 \n", "779 Ashleigh NaN Female 46 \n", "786 Fey NaN Female 48 \n", "813 Dmitri NaN Male 72 \n", "839 Ginger NaN Male 94 \n", "849 Leeland NaN Male 66 \n", "888 Antoinette NaN Female 72 \n", "952 Candy NaN Female 23 \n", "\n", " DOB job_title job_industry_category \\\n", "12 1990-05-13 Human Resources Manager Telecommunications \n", "58 1966-07-29 Media Manager III NaN \n", "87 1942-11-01 GIS Technical Architect NaN \n", "155 1963-04-24 Human Resources Assistant II Property \n", "202 1945-02-13 General Manager Manufacturing \n", "326 1952-05-19 Senior Sales Associate Financial Services \n", "330 1999-06-23 Accountant IV NaN \n", "357 1971-01-11 Electrical Engineer Manufacturing \n", "419 1991-12-18 Information Systems Manager Financial Services \n", "442 1987-03-01 General Manager Argiculture \n", "455 1961-07-31 VP Sales NaN \n", "474 1979-07-28 Assistant Media Planner Entertainment \n", "477 1995-10-03 Actuary Financial Services \n", "484 1970-01-14 Assistant Manager Manufacturing \n", "487 1966-09-14 NaN Financial Services \n", "494 1977-11-08 Nurse Practicioner IT \n", "502 1974-08-19 Assistant Media Planner Entertainment \n", "531 1981-09-14 Chief Design Engineer Financial Services \n", "586 1996-04-13 Statistician III Health \n", "616 1956-07-05 Programmer II Property \n", "755 1969-06-04 Food Chemist Health \n", "767 1990-04-06 VP Product Management Manufacturing \n", "779 1996-04-05 Budget/Accounting Analyst III NaN \n", "786 1957-09-04 Research Nurse Health \n", "813 1991-02-06 NaN Financial Services \n", "839 1939-02-19 Human Resources Manager NaN \n", "849 1957-01-24 VP Quality Control Telecommunications \n", "888 1980-07-28 Structural Analysis Engineer Financial Services \n", "952 1977-12-08 NaN Financial Services \n", "\n", " wealth_segment deceased_indicator owns_car tenure \\\n", "12 Mass Customer N No 9 \n", "58 Mass Customer N Yes 8 \n", "87 High Net Worth N No 13 \n", "155 Mass Customer N Yes 19 \n", "202 Affluent Customer N Yes 21 \n", "326 Mass Customer N Yes 18 \n", "330 Affluent Customer N No 9 \n", "357 Affluent Customer N No 12 \n", "419 Mass Customer N No 3 \n", "442 Mass Customer N Yes 14 \n", "455 High Net Worth N No 10 \n", "474 Mass Customer N Yes 15 \n", "477 High Net Worth N No 11 \n", "484 High Net Worth N No 11 \n", "487 High Net Worth N Yes 19 \n", "494 Affluent Customer N No 14 \n", "502 Affluent Customer N Yes 17 \n", "531 Mass Customer N Yes 9 \n", "586 Affluent Customer N No 14 \n", "616 Affluent Customer N Yes 17 \n", "755 Affluent Customer N No 10 \n", "767 Affluent Customer N Yes 6 \n", "779 Mass Customer N Yes 6 \n", "786 High Net Worth N Yes 11 \n", "813 High Net Worth N Yes 15 \n", "839 Mass Customer N No 11 \n", "849 High Net Worth N No 12 \n", "888 Affluent Customer N No 5 \n", "952 Mass Customer N No 6 \n", "\n", " address postcode state country property_valuation \\\n", "12 0484 North Avenue 2032 NSW Australia 11 \n", "58 683 Florence Way 3156 VIC Australia 5 \n", "87 12 Arapahoe Park 2035 NSW Australia 12 \n", "155 6704 Pine View Lane 2170 NSW Australia 9 \n", "202 67 Bluejay Plaza 2300 NSW Australia 9 \n", "326 49 Jana Point 4503 QLD Australia 4 \n", "330 770 Crest Line Parkway 4218 QLD Australia 3 \n", "357 04 Oakridge Plaza 2075 NSW Australia 11 \n", "419 53 Moulton Avenue 2880 NSW Australia 1 \n", "442 253 Katie Junction 2650 NSW Australia 2 \n", "455 7 Messerschmidt Crossing 3810 VIC Australia 6 \n", "474 94 Barby Lane 2210 NSW Australia 10 \n", "477 780 Norway Maple Hill 2565 NSW Australia 8 \n", "484 59 Garrison Terrace 3215 VIC Australia 4 \n", "487 777 Fairfield Court 4305 QLD Australia 3 \n", "494 07 Boyd Drive 4350 QLD Australia 7 \n", "502 2336 Continental Point 2527 NSW Australia 7 \n", "531 3128 Mallory Pass 2144 NSW Australia 6 \n", "586 20187 Loomis Court 4132 QLD Australia 6 \n", "616 770 Farmco Point 2049 NSW Australia 11 \n", "755 780 Bonner Pass 4034 QLD Australia 5 \n", "767 66 Hoffman Court 2232 NSW Australia 8 \n", "779 922 Utah Avenue 3204 VIC Australia 12 \n", "786 77 Paget Park 3147 VIC Australia 12 \n", "813 4 Mallory Pass 3690 VIC Australia 4 \n", "839 160 Fremont Point 2259 NSW Australia 8 \n", "849 9 Stephen Center 4122 QLD Australia 4 \n", "888 9 Derek Alley 3058 VIC Australia 9 \n", "952 59252 Maryland Drive 3500 VIC Australia 3 \n", "\n", " Rank Value \n", "12 13 1.609375 \n", "58 57 1.375000 \n", "87 88 1.314844 \n", "155 155 1.200000 \n", "202 202 1.140625 \n", "326 326 1.009375 \n", "330 329 1.000000 \n", "357 358 0.980000 \n", "419 420 0.913750 \n", "442 441 0.901000 \n", "455 455 0.892500 \n", "474 475 0.881875 \n", "477 478 0.880000 \n", "484 485 0.875500 \n", "487 486 0.875000 \n", "494 495 0.863281 \n", "502 502 0.858500 \n", "531 530 0.828750 \n", "586 587 0.786250 \n", "616 617 0.754375 \n", "755 755 0.640000 \n", "767 760 0.637500 \n", "779 780 0.624219 \n", "786 786 0.616250 \n", "813 810 0.587500 \n", "839 840 0.571094 \n", "849 845 0.563125 \n", "888 888 0.525000 \n", "952 951 0.450500 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust[new_cust['last_name'].isnull()]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "new_cust['last_name'].fillna('None',axis=0, inplace=True)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['last_name'].isnull().sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Currently there are no missing values for Last Name column." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.2 Date of Birth" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
first_namelast_namegenderpast_3_years_bike_related_purchasesDOBjob_titlejob_industry_categorywealth_segmentdeceased_indicatorowns_cartenureaddresspostcodestatecountryproperty_valuationRankValue
59NormyGoodingeU5NaTAssociate ProfessorITMass CustomerNNo47232 Fulton Parkway3810VICAustralia5571.375000
226HattiCarlettiU35NaTLegal AssistantITAffluent CustomerNYes116 Iowa Center2519NSWAustralia92261.112500
324RozamondTurtleU69NaTLegal AssistantITMass CustomerNYes357025 New Castle Street3850VICAustralia33241.010000
358TamasSwatmanU65NaTAssistant Media PlannerEntertainmentAffluent CustomerNNo578 Clarendon Drive4551QLDAustralia83580.980000
360TracyAndrejevicU71NaTProgrammer IIITMass CustomerNYes115675 Burning Wood Trail3030VICAustralia73610.977500
374AgnetaMcAmishU66NaTStructural Analysis EngineerITMass CustomerNNo155773 Acker Way4207QLDAustralia63750.960000
434GreggAimericU52NaTInternal AuditorITMass CustomerNNo772423 Surrey Street3753VICAustralia54330.906250
439JohnaBunkerU93NaTTax AccountantITMass CustomerNYes143686 Waubesa Way3065VICAustralia64360.903125
574HarleneNonoU69NaTHuman Resources ManagerITMass CustomerNNo120307 Namekagon Crossing2170NSWAustralia75750.796875
598GerianneKaysorU15NaTProject ManagerITAffluent CustomerNNo5882 Toban Lane2121NSWAustralia115990.775000
664ChickySinclarU43NaTOperatorITHigh Net WorthNYes05 Red Cloud Place3222VICAustralia46620.711875
751AdrianaSaundercockU20NaTNurseITHigh Net WorthNYes1482 Gina Junction3806VICAustralia77510.648125
775DmitriViantU62NaTParalegalFinancial ServicesAffluent CustomerNNo595960 Warner Parkway3842VICAustralia17740.626875
835PortyHansedU88NaTGeneral ManagerITMass CustomerNNo13768 Southridge Drive2112NSWAustralia118320.575000
883SharaBramhillU24NaTNaNITAffluent CustomerNNo201 Bunker Hill Drive2230NSWAustralia108830.531250
904RothCrumU0NaTLegal AssistantITMass CustomerNNo2276 Anthes Court2450NSWAustralia69040.500000
984PaulineDallossoU82NaTDesktop Support TechnicianITAffluent CustomerNYes09594 Badeau Street2050NSWAustralia109850.408000
\n", "
" ], "text/plain": [ " first_name last_name gender past_3_years_bike_related_purchases DOB \\\n", "59 Normy Goodinge U 5 NaT \n", "226 Hatti Carletti U 35 NaT \n", "324 Rozamond Turtle U 69 NaT \n", "358 Tamas Swatman U 65 NaT \n", "360 Tracy Andrejevic U 71 NaT \n", "374 Agneta McAmish U 66 NaT \n", "434 Gregg Aimeric U 52 NaT \n", "439 Johna Bunker U 93 NaT \n", "574 Harlene Nono U 69 NaT \n", "598 Gerianne Kaysor U 15 NaT \n", "664 Chicky Sinclar U 43 NaT \n", "751 Adriana Saundercock U 20 NaT \n", "775 Dmitri Viant U 62 NaT \n", "835 Porty Hansed U 88 NaT \n", "883 Shara Bramhill U 24 NaT \n", "904 Roth Crum U 0 NaT \n", "984 Pauline Dallosso U 82 NaT \n", "\n", " job_title job_industry_category wealth_segment \\\n", "59 Associate Professor IT Mass Customer \n", "226 Legal Assistant IT Affluent Customer \n", "324 Legal Assistant IT Mass Customer \n", "358 Assistant Media Planner Entertainment Affluent Customer \n", "360 Programmer II IT Mass Customer \n", "374 Structural Analysis Engineer IT Mass Customer \n", "434 Internal Auditor IT Mass Customer \n", "439 Tax Accountant IT Mass Customer \n", "574 Human Resources Manager IT Mass Customer \n", "598 Project Manager IT Affluent Customer \n", "664 Operator IT High Net Worth \n", "751 Nurse IT High Net Worth \n", "775 Paralegal Financial Services Affluent Customer \n", "835 General Manager IT Mass Customer \n", "883 NaN IT Affluent Customer \n", "904 Legal Assistant IT Mass Customer \n", "984 Desktop Support Technician IT Affluent Customer \n", "\n", " deceased_indicator owns_car tenure address postcode \\\n", "59 N No 4 7232 Fulton Parkway 3810 \n", "226 N Yes 11 6 Iowa Center 2519 \n", "324 N Yes 3 57025 New Castle Street 3850 \n", "358 N No 5 78 Clarendon Drive 4551 \n", "360 N Yes 11 5675 Burning Wood Trail 3030 \n", "374 N No 15 5773 Acker Way 4207 \n", "434 N No 7 72423 Surrey Street 3753 \n", "439 N Yes 14 3686 Waubesa Way 3065 \n", "574 N No 12 0307 Namekagon Crossing 2170 \n", "598 N No 5 882 Toban Lane 2121 \n", "664 N Yes 0 5 Red Cloud Place 3222 \n", "751 N Yes 14 82 Gina Junction 3806 \n", "775 N No 5 95960 Warner Parkway 3842 \n", "835 N No 13 768 Southridge Drive 2112 \n", "883 N No 2 01 Bunker Hill Drive 2230 \n", "904 N No 2 276 Anthes Court 2450 \n", "984 N Yes 0 9594 Badeau Street 2050 \n", "\n", " state country property_valuation Rank Value \n", "59 VIC Australia 5 57 1.375000 \n", "226 NSW Australia 9 226 1.112500 \n", "324 VIC Australia 3 324 1.010000 \n", "358 QLD Australia 8 358 0.980000 \n", "360 VIC Australia 7 361 0.977500 \n", "374 QLD Australia 6 375 0.960000 \n", "434 VIC Australia 5 433 0.906250 \n", "439 VIC Australia 6 436 0.903125 \n", "574 NSW Australia 7 575 0.796875 \n", "598 NSW Australia 11 599 0.775000 \n", "664 VIC Australia 4 662 0.711875 \n", "751 VIC Australia 7 751 0.648125 \n", "775 VIC Australia 1 774 0.626875 \n", "835 NSW Australia 11 832 0.575000 \n", "883 NSW Australia 10 883 0.531250 \n", "904 NSW Australia 6 904 0.500000 \n", "984 NSW Australia 10 985 0.408000 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust[new_cust['DOB'].isnull()]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.0" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "round(new_cust['DOB'].isnull().mean()*100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Less than 5 % of data has null date of birth. we can remove the records where date of birth is null" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Int64Index([ 59, 226, 324, 358, 360, 374, 434, 439, 574, 598, 664, 751, 775,\n", " 835, 883, 904, 984],\n", " dtype='int64')" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Fetching the index of the records / rows where the DOB is null.\n", "\n", "dob_index_drop = new_cust[new_cust['DOB'].isnull()].index\n", "dob_index_drop" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "new_cust.drop(index=dob_index_drop, inplace=True, axis=0)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['DOB'].isnull().sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Currently there are no missing values for DOB." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creating Age Column for checking further descripency in data" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# Function to find the age of customers as of today.\n", "\n", "def age(born):\n", " today = date.today()\n", " \n", " return today.year - born.year - ((today.month, today.day) < (born.month, born.day))\n", "\n", "new_cust['Age'] = new_cust['DOB'].apply(age)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Descriptive Statistics of Age column" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 983.000000\n", "mean 49.581892\n", "std 17.052487\n", "min 19.000000\n", "25% 38.000000\n", "50% 49.000000\n", "75% 63.000000\n", "max 82.000000\n", "Name: Age, dtype: float64" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['Age'].describe()" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Viz to find out the Age Distribution\n", "plt.figure(figsize=(15,8))\n", "sns.distplot(new_cust['Age'], kde=False, bins=50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking at the age field there is no descripency in the data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creating Age Group Column" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "new_cust['Age Group'] = new_cust['Age'].apply(lambda x : (math.floor(x/10)+1)*10)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Viz to find out the Age Group Distribution\n", "plt.figure(figsize=(10,8))\n", "sns.distplot(new_cust['Age Group'], kde=False, bins=50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The highest number of New Customers are from the Age Group 50-59." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.3 Job Title" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
first_namelast_namegenderpast_3_years_bike_related_purchasesDOBjob_titlejob_industry_categorywealth_segmentdeceased_indicatorowns_cartenureaddresspostcodestatecountryproperty_valuationRankValueAgeAge Group
15DukieSwireMale881954-03-31NaNManufacturingAffluent CustomerNYes564 Granby Parkway2500NSWAustralia8161.5625006770
25RourkeGillbardMale111945-08-03NaNPropertyMass CustomerNNo1775 Cordelia Trail4817QLDAustralia4261.4687507580
29RhonaDe FreyneFemale451960-11-22NaNHealthHigh Net WorthNNo811184 East Drive3056VICAustralia10301.4609386070
30SharronClaibournFemale621980-01-26NaNFinancial ServicesHigh Net WorthNYes17555 Hermina Avenue2280NSWAustralia8301.4609384150
37MitchellMacCagueMale581979-04-11NaNManufacturingMass CustomerNNo15240 Acker Avenue3190VICAustralia8381.4375004250
38GarikWhitwellMale441955-06-13NaNPropertyMass CustomerNYes1304 Dexter Way3280VICAustralia2381.4375006570
39AntoninBrittMale641993-08-28NaNManufacturingAffluent CustomerNYes8011 Northland Trail2160NSWAustralia9401.4343752730
40VinnyIncognaFemale731953-02-13NaNHealthHigh Net WorthNNo108 Grayhawk Circle2756NSWAustralia8401.4343756870
42NeileArgentFemale791946-10-25NaNRetailMass CustomerNNo82548 Arrowood Pass2024NSWAustralia10421.4218757480
44BrookeArlingMale761961-12-05NaNNaNHigh Net WorthNNo66 Melby Center3027VICAustralia5441.4210945960
50HeinrickShilstoneMale601978-02-11NaNManufacturingAffluent CustomerNNo10998 Gale Park3174VICAustralia8501.4062504350
53OdessaMc AndrewFemale971981-12-01NaNPropertyMass CustomerNNo831756 Meadow Valley Lane2232NSWAustralia10541.3812503940
74MabelleWellbeloveFemale761958-04-21NaNFinancial ServicesAffluent CustomerNYes19800 Emmet Park2219NSWAustralia9721.3500006370
82EstherRoosonFemale141981-02-22NaNFinancial ServicesMass CustomerNNo55186 Main Trail2046NSWAustralia9781.3375004050
92AndromacheBonafacinoFemale841977-09-01NaNRetailMass CustomerNNo1174 Carpenter Street2015NSWAustralia9891.3125004350
94NobeMcAughtryMale251978-12-14NaNNaNMass CustomerNNo121 Orin Hill4510QLDAustralia5891.3125004250
95JehuPrestedgeMale911999-10-20NaNManufacturingHigh Net WorthNYes888 Annamark Avenue2138NSWAustralia12961.3000002130
109MichalBryanFemale11969-11-09NaNManufacturingMass CustomerNYes164275 Bluestem Pass4000QLDAustralia81041.2875005160
115FrederikMilanMale451997-11-13NaNHealthMass CustomerNNo556 Riverside Street2546NSWAustralia51141.2750002330
125ElsworthAbbittMale711956-02-08NaNHealthMass CustomerNYes69722 Northport Way3500VICAustralia31251.2617196570
132SharlineAbyssFemale111960-03-18NaNNaNMass CustomerNYes15367 Bay Point4011QLDAustralia41331.2375006170
133NowellPreddyMale291985-07-23NaNManufacturingMass CustomerNNo9932 Glendale Avenue2173NSWAustralia91331.2375003540
149BernardineDelmontiFemale391971-03-31NaNPropertyMass CustomerNNo170721 Meadow Ridge Pass2540NSWAustralia81461.2250005060
200AlfonsoMasselMale701940-12-05NaNNaNMass CustomerNYes136065 Talisman Crossing3977VICAustralia72011.1421878090
201EngraciaDobbsFemale841959-04-19NaNHealthMass CustomerNNo1572 Eliot Place2250NSWAustralia82021.1406256270
207JeanneDarteFemale701955-08-18NaNNaNMass CustomerNYes113 Homewood Park2756NSWAustralia72061.1375006570
211AbbieOldmanMale821983-11-26NaNHealthHigh Net WorthNYes54 North Drive2168NSWAustralia82121.1368753740
219HunfredoHayballMale71994-04-15NaNITAffluent CustomerNNo360461 Esch Avenue2227NSWAustralia82191.1250002730
222GretnaThredderFemale621966-01-08NaNNaNMass CustomerNNo181607 Westridge Drive2203NSWAustralia112231.1156255560
224WallaceNewartMale911977-12-06NaNITMass CustomerNNo1729007 Dapin Street4650QLDAustralia12231.1156254350
...............................................................
668CecilGantMale521976-07-16NaNNaNHigh Net WorthNYes922435 Barnett Court2145NSWAustralia86680.7055004450
689WillardBootonMale691938-09-02NaNHealthHigh Net WorthNYes705 Ronald Regan Alley2121NSWAustralia96880.6970008290
691RockieMacKibbonMale421978-04-20NaNNaNMass CustomerNYes138 Bunker Hill Court2298NSWAustralia86910.6906254350
697ThaddusJoderMale311957-12-10NaNManufacturingMass CustomerNNo727185 Fisk Drive2290NSWAustralia86980.6900006370
703SuzyBussensFemale441973-04-29NaNFinancial ServicesMass CustomerNNo1325 Oneill Alley4102QLDAustralia97000.6875004850
740GloryChilcottFemale491939-09-09NaNTelecommunicationsHigh Net WorthNNo94286 Rowland Circle4165QLDAustralia57410.6587508190
752TrudiePhinnessyFemale451960-07-04NaNFinancial ServicesMass CustomerNYes15077 Dennis Lane3030VICAustralia97510.6481256070
759FloreCashenFemale791978-06-21NaNHealthHigh Net WorthNNo174 Vera Pass2640NSWAustralia47600.6375004250
764HagenMacCarterMale931983-02-08NaNEntertainmentAffluent CustomerNYes157 Ramsey Trail3172VICAustralia97600.6375003840
769AndreaPendleFemale861938-08-05NaNNaNHigh Net WorthNYes1331281 Meadow Valley Way4500QLDAustralia67600.6375008290
778YumaDennickMale401972-11-10NaNManufacturingMass CustomerNYes689244 Macpherson Trail2528NSWAustralia87780.6250004850
800ErminieRabidgeFemale641982-03-09NaNManufacturingHigh Net WorthNNo171969 Melody Lane2170NSWAustralia88010.5976563940
809DoroliceOsmonFemale461961-01-15NaNFinancial ServicesAffluent CustomerNNo15602 Clove Center3046VICAustralia68100.5875006070
813DmitriNoneMale721991-02-06NaNFinancial ServicesHigh Net WorthNYes154 Mallory Pass3690VICAustralia48100.5875003040
832LeonoraSwetenhamFemale661967-10-05NaNITMass CustomerNYes10660 Hallows Place2026NSWAustralia108320.5750005360
873BabaraSisselFemale501974-06-08NaNITMass CustomerNYes215 Ohio Road3169VICAustralia108710.5418754650
879MuffinBharMale441966-04-07NaNNaNAffluent CustomerNNo1915 Weeping Birch Crossing2448NSWAustralia48790.5375005560
881BriggHimsworthMale631973-10-10NaNTelecommunicationsMass CustomerNYes9771 Union Crossing4570QLDAustralia68820.5355004750
889CarrHopkynsonMale641971-10-18NaNManufacturingAffluent CustomerNNo165990 Fairfield Pass2318NSWAustralia68880.5250004950
899PenrodTomasicchioMale51968-05-28NaNHealthHigh Net WorthNNo1930 Harper Trail2318NSWAustralia98990.5100005260
907DruCrellimFemale571963-03-04NaNNaNMass CustomerNNo1290 Morningstar Drive3030VICAustralia79040.5000005860
910AleeceFeigeFemale491975-09-16NaNManufacturingMass CustomerNNo182030 Anderson Lane2141NSWAustralia109040.5000004550
914LaunceGaleMale861939-01-15NaNNaNMass CustomerNNo214 Fordem Avenue2777NSWAustralia99130.4993758290
923WiloneChampleyFemale221983-11-06NaNManufacturingHigh Net WorthNNo179346 Lyons Point2077NSWAustralia109240.4887503740
929DianeFurmanFemale671993-08-11NaNManufacturingAffluent CustomerNYes136660 Riverside Circle3013VICAustralia99300.4781252730
952CandyNoneFemale231977-12-08NaNFinancial ServicesMass CustomerNNo659252 Maryland Drive3500VICAustralia39510.4505004350
953NoamiCoklyFemale741962-09-17NaNManufacturingMass CustomerNYes152886 Buena Vista Terrace2038NSWAustralia119540.4500005860
971FriedaTavinorFemale431999-03-04NaNNaNAffluent CustomerNNo107 Mallory Lane3064VICAustralia69720.4300002230
972EllwoodBuddenMale821998-06-03NaNHealthMass CustomerNYes1179907 Randy Center2192NSWAustralia109720.4300002230
989KellenPawelskiFemale831945-07-26NaNManufacturingHigh Net WorthNYes11125 Manufacturers Parkway2193NSWAustralia89880.3995007580
\n", "

105 rows × 20 columns

\n", "
" ], "text/plain": [ " first_name last_name gender past_3_years_bike_related_purchases \\\n", "15 Dukie Swire Male 88 \n", "25 Rourke Gillbard Male 11 \n", "29 Rhona De Freyne Female 45 \n", "30 Sharron Claibourn Female 62 \n", "37 Mitchell MacCague Male 58 \n", "38 Garik Whitwell Male 44 \n", "39 Antonin Britt Male 64 \n", "40 Vinny Incogna Female 73 \n", "42 Neile Argent Female 79 \n", "44 Brooke Arling Male 76 \n", "50 Heinrick Shilstone Male 60 \n", "53 Odessa Mc Andrew Female 97 \n", "74 Mabelle Wellbelove Female 76 \n", "82 Esther Rooson Female 14 \n", "92 Andromache Bonafacino Female 84 \n", "94 Nobe McAughtry Male 25 \n", "95 Jehu Prestedge Male 91 \n", "109 Michal Bryan Female 1 \n", "115 Frederik Milan Male 45 \n", "125 Elsworth Abbitt Male 71 \n", "132 Sharline Abyss Female 11 \n", "133 Nowell Preddy Male 29 \n", "149 Bernardine Delmonti Female 39 \n", "200 Alfonso Massel Male 70 \n", "201 Engracia Dobbs Female 84 \n", "207 Jeanne Darte Female 70 \n", "211 Abbie Oldman Male 82 \n", "219 Hunfredo Hayball Male 7 \n", "222 Gretna Thredder Female 62 \n", "224 Wallace Newart Male 91 \n", ".. ... ... ... ... \n", "668 Cecil Gant Male 52 \n", "689 Willard Booton Male 69 \n", "691 Rockie MacKibbon Male 42 \n", "697 Thaddus Joder Male 31 \n", "703 Suzy Bussens Female 44 \n", "740 Glory Chilcott Female 49 \n", "752 Trudie Phinnessy Female 45 \n", "759 Flore Cashen Female 79 \n", "764 Hagen MacCarter Male 93 \n", "769 Andrea Pendle Female 86 \n", "778 Yuma Dennick Male 40 \n", "800 Erminie Rabidge Female 64 \n", "809 Dorolice Osmon Female 46 \n", "813 Dmitri None Male 72 \n", "832 Leonora Swetenham Female 66 \n", "873 Babara Sissel Female 50 \n", "879 Muffin Bhar Male 44 \n", "881 Brigg Himsworth Male 63 \n", "889 Carr Hopkynson Male 64 \n", "899 Penrod Tomasicchio Male 5 \n", "907 Dru Crellim Female 57 \n", "910 Aleece Feige Female 49 \n", "914 Launce Gale Male 86 \n", "923 Wilone Champley Female 22 \n", "929 Diane Furman Female 67 \n", "952 Candy None Female 23 \n", "953 Noami Cokly Female 74 \n", "971 Frieda Tavinor Female 43 \n", "972 Ellwood Budden Male 82 \n", "989 Kellen Pawelski Female 83 \n", "\n", " DOB job_title job_industry_category wealth_segment \\\n", "15 1954-03-31 NaN Manufacturing Affluent Customer \n", "25 1945-08-03 NaN Property Mass Customer \n", "29 1960-11-22 NaN Health High Net Worth \n", "30 1980-01-26 NaN Financial Services High Net Worth \n", "37 1979-04-11 NaN Manufacturing Mass Customer \n", "38 1955-06-13 NaN Property Mass Customer \n", "39 1993-08-28 NaN Manufacturing Affluent Customer \n", "40 1953-02-13 NaN Health High Net Worth \n", "42 1946-10-25 NaN Retail Mass Customer \n", "44 1961-12-05 NaN NaN High Net Worth \n", "50 1978-02-11 NaN Manufacturing Affluent Customer \n", "53 1981-12-01 NaN Property Mass Customer \n", "74 1958-04-21 NaN Financial Services Affluent Customer \n", "82 1981-02-22 NaN Financial Services Mass Customer \n", "92 1977-09-01 NaN Retail Mass Customer \n", "94 1978-12-14 NaN NaN Mass Customer \n", "95 1999-10-20 NaN Manufacturing High Net Worth \n", "109 1969-11-09 NaN Manufacturing Mass Customer \n", "115 1997-11-13 NaN Health Mass Customer \n", "125 1956-02-08 NaN Health Mass Customer \n", "132 1960-03-18 NaN NaN Mass Customer \n", "133 1985-07-23 NaN Manufacturing Mass Customer \n", "149 1971-03-31 NaN Property Mass Customer \n", "200 1940-12-05 NaN NaN Mass Customer \n", "201 1959-04-19 NaN Health Mass Customer \n", "207 1955-08-18 NaN NaN Mass Customer \n", "211 1983-11-26 NaN Health High Net Worth \n", "219 1994-04-15 NaN IT Affluent Customer \n", "222 1966-01-08 NaN NaN Mass Customer \n", "224 1977-12-06 NaN IT Mass Customer \n", ".. ... ... ... ... \n", "668 1976-07-16 NaN NaN High Net Worth \n", "689 1938-09-02 NaN Health High Net Worth \n", "691 1978-04-20 NaN NaN Mass Customer \n", "697 1957-12-10 NaN Manufacturing Mass Customer \n", "703 1973-04-29 NaN Financial Services Mass Customer \n", "740 1939-09-09 NaN Telecommunications High Net Worth \n", "752 1960-07-04 NaN Financial Services Mass Customer \n", "759 1978-06-21 NaN Health High Net Worth \n", "764 1983-02-08 NaN Entertainment Affluent Customer \n", "769 1938-08-05 NaN NaN High Net Worth \n", "778 1972-11-10 NaN Manufacturing Mass Customer \n", "800 1982-03-09 NaN Manufacturing High Net Worth \n", "809 1961-01-15 NaN Financial Services Affluent Customer \n", "813 1991-02-06 NaN Financial Services High Net Worth \n", "832 1967-10-05 NaN IT Mass Customer \n", "873 1974-06-08 NaN IT Mass Customer \n", "879 1966-04-07 NaN NaN Affluent Customer \n", "881 1973-10-10 NaN Telecommunications Mass Customer \n", "889 1971-10-18 NaN Manufacturing Affluent Customer \n", "899 1968-05-28 NaN Health High Net Worth \n", "907 1963-03-04 NaN NaN Mass Customer \n", "910 1975-09-16 NaN Manufacturing Mass Customer \n", "914 1939-01-15 NaN NaN Mass Customer \n", "923 1983-11-06 NaN Manufacturing High Net Worth \n", "929 1993-08-11 NaN Manufacturing Affluent Customer \n", "952 1977-12-08 NaN Financial Services Mass Customer \n", "953 1962-09-17 NaN Manufacturing Mass Customer \n", "971 1999-03-04 NaN NaN Affluent Customer \n", "972 1998-06-03 NaN Health Mass Customer \n", "989 1945-07-26 NaN Manufacturing High Net Worth \n", "\n", " deceased_indicator owns_car tenure address postcode \\\n", "15 N Yes 5 64 Granby Parkway 2500 \n", "25 N No 17 75 Cordelia Trail 4817 \n", "29 N No 8 11184 East Drive 3056 \n", "30 N Yes 17 555 Hermina Avenue 2280 \n", "37 N No 15 240 Acker Avenue 3190 \n", "38 N Yes 13 04 Dexter Way 3280 \n", "39 N Yes 8 011 Northland Trail 2160 \n", "40 N No 10 8 Grayhawk Circle 2756 \n", "42 N No 8 2548 Arrowood Pass 2024 \n", "44 N No 6 6 Melby Center 3027 \n", "50 N No 10 998 Gale Park 3174 \n", "53 N No 8 31756 Meadow Valley Lane 2232 \n", "74 N Yes 19 800 Emmet Park 2219 \n", "82 N No 5 5186 Main Trail 2046 \n", "92 N No 11 74 Carpenter Street 2015 \n", "94 N No 12 1 Orin Hill 4510 \n", "95 N Yes 8 88 Annamark Avenue 2138 \n", "109 N Yes 16 4275 Bluestem Pass 4000 \n", "115 N No 5 56 Riverside Street 2546 \n", "125 N Yes 6 9722 Northport Way 3500 \n", "132 N Yes 15 367 Bay Point 4011 \n", "133 N No 9 932 Glendale Avenue 2173 \n", "149 N No 17 0721 Meadow Ridge Pass 2540 \n", "200 N Yes 13 6065 Talisman Crossing 3977 \n", "201 N No 15 72 Eliot Place 2250 \n", "207 N Yes 11 3 Homewood Park 2756 \n", "211 N Yes 5 4 North Drive 2168 \n", "219 N No 3 60461 Esch Avenue 2227 \n", "222 N No 18 1607 Westridge Drive 2203 \n", "224 N No 17 29007 Dapin Street 4650 \n", ".. ... ... ... ... ... \n", "668 N Yes 9 22435 Barnett Court 2145 \n", "689 N Yes 7 05 Ronald Regan Alley 2121 \n", "691 N Yes 13 8 Bunker Hill Court 2298 \n", "697 N No 7 27185 Fisk Drive 2290 \n", "703 N No 13 25 Oneill Alley 4102 \n", "740 N No 9 4286 Rowland Circle 4165 \n", "752 N Yes 15 077 Dennis Lane 3030 \n", "759 N No 17 4 Vera Pass 2640 \n", "764 N Yes 15 7 Ramsey Trail 3172 \n", "769 N Yes 13 31281 Meadow Valley Way 4500 \n", "778 N Yes 6 89244 Macpherson Trail 2528 \n", "800 N No 17 1969 Melody Lane 2170 \n", "809 N No 15 602 Clove Center 3046 \n", "813 N Yes 15 4 Mallory Pass 3690 \n", "832 N Yes 10 660 Hallows Place 2026 \n", "873 N Yes 21 5 Ohio Road 3169 \n", "879 N No 19 15 Weeping Birch Crossing 2448 \n", "881 N Yes 9 771 Union Crossing 4570 \n", "889 N No 16 5990 Fairfield Pass 2318 \n", "899 N No 19 30 Harper Trail 2318 \n", "907 N No 12 90 Morningstar Drive 3030 \n", "910 N No 18 2030 Anderson Lane 2141 \n", "914 N No 21 4 Fordem Avenue 2777 \n", "923 N No 17 9346 Lyons Point 2077 \n", "929 N Yes 13 6660 Riverside Circle 3013 \n", "952 N No 6 59252 Maryland Drive 3500 \n", "953 N Yes 15 2886 Buena Vista Terrace 2038 \n", "971 N No 10 7 Mallory Lane 3064 \n", "972 N Yes 11 79907 Randy Center 2192 \n", "989 N Yes 11 125 Manufacturers Parkway 2193 \n", "\n", " state country property_valuation Rank Value Age Age Group \n", "15 NSW Australia 8 16 1.562500 67 70 \n", "25 QLD Australia 4 26 1.468750 75 80 \n", "29 VIC Australia 10 30 1.460938 60 70 \n", "30 NSW Australia 8 30 1.460938 41 50 \n", "37 VIC Australia 8 38 1.437500 42 50 \n", "38 VIC Australia 2 38 1.437500 65 70 \n", "39 NSW Australia 9 40 1.434375 27 30 \n", "40 NSW Australia 8 40 1.434375 68 70 \n", "42 NSW Australia 10 42 1.421875 74 80 \n", "44 VIC Australia 5 44 1.421094 59 60 \n", "50 VIC Australia 8 50 1.406250 43 50 \n", "53 NSW Australia 10 54 1.381250 39 40 \n", "74 NSW Australia 9 72 1.350000 63 70 \n", "82 NSW Australia 9 78 1.337500 40 50 \n", "92 NSW Australia 9 89 1.312500 43 50 \n", "94 QLD Australia 5 89 1.312500 42 50 \n", "95 NSW Australia 12 96 1.300000 21 30 \n", "109 QLD Australia 8 104 1.287500 51 60 \n", "115 NSW Australia 5 114 1.275000 23 30 \n", "125 VIC Australia 3 125 1.261719 65 70 \n", "132 QLD Australia 4 133 1.237500 61 70 \n", "133 NSW Australia 9 133 1.237500 35 40 \n", "149 NSW Australia 8 146 1.225000 50 60 \n", "200 VIC Australia 7 201 1.142187 80 90 \n", "201 NSW Australia 8 202 1.140625 62 70 \n", "207 NSW Australia 7 206 1.137500 65 70 \n", "211 NSW Australia 8 212 1.136875 37 40 \n", "219 NSW Australia 8 219 1.125000 27 30 \n", "222 NSW Australia 11 223 1.115625 55 60 \n", "224 QLD Australia 1 223 1.115625 43 50 \n", ".. ... ... ... ... ... ... ... \n", "668 NSW Australia 8 668 0.705500 44 50 \n", "689 NSW Australia 9 688 0.697000 82 90 \n", "691 NSW Australia 8 691 0.690625 43 50 \n", "697 NSW Australia 8 698 0.690000 63 70 \n", "703 QLD Australia 9 700 0.687500 48 50 \n", "740 QLD Australia 5 741 0.658750 81 90 \n", "752 VIC Australia 9 751 0.648125 60 70 \n", "759 NSW Australia 4 760 0.637500 42 50 \n", "764 VIC Australia 9 760 0.637500 38 40 \n", "769 QLD Australia 6 760 0.637500 82 90 \n", "778 NSW Australia 8 778 0.625000 48 50 \n", "800 NSW Australia 8 801 0.597656 39 40 \n", "809 VIC Australia 6 810 0.587500 60 70 \n", "813 VIC Australia 4 810 0.587500 30 40 \n", "832 NSW Australia 10 832 0.575000 53 60 \n", "873 VIC Australia 10 871 0.541875 46 50 \n", "879 NSW Australia 4 879 0.537500 55 60 \n", "881 QLD Australia 6 882 0.535500 47 50 \n", "889 NSW Australia 6 888 0.525000 49 50 \n", "899 NSW Australia 9 899 0.510000 52 60 \n", "907 VIC Australia 7 904 0.500000 58 60 \n", "910 NSW Australia 10 904 0.500000 45 50 \n", "914 NSW Australia 9 913 0.499375 82 90 \n", "923 NSW Australia 10 924 0.488750 37 40 \n", "929 VIC Australia 9 930 0.478125 27 30 \n", "952 VIC Australia 3 951 0.450500 43 50 \n", "953 NSW Australia 11 954 0.450000 58 60 \n", "971 VIC Australia 6 972 0.430000 22 30 \n", "972 NSW Australia 10 972 0.430000 22 30 \n", "989 NSW Australia 8 988 0.399500 75 80 \n", "\n", "[105 rows x 20 columns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust[new_cust['job_title'].isnull()]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since percentage of missing values for Job Title is 11%. We will replace null values with Missing." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "new_cust['job_title'].fillna('Missing', inplace=True, axis=0)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['job_title'].isnull().sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Currently there are no missing values for Job Title Column." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.4 Job Industry Category" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
first_namelast_namegenderpast_3_years_bike_related_purchasesDOBjob_titlejob_industry_categorywealth_segmentdeceased_indicatorowns_cartenureaddresspostcodestatecountryproperty_valuationRankValueAgeAge Group
22OtisOtteyMale261998-02-05Quality EngineerNaNMass CustomerNNo31562 Merchant Street4744QLDAustralia4231.5000002330
23TabbathaAverillFemale51977-12-17Quality Control SpecialistNaNAffluent CustomerNYes13663 8th Parkway2257NSWAustralia8231.5000004350
33MikelMcNessMale711981-09-22NurseNaNMass CustomerNNo93 Pleasure Drive4122QLDAustralia9321.4531253940
36FarliePetfordMale761968-03-25Recruiting ManagerNaNHigh Net WorthNNo132330 Butternut Trail2017NSWAustralia10361.4476565360
43CorinnaSuggeyFemale521966-09-18Design EngineerNaNAffluent CustomerNNo9938 Ilene Road2761NSWAustralia8441.4210945460
44BrookeArlingMale761961-12-05MissingNaNHigh Net WorthNNo66 Melby Center3027VICAustralia5441.4210945960
47JobinaGobournFemale851994-12-04VP Quality ControlNaNHigh Net WorthNYes1418 Grim Road4305QLDAustralia4461.4078122630
57MarylouKirkupFemale511972-10-31VP Product ManagementNaNMass CustomerNNo1476733 Sunbrook Terrace3196VICAustralia9571.3750004850
58WhittakerNoneMale641966-07-29Media Manager IIINaNMass CustomerNYes8683 Florence Way3156VICAustralia5571.3750005460
69VivienneCraydenFemale821988-09-18Associate ProfessorNaNHigh Net WorthNYes669 Algoma Center4173QLDAustralia7681.3546883240
73YancyClementetMale51968-02-16Mechanical Systems EngineerNaNHigh Net WorthNNo159 Union Center2147NSWAustralia9721.3500005360
85PietraBuckleighFemale91949-04-29Engineer IIINaNHigh Net WorthNNo13387 Dixon Alley2024NSWAustralia10851.3250007280
87KahaleelNoneMale51942-11-01GIS Technical ArchitectNaNHigh Net WorthNNo1312 Arapahoe Park2035NSWAustralia12881.3148447880
90LudovicoJusterMale931992-04-19Environmental SpecialistNaNAffluent CustomerNNo151 Talisman Avenue2125NSWAustralia10891.3125002930
93LevyAbramamovMale941952-09-21TeacherNaNAffluent CustomerNYes146776 Anderson Center4037QLDAustralia8891.3125006870
94NobeMcAughtryMale251978-12-14MissingNaNMass CustomerNNo121 Orin Hill4510QLDAustralia5891.3125004250
108AridathaSephtonFemale951961-10-22Human Resources Assistant IINaNMass CustomerNNo5422 Forster Circle2340NSWAustralia11041.2875005960
112DavidNapoleonMale721961-11-05Structural EngineerNaNHigh Net WorthNNo1469 Garrison Point2223NSWAustralia111111.2812505960
121AlexanderBroadbentMale571997-05-28Desktop Support TechnicianNaNMass CustomerNNo9265 Stephen Trail2209NSWAustralia101201.2625002330
122TeddyLagaduFemale861969-07-20Design EngineerNaNHigh Net WorthNNo62 Charing Cross Trail2759NSWAustralia81201.2625005160
124LudvigAndrenMale441941-02-22Media Manager IIINaNHigh Net WorthNYes15578 Waywood Circle4306QLDAustralia51251.2617198090
131FarrisSkettlesMale381965-07-03Payment Adjustment CoordinatorNaNMass CustomerNYes1349309 Redwing Lane3240VICAustralia71321.2484385560
132SharlineAbyssFemale111960-03-18MissingNaNMass CustomerNYes15367 Bay Point4011QLDAustralia41331.2375006170
135PadraigSnelMale891970-11-08Staff Accountant IINaNMass CustomerNNo1912683 Mifflin Point2114NSWAustralia71331.2375005060
158TedraGoodbanneFemale41978-01-15Senior Quality EngineerNaNMass CustomerNYes68 Debs Road3934VICAustralia91581.1875004350
159RobertoHarmeMale271951-06-11Environmental TechNaNHigh Net WorthNNo10101 Starling Pass2564NSWAustralia91581.1875006970
163FonsieLevaneMale961951-07-10Account Representative IIINaNHigh Net WorthNYes1983 Armistice Terrace4011QLDAustralia31631.1820316970
164EmilieBrodyFemale31979-05-22Director of SalesNaNMass CustomerNYes35388 Burrows Alley2073NSWAustralia111631.1820314150
170AlviraCoulmanFemale421955-06-05Account Representative IINaNAffluent CustomerNNo14823 Wayridge Trail2205NSWAustralia91661.1750006570
176DevonneAlderwickFemale791939-01-29Research AssociateNaNHigh Net WorthNYes9534 Lien Lane3122VICAustralia71771.1625008290
...............................................................
814MaddalenaHenckeFemale611952-12-09Help Desk OperatorNaNHigh Net WorthNNo2264037 Swallow Crossing4170QLDAustralia58100.5875006870
815RandWinchcumMale342000-04-10Software ConsultantNaNAffluent CustomerNNo34594 Jackson Hill2146NSWAustralia78100.5875002130
822BrodAttreyMale461966-11-05Budget/Accounting Analyst IIINaNMass CustomerNYes14180 Lakewood Park2194NSWAustralia88200.5843755460
826HerbertHenrysonMale211995-10-10Marketing ManagerNaNMass CustomerNNo405123 Bobwhite Plaza2528NSWAustralia98200.5843752530
827CristieBenceFemale492000-04-17Automation Specialist IINaNHigh Net WorthNNo93413 Schmedeman Court4122QLDAustralia88280.5800002130
837MontyThomazinMale71951-09-16Quality EngineerNaNMass CustomerNYes1330738 Muir Avenue3105VICAustralia108380.5737506970
838BrianoJanowskiMale661994-07-17Analyst ProgrammerNaNMass CustomerNNo73259 Eagan Parkway2066NSWAustralia88380.5737502630
839GingerNoneMale941939-02-19Human Resources ManagerNaNMass CustomerNNo11160 Fremont Point2259NSWAustralia88400.5710948290
840LoganColombMale741948-01-01RecruiterNaNMass CustomerNYes19266 Lakewood Terrace2761NSWAustralia88400.5710947380
841NicholsDevinnMale471979-09-29RecruiterNaNAffluent CustomerNNo115280 Waxwing Point2071NSWAustralia128420.5700004150
846RosabelleGodsmarkFemale601995-10-19Executive SecretaryNaNMass CustomerNYes34871 Caliangt Hill4102QLDAustralia88450.5631252530
867MycahBeastonMale111961-07-31Environmental SpecialistNaNHigh Net WorthNYes122 Mandrake Street2221NSWAustralia118650.5500005960
879MuffinBharMale441966-04-07MissingNaNAffluent CustomerNNo1915 Weeping Birch Crossing2448NSWAustralia48790.5375005560
882JudiCazereauFemale221997-03-03GIS Technical ArchitectNaNAffluent CustomerNYes1322 Farmco Avenue3851VICAustralia38830.5312502430
893JesseAlflatMale311984-09-01Executive SecretaryNaNHigh Net WorthNNo549 Northfield Drive2145NSWAustralia98930.5206253640
900PanchoEdisMale11970-12-30Assistant ProfessorNaNMass CustomerNNo1364467 Pankratz Pass3023VICAustralia78990.5100005060
906ConwayJuarezMale271967-03-02Help Desk TechnicianNaNAffluent CustomerNNo1766904 American Ash Hill4814QLDAustralia59040.5000005460
907DruCrellimFemale571963-03-04MissingNaNMass CustomerNNo1290 Morningstar Drive3030VICAustralia79040.5000005860
913HildegardeBambFemale161961-02-10Help Desk OperatorNaNHigh Net WorthNYes105070 Division Parkway3910VICAustralia99130.4993756070
914LaunceGaleMale861939-01-15MissingNaNMass CustomerNNo214 Fordem Avenue2777NSWAustralia99130.4993758290
920SheilakathrynHuffFemale451958-05-15Assistant ManagerNaNHigh Net WorthNYes1404 Miller Drive2477NSWAustralia69210.4900006370
941AngeleCadoreFemale51954-09-06Chief Design EngineerNaNMass CustomerNYes785894 Amoth Court4125QLDAustralia79390.4675006670
950LianeAbelevitzFemale261976-11-25OperatorNaNMass CustomerNNo385340 Hovde Way3153VICAustralia79510.4505004450
954LyndellJereattFemale141994-11-28Payment Adjustment CoordinatorNaNHigh Net WorthNNo1358770 Monterey Plaza2122NSWAustralia129540.4500002630
957RhodieGaskallFemale831964-02-01VP Quality ControlNaNMass CustomerNYes9251 Pierstorff Alley4170QLDAustralia99560.4462505760
959BlondellDibdallFemale621967-01-03Programmer IIINaNMass CustomerNNo434 Bunting Pass3048VICAustralia49600.4420005460
971FriedaTavinorFemale431999-03-04MissingNaNAffluent CustomerNNo107 Mallory Lane3064VICAustralia69720.4300002230
975AmbyBodegaMale631968-06-12RecruiterNaNAffluent CustomerNYes17669 Declaration Street3810VICAustralia69740.4250005260
980TyneAnshellFemale711992-04-08Mechanical Systems EngineerNaNMass CustomerNYes393 Sutherland Terrace2560NSWAustralia89790.4165002930
983AugustaMunnsFemale51951-09-17Quality Control SpecialistNaNMass CustomerNNo21607 Memorial Avenue2074NSWAustralia119830.4100006970
\n", "

165 rows × 20 columns

\n", "
" ], "text/plain": [ " first_name last_name gender past_3_years_bike_related_purchases \\\n", "22 Otis Ottey Male 26 \n", "23 Tabbatha Averill Female 5 \n", "33 Mikel McNess Male 71 \n", "36 Farlie Petford Male 76 \n", "43 Corinna Suggey Female 52 \n", "44 Brooke Arling Male 76 \n", "47 Jobina Gobourn Female 85 \n", "57 Marylou Kirkup Female 51 \n", "58 Whittaker None Male 64 \n", "69 Vivienne Crayden Female 82 \n", "73 Yancy Clementet Male 5 \n", "85 Pietra Buckleigh Female 9 \n", "87 Kahaleel None Male 5 \n", "90 Ludovico Juster Male 93 \n", "93 Levy Abramamov Male 94 \n", "94 Nobe McAughtry Male 25 \n", "108 Aridatha Sephton Female 95 \n", "112 David Napoleon Male 72 \n", "121 Alexander Broadbent Male 57 \n", "122 Teddy Lagadu Female 86 \n", "124 Ludvig Andren Male 44 \n", "131 Farris Skettles Male 38 \n", "132 Sharline Abyss Female 11 \n", "135 Padraig Snel Male 89 \n", "158 Tedra Goodbanne Female 4 \n", "159 Roberto Harme Male 27 \n", "163 Fonsie Levane Male 96 \n", "164 Emilie Brody Female 3 \n", "170 Alvira Coulman Female 42 \n", "176 Devonne Alderwick Female 79 \n", ".. ... ... ... ... \n", "814 Maddalena Hencke Female 61 \n", "815 Rand Winchcum Male 34 \n", "822 Brod Attrey Male 46 \n", "826 Herbert Henryson Male 21 \n", "827 Cristie Bence Female 49 \n", "837 Monty Thomazin Male 7 \n", "838 Briano Janowski Male 66 \n", "839 Ginger None Male 94 \n", "840 Logan Colomb Male 74 \n", "841 Nichols Devinn Male 47 \n", "846 Rosabelle Godsmark Female 60 \n", "867 Mycah Beaston Male 11 \n", "879 Muffin Bhar Male 44 \n", "882 Judi Cazereau Female 22 \n", "893 Jesse Alflat Male 31 \n", "900 Pancho Edis Male 1 \n", "906 Conway Juarez Male 27 \n", "907 Dru Crellim Female 57 \n", "913 Hildegarde Bamb Female 16 \n", "914 Launce Gale Male 86 \n", "920 Sheilakathryn Huff Female 45 \n", "941 Angele Cadore Female 5 \n", "950 Liane Abelevitz Female 26 \n", "954 Lyndell Jereatt Female 14 \n", "957 Rhodie Gaskall Female 83 \n", "959 Blondell Dibdall Female 62 \n", "971 Frieda Tavinor Female 43 \n", "975 Amby Bodega Male 63 \n", "980 Tyne Anshell Female 71 \n", "983 Augusta Munns Female 5 \n", "\n", " DOB job_title job_industry_category \\\n", "22 1998-02-05 Quality Engineer NaN \n", "23 1977-12-17 Quality Control Specialist NaN \n", "33 1981-09-22 Nurse NaN \n", "36 1968-03-25 Recruiting Manager NaN \n", "43 1966-09-18 Design Engineer NaN \n", "44 1961-12-05 Missing NaN \n", "47 1994-12-04 VP Quality Control NaN \n", "57 1972-10-31 VP Product Management NaN \n", "58 1966-07-29 Media Manager III NaN \n", "69 1988-09-18 Associate Professor NaN \n", "73 1968-02-16 Mechanical Systems Engineer NaN \n", "85 1949-04-29 Engineer III NaN \n", "87 1942-11-01 GIS Technical Architect NaN \n", "90 1992-04-19 Environmental Specialist NaN \n", "93 1952-09-21 Teacher NaN \n", "94 1978-12-14 Missing NaN \n", "108 1961-10-22 Human Resources Assistant II NaN \n", "112 1961-11-05 Structural Engineer NaN \n", "121 1997-05-28 Desktop Support Technician NaN \n", "122 1969-07-20 Design Engineer NaN \n", "124 1941-02-22 Media Manager III NaN \n", "131 1965-07-03 Payment Adjustment Coordinator NaN \n", "132 1960-03-18 Missing NaN \n", "135 1970-11-08 Staff Accountant II NaN \n", "158 1978-01-15 Senior Quality Engineer NaN \n", "159 1951-06-11 Environmental Tech NaN \n", "163 1951-07-10 Account Representative III NaN \n", "164 1979-05-22 Director of Sales NaN \n", "170 1955-06-05 Account Representative II NaN \n", "176 1939-01-29 Research Associate NaN \n", ".. ... ... ... \n", "814 1952-12-09 Help Desk Operator NaN \n", "815 2000-04-10 Software Consultant NaN \n", "822 1966-11-05 Budget/Accounting Analyst III NaN \n", "826 1995-10-10 Marketing Manager NaN \n", "827 2000-04-17 Automation Specialist II NaN \n", "837 1951-09-16 Quality Engineer NaN \n", "838 1994-07-17 Analyst Programmer NaN \n", "839 1939-02-19 Human Resources Manager NaN \n", "840 1948-01-01 Recruiter NaN \n", "841 1979-09-29 Recruiter NaN \n", "846 1995-10-19 Executive Secretary NaN \n", "867 1961-07-31 Environmental Specialist NaN \n", "879 1966-04-07 Missing NaN \n", "882 1997-03-03 GIS Technical Architect NaN \n", "893 1984-09-01 Executive Secretary NaN \n", "900 1970-12-30 Assistant Professor NaN \n", "906 1967-03-02 Help Desk Technician NaN \n", "907 1963-03-04 Missing NaN \n", "913 1961-02-10 Help Desk Operator NaN \n", "914 1939-01-15 Missing NaN \n", "920 1958-05-15 Assistant Manager NaN \n", "941 1954-09-06 Chief Design Engineer NaN \n", "950 1976-11-25 Operator NaN \n", "954 1994-11-28 Payment Adjustment Coordinator NaN \n", "957 1964-02-01 VP Quality Control NaN \n", "959 1967-01-03 Programmer III NaN \n", "971 1999-03-04 Missing NaN \n", "975 1968-06-12 Recruiter NaN \n", "980 1992-04-08 Mechanical Systems Engineer NaN \n", "983 1951-09-17 Quality Control Specialist NaN \n", "\n", " wealth_segment deceased_indicator owns_car tenure \\\n", "22 Mass Customer N No 3 \n", "23 Affluent Customer N Yes 13 \n", "33 Mass Customer N No 9 \n", "36 High Net Worth N No 13 \n", "43 Affluent Customer N No 9 \n", "44 High Net Worth N No 6 \n", "47 High Net Worth N Yes 14 \n", "57 Mass Customer N No 14 \n", "58 Mass Customer N Yes 8 \n", "69 High Net Worth N Yes 6 \n", "73 High Net Worth N No 15 \n", "85 High Net Worth N No 13 \n", "87 High Net Worth N No 13 \n", "90 Affluent Customer N No 15 \n", "93 Affluent Customer N Yes 14 \n", "94 Mass Customer N No 12 \n", "108 Mass Customer N No 5 \n", "112 High Net Worth N No 14 \n", "121 Mass Customer N No 9 \n", "122 High Net Worth N No 6 \n", "124 High Net Worth N Yes 15 \n", "131 Mass Customer N Yes 13 \n", "132 Mass Customer N Yes 15 \n", "135 Mass Customer N No 19 \n", "158 Mass Customer N Yes 6 \n", "159 High Net Worth N No 10 \n", "163 High Net Worth N Yes 19 \n", "164 Mass Customer N Yes 3 \n", "170 Affluent Customer N No 14 \n", "176 High Net Worth N Yes 9 \n", ".. ... ... ... ... \n", "814 High Net Worth N No 22 \n", "815 Affluent Customer N No 3 \n", "822 Mass Customer N Yes 14 \n", "826 Mass Customer N No 4 \n", "827 High Net Worth N No 9 \n", "837 Mass Customer N Yes 13 \n", "838 Mass Customer N No 7 \n", "839 Mass Customer N No 11 \n", "840 Mass Customer N Yes 19 \n", "841 Affluent Customer N No 11 \n", "846 Mass Customer N Yes 3 \n", "867 High Net Worth N Yes 12 \n", "879 Affluent Customer N No 19 \n", "882 Affluent Customer N Yes 13 \n", "893 High Net Worth N No 5 \n", "900 Mass Customer N No 13 \n", "906 Affluent Customer N No 17 \n", "907 Mass Customer N No 12 \n", "913 High Net Worth N Yes 10 \n", "914 Mass Customer N No 21 \n", "920 High Net Worth N Yes 14 \n", "941 Mass Customer N Yes 7 \n", "950 Mass Customer N No 3 \n", "954 High Net Worth N No 13 \n", "957 Mass Customer N Yes 9 \n", "959 Mass Customer N No 4 \n", "971 Affluent Customer N No 10 \n", "975 Affluent Customer N Yes 17 \n", "980 Mass Customer N Yes 3 \n", "983 Mass Customer N No 21 \n", "\n", " address postcode state country property_valuation \\\n", "22 1562 Merchant Street 4744 QLD Australia 4 \n", "23 663 8th Parkway 2257 NSW Australia 8 \n", "33 3 Pleasure Drive 4122 QLD Australia 9 \n", "36 2330 Butternut Trail 2017 NSW Australia 10 \n", "43 938 Ilene Road 2761 NSW Australia 8 \n", "44 6 Melby Center 3027 VIC Australia 5 \n", "47 18 Grim Road 4305 QLD Australia 4 \n", "57 76733 Sunbrook Terrace 3196 VIC Australia 9 \n", "58 683 Florence Way 3156 VIC Australia 5 \n", "69 69 Algoma Center 4173 QLD Australia 7 \n", "73 9 Union Center 2147 NSW Australia 9 \n", "85 387 Dixon Alley 2024 NSW Australia 10 \n", "87 12 Arapahoe Park 2035 NSW Australia 12 \n", "90 1 Talisman Avenue 2125 NSW Australia 10 \n", "93 6776 Anderson Center 4037 QLD Australia 8 \n", "94 1 Orin Hill 4510 QLD Australia 5 \n", "108 422 Forster Circle 2340 NSW Australia 1 \n", "112 69 Garrison Point 2223 NSW Australia 11 \n", "121 265 Stephen Trail 2209 NSW Australia 10 \n", "122 2 Charing Cross Trail 2759 NSW Australia 8 \n", "124 578 Waywood Circle 4306 QLD Australia 5 \n", "131 49309 Redwing Lane 3240 VIC Australia 7 \n", "132 367 Bay Point 4011 QLD Australia 4 \n", "135 12683 Mifflin Point 2114 NSW Australia 7 \n", "158 8 Debs Road 3934 VIC Australia 9 \n", "159 101 Starling Pass 2564 NSW Australia 9 \n", "163 83 Armistice Terrace 4011 QLD Australia 3 \n", "164 5388 Burrows Alley 2073 NSW Australia 11 \n", "170 823 Wayridge Trail 2205 NSW Australia 9 \n", "176 534 Lien Lane 3122 VIC Australia 7 \n", ".. ... ... ... ... ... \n", "814 64037 Swallow Crossing 4170 QLD Australia 5 \n", "815 4594 Jackson Hill 2146 NSW Australia 7 \n", "822 180 Lakewood Park 2194 NSW Australia 8 \n", "826 05123 Bobwhite Plaza 2528 NSW Australia 9 \n", "827 3413 Schmedeman Court 4122 QLD Australia 8 \n", "837 30738 Muir Avenue 3105 VIC Australia 10 \n", "838 3259 Eagan Parkway 2066 NSW Australia 8 \n", "839 160 Fremont Point 2259 NSW Australia 8 \n", "840 266 Lakewood Terrace 2761 NSW Australia 8 \n", "841 5280 Waxwing Point 2071 NSW Australia 12 \n", "846 4871 Caliangt Hill 4102 QLD Australia 8 \n", "867 2 Mandrake Street 2221 NSW Australia 11 \n", "879 15 Weeping Birch Crossing 2448 NSW Australia 4 \n", "882 22 Farmco Avenue 3851 VIC Australia 3 \n", "893 49 Northfield Drive 2145 NSW Australia 9 \n", "900 64467 Pankratz Pass 3023 VIC Australia 7 \n", "906 66904 American Ash Hill 4814 QLD Australia 5 \n", "907 90 Morningstar Drive 3030 VIC Australia 7 \n", "913 5070 Division Parkway 3910 VIC Australia 9 \n", "914 4 Fordem Avenue 2777 NSW Australia 9 \n", "920 04 Miller Drive 2477 NSW Australia 6 \n", "941 85894 Amoth Court 4125 QLD Australia 7 \n", "950 85340 Hovde Way 3153 VIC Australia 7 \n", "954 58770 Monterey Plaza 2122 NSW Australia 12 \n", "957 251 Pierstorff Alley 4170 QLD Australia 9 \n", "959 34 Bunting Pass 3048 VIC Australia 4 \n", "971 7 Mallory Lane 3064 VIC Australia 6 \n", "975 669 Declaration Street 3810 VIC Australia 6 \n", "980 93 Sutherland Terrace 2560 NSW Australia 8 \n", "983 607 Memorial Avenue 2074 NSW Australia 11 \n", "\n", " Rank Value Age Age Group \n", "22 23 1.500000 23 30 \n", "23 23 1.500000 43 50 \n", "33 32 1.453125 39 40 \n", "36 36 1.447656 53 60 \n", "43 44 1.421094 54 60 \n", "44 44 1.421094 59 60 \n", "47 46 1.407812 26 30 \n", "57 57 1.375000 48 50 \n", "58 57 1.375000 54 60 \n", "69 68 1.354688 32 40 \n", "73 72 1.350000 53 60 \n", "85 85 1.325000 72 80 \n", "87 88 1.314844 78 80 \n", "90 89 1.312500 29 30 \n", "93 89 1.312500 68 70 \n", "94 89 1.312500 42 50 \n", "108 104 1.287500 59 60 \n", "112 111 1.281250 59 60 \n", "121 120 1.262500 23 30 \n", "122 120 1.262500 51 60 \n", "124 125 1.261719 80 90 \n", "131 132 1.248438 55 60 \n", "132 133 1.237500 61 70 \n", "135 133 1.237500 50 60 \n", "158 158 1.187500 43 50 \n", "159 158 1.187500 69 70 \n", "163 163 1.182031 69 70 \n", "164 163 1.182031 41 50 \n", "170 166 1.175000 65 70 \n", "176 177 1.162500 82 90 \n", ".. ... ... ... ... \n", "814 810 0.587500 68 70 \n", "815 810 0.587500 21 30 \n", "822 820 0.584375 54 60 \n", "826 820 0.584375 25 30 \n", "827 828 0.580000 21 30 \n", "837 838 0.573750 69 70 \n", "838 838 0.573750 26 30 \n", "839 840 0.571094 82 90 \n", "840 840 0.571094 73 80 \n", "841 842 0.570000 41 50 \n", "846 845 0.563125 25 30 \n", "867 865 0.550000 59 60 \n", "879 879 0.537500 55 60 \n", "882 883 0.531250 24 30 \n", "893 893 0.520625 36 40 \n", "900 899 0.510000 50 60 \n", "906 904 0.500000 54 60 \n", "907 904 0.500000 58 60 \n", "913 913 0.499375 60 70 \n", "914 913 0.499375 82 90 \n", "920 921 0.490000 63 70 \n", "941 939 0.467500 66 70 \n", "950 951 0.450500 44 50 \n", "954 954 0.450000 26 30 \n", "957 956 0.446250 57 60 \n", "959 960 0.442000 54 60 \n", "971 972 0.430000 22 30 \n", "975 974 0.425000 52 60 \n", "980 979 0.416500 29 30 \n", "983 983 0.410000 69 70 \n", "\n", "[165 rows x 20 columns]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust[new_cust['job_industry_category'].isnull()]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since Percentage of missing Job Industry Category is 16%. We will replace null values with Missing." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "new_cust['job_industry_category'].fillna('Missing', inplace=True, axis=0)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['job_industry_category'].isnull().sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Currently there are no Missing values for Job Industry Category column." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally there are no Missing Values in the dataset." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "first_name 0\n", "last_name 0\n", "gender 0\n", "past_3_years_bike_related_purchases 0\n", "DOB 0\n", "job_title 0\n", "job_industry_category 0\n", "wealth_segment 0\n", "deceased_indicator 0\n", "owns_car 0\n", "tenure 0\n", "address 0\n", "postcode 0\n", "state 0\n", "country 0\n", "property_valuation 0\n", "Rank 0\n", "Value 0\n", "Age 0\n", "Age Group 0\n", "dtype: int64" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust.isnull().sum()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total records after removing Missing Values: 983\n" ] } ], "source": [ "print(\"Total records after removing Missing Values: {}\".format(new_cust.shape[0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Inconsistency Check in Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will check whether there is inconsistent data / typo error data is present in the categorical columns.
\n", "The columns to be checked are 'gender', 'wealth_segment' ,'deceased_indicator', 'owns_car'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.1 Gender" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no inconsistent data in gender column." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Female 513\n", "Male 470\n", "Name: gender, dtype: int64" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['gender'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 Wealth Segment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no inconsistent data in wealth_segment column." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Mass Customer 499\n", "High Net Worth 249\n", "Affluent Customer 235\n", "Name: wealth_segment, dtype: int64" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['wealth_segment'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.3 Deceased Indicator" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no inconsistent data in deceased_indicator column." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "N 983\n", "Name: deceased_indicator, dtype: int64" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['deceased_indicator'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.4 Owns a Car" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no inconsistent data in owns_car column." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "No 497\n", "Yes 486\n", "Name: owns_car, dtype: int64" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['owns_car'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.5 State" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no inconsistent data in state column." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "NSW 499\n", "VIC 258\n", "QLD 226\n", "Name: state, dtype: int64" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['state'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.6 Country" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no inconsistent data in country column." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Australia 983\n", "Name: country, dtype: int64" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['country'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.7 Postcode" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no inconsistent data in postcode column." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
postcodestate
1642073NSW
2022300NSW
6162049NSW
2042429NSW
6152070NSW
2082144NSW
2132165NSW
6082477NSW
2162444NSW
6012103NSW
2222203NSW
2232446NSW
5992096NSW
5932753NSW
1982448NSW
2272099NSW
2312007NSW
2332011NSW
5882539NSW
2362281NSW
2372224NSW
5832574NSW
5802028NSW
5712258NSW
5662030NSW
5652142NSW
5642567NSW
2532166NSW
5582158NSW
2282430NSW
.........
1583934VIC
1533201VIC
1483977VIC
6843860VIC
1943195VIC
1953687VIC
6133782VIC
2123021VIC
2773804VIC
2753976VIC
5373028VIC
5383185VIC
2703199VIC
5443200VIC
2603103VIC
5563335VIC
2563206VIC
1393081VIC
2553031VIC
5673177VIC
2423004VIC
5793133VIC
2403170VIC
5843585VIC
5853677VIC
2343429VIC
5893037VIC
6043129VIC
2453134VIC
3413163VIC
\n", "

515 rows × 2 columns

\n", "
" ], "text/plain": [ " postcode state\n", "164 2073 NSW\n", "202 2300 NSW\n", "616 2049 NSW\n", "204 2429 NSW\n", "615 2070 NSW\n", "208 2144 NSW\n", "213 2165 NSW\n", "608 2477 NSW\n", "216 2444 NSW\n", "601 2103 NSW\n", "222 2203 NSW\n", "223 2446 NSW\n", "599 2096 NSW\n", "593 2753 NSW\n", "198 2448 NSW\n", "227 2099 NSW\n", "231 2007 NSW\n", "233 2011 NSW\n", "588 2539 NSW\n", "236 2281 NSW\n", "237 2224 NSW\n", "583 2574 NSW\n", "580 2028 NSW\n", "571 2258 NSW\n", "566 2030 NSW\n", "565 2142 NSW\n", "564 2567 NSW\n", "253 2166 NSW\n", "558 2158 NSW\n", "228 2430 NSW\n", ".. ... ...\n", "158 3934 VIC\n", "153 3201 VIC\n", "148 3977 VIC\n", "684 3860 VIC\n", "194 3195 VIC\n", "195 3687 VIC\n", "613 3782 VIC\n", "212 3021 VIC\n", "277 3804 VIC\n", "275 3976 VIC\n", "537 3028 VIC\n", "538 3185 VIC\n", "270 3199 VIC\n", "544 3200 VIC\n", "260 3103 VIC\n", "556 3335 VIC\n", "256 3206 VIC\n", "139 3081 VIC\n", "255 3031 VIC\n", "567 3177 VIC\n", "242 3004 VIC\n", "579 3133 VIC\n", "240 3170 VIC\n", "584 3585 VIC\n", "585 3677 VIC\n", "234 3429 VIC\n", "589 3037 VIC\n", "604 3129 VIC\n", "245 3134 VIC\n", "341 3163 VIC\n", "\n", "[515 rows x 2 columns]" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust[['postcode', 'state']].drop_duplicates().sort_values('state')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.8 Address" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no inconsistent data in address column." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
addresspostcodestatecountry
7210 Bay Drive2750NSWAustralia
1380 Dexter Parkway2380NSWAustralia
6240 Emmet Trail4128QLDAustralia
3000 Esker Avenue4019QLDAustralia
6850 Express Lane2142NSWAustralia
5460 Kipling Way2289NSWAustralia
6440 Larry Park3175VICAustralia
3050 Mayfield Parkway4272QLDAustralia
990 Meadow Ridge Street3173VICAustralia
4690 Memorial Road3109VICAustralia
780 Mockingbird Plaza2212NSWAustralia
5240 Nelson Crossing3155VICAustralia
3250 Stoughton Park3000VICAustralia
8940 Summit Center4019QLDAustralia
4460 Union Parkway3142VICAustralia
5010 Veith Way2009NSWAustralia
41300 Judy Terrace2035NSWAustralia
75700 Southridge Avenue2036NSWAustralia
29800003 Hoffman Pass2560NSWAustralia
803005 Kensington Street4165QLDAustralia
456005 Loeprich Way4680QLDAustralia
64201 Reindahl Circle4132QLDAustralia
39011 Northland Trail2160NSWAustralia
33301124 Dottie Lane3630VICAustralia
214013 David Junction4211QLDAustralia
315016 Westport Park3073VICAustralia
1790193 Northland Street4179QLDAustralia
3530197 Sachs Avenue2747NSWAustralia
19802 Hoffman Road2448NSWAustralia
39202 Roth Drive2022NSWAustralia
...............
942955 Burning Wood Way2478NSWAustralia
58595796 Mcbride Drive3677VICAustralia
79596 Hermina Place4350QLDAustralia
45196 Rutledge Drive3064VICAustralia
729608 Heffernan Drive4068QLDAustralia
71296081 Lakewood Hill4650QLDAustralia
659630 Cottonwood Avenue2168NSWAustralia
4549645 Moose Terrace2137NSWAustralia
19696515 Di Loreto Pass4109QLDAustralia
102966 Sunnyside Center2390NSWAustralia
62097 Merrick Center2460NSWAustralia
39597 Transport Plaza2097NSWAustralia
1259722 Northport Way3500VICAustralia
3789736 Mitchell Pass3199VICAustralia
610976 Roxbury Alley4157QLDAustralia
63398 Shoshone Road4207QLDAustralia
15698158 Alpine Point4212QLDAustralia
19298221 Pennsylvania Place2170NSWAustralia
286984 Del Sol Junction4659QLDAustralia
76198454 Dapin Park4556QLDAustralia
48298555 Victoria Hill2171NSWAustralia
66989 Graedel Terrace4208QLDAustralia
96099 Park Meadow Hill2570NSWAustralia
48899 Quincy Parkway3630VICAustralia
65499 Sherman Parkway3083VICAustralia
30899 Westend Court2287NSWAustralia
336990 Hoffman Avenue3029VICAustralia
79699376 Namekagon Street3101VICAustralia
5839940 Manley Drive2574NSWAustralia
50998 Gale Park3174VICAustralia
\n", "

983 rows × 4 columns

\n", "
" ], "text/plain": [ " address postcode state country\n", "721 0 Bay Drive 2750 NSW Australia\n", "138 0 Dexter Parkway 2380 NSW Australia\n", "624 0 Emmet Trail 4128 QLD Australia\n", "300 0 Esker Avenue 4019 QLD Australia\n", "685 0 Express Lane 2142 NSW Australia\n", "546 0 Kipling Way 2289 NSW Australia\n", "644 0 Larry Park 3175 VIC Australia\n", "305 0 Mayfield Parkway 4272 QLD Australia\n", "99 0 Meadow Ridge Street 3173 VIC Australia\n", "469 0 Memorial Road 3109 VIC Australia\n", "78 0 Mockingbird Plaza 2212 NSW Australia\n", "524 0 Nelson Crossing 3155 VIC Australia\n", "325 0 Stoughton Park 3000 VIC Australia\n", "894 0 Summit Center 4019 QLD Australia\n", "446 0 Union Parkway 3142 VIC Australia\n", "501 0 Veith Way 2009 NSW Australia\n", "413 00 Judy Terrace 2035 NSW Australia\n", "757 00 Southridge Avenue 2036 NSW Australia\n", "298 00003 Hoffman Pass 2560 NSW Australia\n", "803 005 Kensington Street 4165 QLD Australia\n", "456 005 Loeprich Way 4680 QLD Australia\n", "642 01 Reindahl Circle 4132 QLD Australia\n", "39 011 Northland Trail 2160 NSW Australia\n", "333 01124 Dottie Lane 3630 VIC Australia\n", "214 013 David Junction 4211 QLD Australia\n", "315 016 Westport Park 3073 VIC Australia\n", "179 0193 Northland Street 4179 QLD Australia\n", "353 0197 Sachs Avenue 2747 NSW Australia\n", "198 02 Hoffman Road 2448 NSW Australia\n", "392 02 Roth Drive 2022 NSW Australia\n", ".. ... ... ... ...\n", "942 955 Burning Wood Way 2478 NSW Australia\n", "585 95796 Mcbride Drive 3677 VIC Australia\n", "795 96 Hermina Place 4350 QLD Australia\n", "451 96 Rutledge Drive 3064 VIC Australia\n", "72 9608 Heffernan Drive 4068 QLD Australia\n", "712 96081 Lakewood Hill 4650 QLD Australia\n", "65 9630 Cottonwood Avenue 2168 NSW Australia\n", "454 9645 Moose Terrace 2137 NSW Australia\n", "196 96515 Di Loreto Pass 4109 QLD Australia\n", "102 966 Sunnyside Center 2390 NSW Australia\n", "620 97 Merrick Center 2460 NSW Australia\n", "395 97 Transport Plaza 2097 NSW Australia\n", "125 9722 Northport Way 3500 VIC Australia\n", "378 9736 Mitchell Pass 3199 VIC Australia\n", "610 976 Roxbury Alley 4157 QLD Australia\n", "633 98 Shoshone Road 4207 QLD Australia\n", "156 98158 Alpine Point 4212 QLD Australia\n", "192 98221 Pennsylvania Place 2170 NSW Australia\n", "286 984 Del Sol Junction 4659 QLD Australia\n", "761 98454 Dapin Park 4556 QLD Australia\n", "482 98555 Victoria Hill 2171 NSW Australia\n", "66 989 Graedel Terrace 4208 QLD Australia\n", "960 99 Park Meadow Hill 2570 NSW Australia\n", "488 99 Quincy Parkway 3630 VIC Australia\n", "654 99 Sherman Parkway 3083 VIC Australia\n", "308 99 Westend Court 2287 NSW Australia\n", "336 990 Hoffman Avenue 3029 VIC Australia\n", "796 99376 Namekagon Street 3101 VIC Australia\n", "583 9940 Manley Drive 2574 NSW Australia\n", "50 998 Gale Park 3174 VIC Australia\n", "\n", "[983 rows x 4 columns]" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust[['address', 'postcode','state','country']].sort_values('address')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.9 Tenure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no inconsistent data in tenure column. The distribution of tenure looks fine." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 983.000000\n", "mean 11.459817\n", "std 5.006123\n", "min 1.000000\n", "25% 8.000000\n", "50% 11.000000\n", "75% 15.000000\n", "max 22.000000\n", "Name: tenure, dtype: float64" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_cust['tenure'].describe()" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Distributon of tenure\n", "\n", "plt.figure(figsize=(15,8))\n", "sns.distplot(new_cust['tenure'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 4. Duplication Checks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to ensure that there is no duplication of records in the dataset. This may lead to error in data analysis due to poor data quality. If there are duplicate rows of data then we need to drop such records.
For checking for duplicate records we need to firstly remove the primary key column of the dataset then apply drop_duplicates() function provided by Python." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of records after removing customer_id (pk), duplicates : 983\n", "Number of records in original dataset : 983\n" ] } ], "source": [ "new_cust_dedupped = new_cust.drop_duplicates()\n", "\n", "print(\"Number of records after removing customer_id (pk), duplicates : {}\".format(new_cust_dedupped.shape[0]))\n", "print(\"Number of records in original dataset : {}\".format(new_cust.shape[0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since both the numbers are same. There are no duplicate records in the dataset." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Exporting the Cleaned New Customers Data Set to csv" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "new_cust.to_csv('NewCustomerList_Cleaned.csv', index=False)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }