Challenge

Project 2 - EDA on Vehicle Insurance Customer Data

Project - 2
​
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df1 = pd.read_csv(r"C:\Users\laksh\Downloads\customer_details.csv")
df1
0	1	2	3	4	5	6	7
0	1.0	Male	44.0	1.0	28.0	0.0	> 2 Years	Yes
1	2.0	Male	76.0	1.0	3.0	0.0	1-2 Year	No
2	3.0	Male	47.0	1.0	28.0	0.0	> 2 Years	Yes
3	4.0	Male	21.0	1.0	11.0	1.0	< 1 Year	No
4	5.0	Female	29.0	1.0	41.0	1.0	< 1 Year	No
...	...	...	...	...	...	...	...	...
381104	381105.0	Male	74.0	1.0	26.0	1.0	1-2 Year	No
381105	381106.0	Male	30.0	1.0	37.0	1.0	< 1 Year	No
381106	381107.0	Male	21.0	1.0	30.0	1.0	< 1 Year	No
381107	381108.0	Female	68.0	1.0	14.0	0.0	> 2 Years	Yes
381108	381109.0	Male	46.0	1.0	29.0	0.0	1-2 Year	No
381109 rows × 8 columns

df1.columns = ['customer_id', 'Gender','age', 'driving licence','region code', 'previously-Insured', 'vehicle-age', 'vehicle-damage']
df1.head()
df1.columns = ['customer_id', 'Gender','age', 'driving licence','region code', 'previously-Insured', 'vehicle-age', 'vehicle-damage']
df1.head()
customer_id	Gender	age	driving licence	region code	previously-Insured	vehicle-age	vehicle-damage
0	1.0	Male	44.0	1.0	28.0	0.0	> 2 Years	Yes
1	2.0	Male	76.0	1.0	3.0	0.0	1-2 Year	No
2	3.0	Male	47.0	1.0	28.0	0.0	> 2 Years	Yes
3	4.0	Male	21.0	1.0	11.0	1.0	< 1 Year	No
4	5.0	Female	29.0	1.0	41.0	1.0	< 1 Year	No
df2 = pd.read_csv(r"C:\Users\laksh\Downloads\customer_policy_details.csv")
df2
0	1	2	3	4
0	1.0	40454.0	26.0	217.0	1.0
1	2.0	33536.0	26.0	183.0	0.0
2	3.0	38294.0	26.0	27.0	1.0
3	4.0	28619.0	152.0	203.0	0.0
4	5.0	27496.0	152.0	39.0	0.0
...	...	...	...	...	...
381104	381105.0	30170.0	26.0	88.0	0.0
381105	381106.0	40016.0	152.0	131.0	0.0
381106	381107.0	35118.0	160.0	161.0	0.0
381107	381108.0	44617.0	124.0	74.0	0.0
381108	381109.0	41777.0	26.0	237.0	0.0
381109 rows × 5 columns

df2.columns = ['customer_id', 'annual premium (in Rs)', 'saleschannel-code', 'vintage','response']
df2.head()
customer_id	annual premium (in Rs)	saleschannel-code	vintage	response
0	1.0	40454.0	26.0	217.0	1.0
1	2.0	33536.0	26.0	183.0	0.0
2	3.0	38294.0	26.0	27.0	1.0
3	4.0	28619.0	152.0	203.0	0.0
4	5.0	27496.0	152.0	39.0	0.0
df1_null = df1.isnull().sum()
df1_null
customer_id           386
Gender                368
age                   368
driving licence       393
region code           392
previously-Insured    381
vehicle-age           381
vehicle-damage        407
dtype: int64
df1_null = 
df1_null = df1.isnull()
for i in df1_null.columns.values.tolist():
    print(i)
    print(df1_null[i].value_counts())
    print("")
customer_id
False    380723
True        386
Name: customer_id, dtype: int64

Gender
False    380741
True        368
Name: Gender, dtype: int64

age
False    380741
True        368
Name: age, dtype: int64

driving licence
False    380716
True        393
Name: driving licence, dtype: int64

region code
False    380717
True        392
Name: region code, dtype: int64

previously-Insured
False    380728
True        381
Name: previously-Insured, dtype: int64

vehicle-age
False    380728
True        381
Name: vehicle-age, dtype: int64

vehicle-damage
False    380702
True        407
Name: vehicle-damage, dtype: int64

df2_null = df2.isnull().sum()
df2_null
customer_id               387
annual premium (in Rs)    346
saleschannel-code         400
vintage                   388
response                  361
dtype: int64
df2_null = df2.isnull()
for i in df2_null.columns:
    print(i)
    print(df2_null[i].value_counts())
    print("")
customer_id
False    380722
True        387
Name: customer_id, dtype: int64

annual premium (in Rs)
False    380763
True        346
Name: annual premium (in Rs), dtype: int64

saleschannel-code
False    380709
True        400
Name: saleschannel-code, dtype: int64

vintage
False    380721
True        388
Name: vintage, dtype: int64

response
False    380748
True        361
Name: response, dtype: int64

df1.dropna(subset = 'customer_id',axis = 0)
customer_id	Gender	age	driving licence	region code	previously-Insured	vehicle-age	vehicle-damage
0	1.0	Male	44.0	1.0	28.0	0.0	> 2 Years	Yes
1	2.0	Male	76.0	1.0	3.0	0.0	1-2 Year	No
2	3.0	Male	47.0	1.0	28.0	0.0	> 2 Years	Yes
3	4.0	Male	21.0	1.0	11.0	1.0	< 1 Year	No
4	5.0	Female	29.0	1.0	41.0	1.0	< 1 Year	No
...	...	...	...	...	...	...	...	...
381104	381105.0	Male	74.0	1.0	26.0	1.0	1-2 Year	No
381105	381106.0	Male	30.0	1.0	37.0	1.0	< 1 Year	No
381106	381107.0	Male	21.0	1.0	30.0	1.0	< 1 Year	No
381107	381108.0	Female	68.0	1.0	14.0	0.0	> 2 Years	Yes
381108	381109.0	Male	46.0	1.0	29.0	0.0	1-2 Year	No
380723 rows × 8 columns

df2.dropna(subset = 'customer_id',axis = 0)
customer_id	annual premium (in Rs)	saleschannel-code	vintage	response
0	1.0	40454.0	26.0	217.0	1.0
1	2.0	33536.0	26.0	183.0	0.0
2	3.0	38294.0	26.0	27.0	1.0
3	4.0	28619.0	152.0	203.0	0.0
4	5.0	27496.0	152.0	39.0	0.0
...	...	...	...	...	...
381104	381105.0	30170.0	26.0	88.0	0.0
381105	381106.0	40016.0	152.0	131.0	0.0
381106	381107.0	35118.0	160.0	161.0	0.0
381107	381108.0	44617.0	124.0	74.0	0.0
381108	381109.0	41777.0	26.0	237.0	0.0
380722 rows × 5 columns

df1.reset_index(drop = True, inplace = True)
df2.reset_index(drop = True, inplace = True)
df1.head()
customer_id	Gender	age	driving licence	region code	previously-Insured	vehicle-age	vehicle-damage
0	1.0	Male	44.0	1.0	28.0	0.0	> 2 Years	Yes
1	2.0	Male	76.0	1.0	3.0	0.0	1-2 Year	No
2	3.0	Male	47.0	1.0	28.0	0.0	> 2 Years	Yes
3	4.0	Male	21.0	1.0	11.0	1.0	< 1 Year	No
4	5.0	Female	29.0	1.0	41.0	1.0	< 1 Year	No
df1['age'].fillna(df1['age'].mean())
0         44.0
1         76.0
2         47.0
3         21.0
4         29.0
          ... 
381104    74.0
381105    30.0
381106    21.0
381107    68.0
381108    46.0
Name: age, Length: 381109, dtype: float64
df1['driving licence'].fillna(df1['driving licence'].mean())
df1['driving licence'].fillna(df1['driving licence'].mean())
0         1.0
1         1.0
2         1.0
3         1.0
4         1.0
         ... 
381104    1.0
381105    1.0
381106    1.0
381107    1.0
381108    1.0
Name: driving licence, Length: 381109, dtype: float64
df1['region code'].fillna(df1['region code'].mean())
0         28.0
1          3.0
2         28.0
3         11.0
4         41.0
          ... 
381104    26.0
381105    37.0
381106    30.0
381107    14.0
381108    29.0
Name: region code, Length: 381109, dtype: float64
df1['previously-Insured'].fillna(df1['previously-Insured'].mean())
0         0.0
1         0.0
2         0.0
3         1.0
4         1.0
         ... 
381104    1.0
381105    1.0
381106    1.0
381107    0.0
381108    0.0
Name: previously-Insured, Length: 381109, dtype: float64
df1['age'].fillna(df1['age'].mode())
0         44.0
1         76.0
2         47.0
3         21.0
4         29.0
          ... 
381104    74.0
381105    30.0
381106    21.0
381107    68.0
381108    46.0
Name: age, Length: 381109, dtype: float64
df1['driving licence'].fillna(df1['driving licence'].mode())
df1['driving licence'].fillna(df1['driving licence'].mode())
0         1.0
1         1.0
2         1.0
3         1.0
4         1.0
         ... 
381104    1.0
381105    1.0
381106    1.0
381107    1.0
381108    1.0
Name: driving licence, Length: 381109, dtype: float64
df1['region code'].fillna(df1['region code'].mode())
df1['region code'].fillna(df1['region code'].mode())
0         28.0
1          3.0
2         28.0
3         11.0
4         41.0
          ... 
381104    26.0
381105    37.0
381106    30.0
381107    14.0
381108    29.0
Name: region code, Length: 381109, dtype: float64
df1['previously-Insured'].fillna(df1['previously-Insured'].mode())
0         0.0
1         0.0
2         0.0
3         1.0
4         1.0
         ... 
381104    1.0
381105    1.0
381106    1.0
381107    0.0
381108    0.0
Name: previously-Insured, Length: 381109, dtype: float64
df1.head()
customer_id	Gender	age	driving licence	region code	previously-Insured	vehicle-age	vehicle-damage
0	1.0	Male	44.0	1.0	28.0	0.0	> 2 Years	Yes
1	2.0	Male	76.0	1.0	3.0	0.0	1-2 Year	No
2	3.0	Male	47.0	1.0	28.0	0.0	> 2 Years	Yes
3	4.0	Male	21.0	1.0	11.0	1.0	< 1 Year	No
4	5.0	Female	29.0	1.0	41.0	1.0	< 1 Year	No
df2['annual premium (in Rs)'].fillna(df2['annual premium (in Rs)'].mean())
0         40454.0
1         33536.0
2         38294.0
3         28619.0
4         27496.0
           ...   
381104    30170.0
381105    40016.0
381106    35118.0
381107    44617.0
381108    41777.0
Name: annual premium (in Rs), Length: 381109, dtype: float64
df2['saleschannel-code'].fillna(df2['saleschannel-code'].mean())
0          26.0
1          26.0
2          26.0
3         152.0
4         152.0
          ...  
381104     26.0
381105    152.0
381106    160.0
381107    124.0
381108     26.0
Name: saleschannel-code, Length: 381109, dtype: float64
df2['vintage'].fillna(df2['vintage'].mean())
0         217.0
1         183.0
2          27.0
3         203.0
4          39.0
          ...  
381104     88.0
381105    131.0
381106    161.0
381107     74.0
381108    237.0
Name: vintage, Length: 381109, dtype: float64
df2['response'].fillna(df2['response'].mean())
0         1.0
1         0.0
2         1.0
3         0.0
4         0.0
         ... 
381104    0.0
381105    0.0
381106    0.0
381107    0.0
381108    0.0
Name: response, Length: 381109, dtype: float64
df2['annual premium (in Rs)'].fillna(df2['annual premium (in Rs)'].mode())
df2['annual premium (in Rs)'].fillna(df2['annual premium (in Rs)'].mode())
0         40454.0
1         33536.0
2         38294.0
3         28619.0
4         27496.0
           ...   
381104    30170.0
381105    40016.0
381106    35118.0
381107    44617.0
381108    41777.0
Name: annual premium (in Rs), Length: 381109, dtype: float64
df2['saleschannel-code'].fillna(df2['saleschannel-code'].mode())
df2['saleschannel-code'].fillna(df2['saleschannel-code'].mode())
0          26.0
1          26.0
2          26.0
3         152.0
4         152.0
          ...  
381104     26.0
381105    152.0
381106    160.0
381107    124.0
381108     26.0
Name: saleschannel-code, Length: 381109, dtype: float64
df2['vintage'].fillna(df2['vintage'].mode())
df2['vintage'].fillna(df2['vintage'].mode())
0         217.0
1         183.0
2          27.0
3         203.0
4          39.0
          ...  
381104     88.0
381105    131.0
381106    161.0
381107     74.0
381108    237.0
Name: vintage, Length: 381109, dtype: float64
df2['response'].fillna(df2['response'].mode())
df2['response'].fillna(df2['response'].mode())
0         1.0
1         0.0
2         1.0
3         0.0
4         0.0
         ... 
381104    0.0
381105    0.0
381106    0.0
381107    0.0
381108    0.0
Name: response, Length: 381109, dtype: float64
def find_outliers(df):
    q1 = df.quantile(0.25)
    q3 = df.quantile(0.75)
    iqr = q3-q1
    outlier = df[((df<(q1-1.5*iqr)) | (df>(q3+1.5*iqr)))]
    return outlier
outliers = find_outliers(df1['age'])
print('No. of outliers :',len(outliers))
print('The Maximum value of outlier :',outliers.max())
print('The Minimum value of outlier:',outliers.min())
No. of outliers : 0
The Maximum value of outlier : nan
The Minimum value of outlier: nan
outliers = find_outliers(df1['region code'])
print('No. of outliers :',len(outliers))
print('The Maximum value of outlier :',outliers.max())
print('The Minimum value of outlier:',outliers.min())
No. of outliers : 0
The Maximum value of outlier : nan
The Minimum value of outlier: nan
outliers = find_outliers(df2['annual premium (in Rs)'])
print('No. of outliers :',len(outliers))
print('The Maximum value of outlier :',outliers.max())
print('The Minimum value of outlier:',outliers.min())
No. of outliers : 10308
The Maximum value of outlier : 540165.0
The Minimum value of outlier: 61892.0
outliers = find_outliers(df2['saleschannel-code'])
print('No. of outliers :',len(outliers))
print('The Maximum value of outlier :',outliers.max())
print('The Minimum value of outlier:',outliers.min())
No. of outliers : 0
The Maximum value of outlier : nan
The Minimum value of outlier: nan
outliers = find_outliers(df2['vintage'])
print('No. of outliers :',len(outliers))
print('The Maximum value of outlier :',outliers.max())
print('The Minimum value of outlier:',outliers.min())
No. of outliers : 0
The Maximum value of outlier : nan
The Minimum value of outlier: nan
def replace_outlier(df):
    q1 = df.quantile(0.25)
    q3 = df.quantile(0.75)
    iqr = q3-q1
    upper = df[~(df>(q3+1.5*iqr))].max()
    lower = df[~(df<(q1-1.5*iqr))].min()
    df = np.where(df>upper,df.mean(),np.where(df<lower,df.mean(),df))
    return df
df2['annual premium (in Rs)'] = replace_outlier(df2['annual premium (in Rs)'])
df1.apply(lambda x: x.str.strip() if x.dtype=='object' else x)
customer_id	Gender	age	driving licence	region code	previously-Insured	vehicle-age	vehicle-damage
0	1.0	Male	44.0	1.0	28.0	0.0	> 2 Years	Yes
1	2.0	Male	76.0	1.0	3.0	0.0	1-2 Year	No
2	3.0	Male	47.0	1.0	28.0	0.0	> 2 Years	Yes
3	4.0	Male	21.0	1.0	11.0	1.0	< 1 Year	No
4	5.0	Female	29.0	1.0	41.0	1.0	< 1 Year	No
...	...	...	...	...	...	...	...	...
381104	381105.0	Male	74.0	1.0	26.0	1.0	1-2 Year	No
381105	381106.0	Male	30.0	1.0	37.0	1.0	< 1 Year	No
381106	381107.0	Male	21.0	1.0	30.0	1.0	< 1 Year	No
381107	381108.0	Female	68.0	1.0	14.0	0.0	> 2 Years	Yes
381108	381109.0	Male	46.0	1.0	29.0	0.0	1-2 Year	No
381109 rows × 8 columns

df1.apply(lambda x: x.str.upper() if x.dtype=='object' else x)
​
customer_id	Gender	age	driving licence	region code	previously-Insured	vehicle-age	vehicle-damage
0	1.0	MALE	44.0	1.0	28.0	0.0	> 2 YEARS	YES
1	2.0	MALE	76.0	1.0	3.0	0.0	1-2 YEAR	NO
2	3.0	MALE	47.0	1.0	28.0	0.0	> 2 YEARS	YES
3	4.0	MALE	21.0	1.0	11.0	1.0	< 1 YEAR	NO
4	5.0	FEMALE	29.0	1.0	41.0	1.0	< 1 YEAR	NO
...	...	...	...	...	...	...	...	...
381104	381105.0	MALE	74.0	1.0	26.0	1.0	1-2 YEAR	NO
381105	381106.0	MALE	30.0	1.0	37.0	1.0	< 1 YEAR	NO
381106	381107.0	MALE	21.0	1.0	30.0	1.0	< 1 YEAR	NO
381107	381108.0	FEMALE	68.0	1.0	14.0	0.0	> 2 YEARS	YES
381108	381109.0	MALE	46.0	1.0	29.0	0.0	1-2 YEAR	NO
381109 rows × 8 columns

df1.apply(lambda x: x.str.lower() if x.dtype=='object' else x)

df1.apply(lambda x: x.str.lower() if x.dtype=='object' else x)
​
customer_id	Gender	age	driving licence	region code	previously-Insured	vehicle-age	vehicle-damage
0	1.0	male	44.0	1.0	28.0	0.0	> 2 years	yes
1	2.0	male	76.0	1.0	3.0	0.0	1-2 year	no
2	3.0	male	47.0	1.0	28.0	0.0	> 2 years	yes
3	4.0	male	21.0	1.0	11.0	1.0	< 1 year	no
4	5.0	female	29.0	1.0	41.0	1.0	< 1 year	no
...	...	...	...	...	...	...	...	...
381104	381105.0	male	74.0	1.0	26.0	1.0	1-2 year	no
381105	381106.0	male	30.0	1.0	37.0	1.0	< 1 year	no
381106	381107.0	male	21.0	1.0	30.0	1.0	< 1 year	no
381107	381108.0	female	68.0	1.0	14.0	0.0	> 2 years	yes
381108	381109.0	male	46.0	1.0	29.0	0.0	1-2 year	no
381109 rows × 8 columns

dummy = pd.get_dummies(df1) 
dummy.head()
customer_id	age	driving licence	region code	previously-Insured	Gender_Female	Gender_Male	vehicle-age_1-2 Year	vehicle-age_< 1 Year	vehicle-age_> 2 Years	vehicle-damage_No	vehicle-damage_Yes
0	1.0	44.0	1.0	28.0	0.0	0	1	0	0	1	0	1
1	2.0	76.0	1.0	3.0	0.0	0	1	1	0	0	1	0
2	3.0	47.0	1.0	28.0	0.0	0	1	0	0	1	0	1
3	4.0	21.0	1.0	11.0	1.0	0	1	0	1	0	1	0
4	5.0	29.0	1.0	41.0	1.0	1	0	0	1	0	1	0
dummy = pd.get_dummies(df2) 
dummy.head()
customer_id	annual premium (in Rs)	saleschannel-code	vintage	response
0	1.0	40454.0	26.0	217.0	1.0
1	2.0	33536.0	26.0	183.0	0.0
2	3.0	38294.0	26.0	27.0	1.0
3	4.0	28619.0	152.0	203.0	0.0
4	5.0	27496.0	152.0	39.0	0.0
​
df1
df1
customer_id	Gender	age	driving licence	region code	previously-Insured	vehicle-age	vehicle-damage
0	1.0	Male	44.0	1.0	28.0	0.0	> 2 Years	Yes
1	2.0	Male	76.0	1.0	3.0	0.0	1-2 Year	No
2	3.0	Male	47.0	1.0	28.0	0.0	> 2 Years	Yes
3	4.0	Male	21.0	1.0	11.0	1.0	< 1 Year	No
4	5.0	Female	29.0	1.0	41.0	1.0	< 1 Year	No
...	...	...	...	...	...	...	...	...
381104	381105.0	Male	74.0	1.0	26.0	1.0	1-2 Year	No
381105	381106.0	Male	30.0	1.0	37.0	1.0	< 1 Year	No
381106	381107.0	Male	21.0	1.0	30.0	1.0	< 1 Year	No
381107	381108.0	Female	68.0	1.0	14.0	0.0	> 2 Years	Yes
381108	381109.0	Male	46.0	1.0	29.0	0.0	1-2 Year	No
381109 rows × 8 columns

master_table = pd.merge(df1,df2, on = 'customer_id')
master_table
customer_id	Gender	age	driving licence	region code	previously-Insured	vehicle-age	vehicle-damage	annual premium (in Rs)	saleschannel-code	vintage	response
0	1.0	Male	44.0	1.0	28.0	0.0	> 2 Years	Yes	40454.0	26.0	217.0	1.0
1	2.0	Male	76.0	1.0	3.0	0.0	1-2 Year	No	33536.0	26.0	183.0	0.0
2	3.0	Male	47.0	1.0	28.0	0.0	> 2 Years	Yes	38294.0	26.0	27.0	1.0
3	4.0	Male	21.0	1.0	11.0	1.0	< 1 Year	No	28619.0	152.0	203.0	0.0
4	5.0	Female	29.0	1.0	41.0	1.0	< 1 Year	No	27496.0	152.0	39.0	0.0
...	...	...	...	...	...	...	...	...	...	...	...	...
529713	381105.0	Male	74.0	1.0	26.0	1.0	1-2 Year	No	30170.0	26.0	88.0	0.0
529714	381106.0	Male	30.0	1.0	37.0	1.0	< 1 Year	No	40016.0	152.0	131.0	0.0
529715	381107.0	Male	21.0	1.0	30.0	1.0	< 1 Year	No	35118.0	160.0	161.0	0.0
529716	381108.0	Female	68.0	1.0	14.0	0.0	> 2 Years	Yes	44617.0	124.0	74.0	0.0
529717	381109.0	Male	46.0	1.0	29.0	0.0	1-2 Year	No	41777.0	26.0	237.0	0.0
529718 rows × 12 columns

Gender_wise = master_table.groupby(['Gender']).mean()['annual premium (in Rs)']
Gender_wise
Gender
Female    29138.606044
Male      29173.152297
Name: annual premium (in Rs), dtype: float64
er_table
age_wise = master_table.groupby(['age']).mean()['annual premium (in Rs)']
age_wise
age
20.0    26917.306729
21.0    29465.148383
22.0    29552.815873
23.0    29605.959154
24.0    29703.813044
            ...     
81.0    29287.894657
82.0    36480.575871
83.0    28995.804558
84.0    35440.818182
85.0    26637.427298
Name: annual premium (in Rs), Length: 66, dtype: float64
le
master_table.groupby(['Gender']).sum()['age']
Gender
Female     8807295.0
Male      11705141.0
Name: age, dtype: float64
er_table
master_table.groupby(['age']).sum()
customer_id	driving licence	region code	previously-Insured	annual premium (in Rs)	saleschannel-code	vintage	response
age								
20.0	1.189134e+09	8143.0	202156.0	4421.0	2.189454e+08	1191384.0	1248382.0	440.0
21.0	3.107672e+09	23361.0	602384.0	13309.0	6.874514e+08	3300419.0	3586184.0	1542.0
22.0	3.974140e+09	31708.0	837665.0	19638.0	9.355239e+08	4307725.0	4861014.0	2272.0
23.0	4.638462e+09	31136.0	776270.0	21268.0	9.209822e+08	4266878.0	4759723.0	1861.0
24.0	4.939661e+09	37858.0	890551.0	25262.0	1.122745e+09	5182246.0	5787723.0	2585.0
...	...	...	...	...	...	...	...	...
81.0	9.987562e+06	50.0	1807.0	28.0	1.640122e+06	3383.0	9662.0	4.0
82.0	6.639331e+06	26.0	777.0	14.0	1.057937e+06	1767.0	4723.0	1.0
83.0	4.073258e+06	21.0	607.0	14.0	6.379077e+05	1531.0	3510.0	1.0
84.0	1.553087e+06	10.0	317.0	9.0	3.898490e+05	563.0	1525.0	0.0
85.0	1.910183e+06	10.0	327.0	4.0	2.930117e+05	755.0	1765.0	0.0
66 rows × 8 columns

er_table
vehicle_age = master_table.groupby(['vehicle-age']).mean()['annual premium (in Rs)']
vehicle_age
vehicle-age
1-2 Year     29012.819064
< 1 Year     29076.004865
> 2 Years    31790.747224
Name: annual premium (in Rs), dtype: float64
correlation_table = master_table['age'].corr(master_table['annual premium (in Rs)']) 
correlation_table
0.036403612835651994
er_table
master_table[['age','annual premium (in Rs)']].corr()
age	annual premium (in Rs)
age	1.000000	0.036404
annual premium (in Rs)	0.036404	1.000000
def boxplot(df,ft):
    df.boxplot(column = [ft])
    plt.grid(False)
boxplot(df1,'age')

boxplot(df1,'region code')
boxplot(df1,'region code')

boxplot(df1,'previously-Insured')
boxplot(df1,'previously-Insured')

boxplot(df2,'annual premium (in Rs)')
boxplot(df2,'annual premium (in Rs)')

boxplot(df2,'vintage')
boxplot(df2,'vintage')

boxplot(df2,'saleschannel-code')
boxplot(df2,'saleschannel-code')

Gender_wise.plot()
<AxesSubplot:xlabel='Gender'>

Gender_wise.plot.bar()
<AxesSubplot:xlabel='Gender'>

age_wise.plot()
<AxesSubplot:xlabel='age'>

age_wise.plot.bar()
<AxesSubplot:xlabel='age'>

vehicle_age.plot()
<AxesSubplot:xlabel='vehicle-age'>

vehicle_age.plot.bar()
<AxesSubplot:xlabel='vehicle-age'>

​
Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.