Project 2 - EDA on Vehicle Insurance Customer Data
import pandas as pd
In [92]:
df = pd.DataFrame(columns=['customer_id','Gender','Age','Driving license present','Region code','previously insured','vehicle Age','vehicle Damage'])
In [93]:
df
Out[93]:
| customer_id | Gender | Age | Driving license present | Region code | previously insured | vehicle Age | vehicle Damage |
|---|
In [94]:
# Column Name for customer_policy table:
df1 = pd.DataFrame(columns = ['customer_id','annual premium(in RS)','sales channel code','vintage and response'])
In [95]:
df1
Out[95]:
| customer_id | annual premium(in RS) | sales channel code | vintage and response |
|---|
In [96]:
# Loading data from files into DataFrames
df = pd.read_csv('Downloads\EDA on V I C D.csv')
In [97]:
df
Out[97]:
| Customer_id | Gender | Age | driving license present | region code | previously insured | vehicle age | vehicle Damage | |
|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Male | 44 | 1 | 28 | 0 | > 2 Years | Yes |
| 1 | 2 | Male | 76 | 1 | 3 | 0 | 1-2 Year | No |
| 2 | 3 | Male | 47 | 1 | 28 | 0 | > 2 Years | Yes |
| 3 | 4 | Male | 21 | 1 | 11 | 1 | < 1 Year | No |
| 4 | 5 | Female | 29 | 1 | 41 | 1 | < 1 Year | No |
| 5 | 6 | Female | 24 | 1 | 33 | 0 | < 1 Year | Yes |
| 6 | 7 | Male | 23 | 1 | 11 | 0 | < 1 Year | Yes |
| 7 | 8 | Female | 56 | 1 | 28 | 0 | 1-2 Year | Yes |
| 8 | 9 | Female | 24 | 1 | 3 | 1 | < 1 Year | No |
| 9 | 10 | Female | 32 | 1 | 6 | 1 | < 1 Year | No |
| 10 | 11 | Female | 47 | 1 | 35 | 0 | 1-2 Year | Yes |
| 11 | 12 | Female | 24 | 1 | 50 | 1 | < 1 Year | No |
| 12 | 13 | Female | 41 | 1 | 15 | 1 | 1-2 Year | No |
| 13 | 14 | Male | 76 | 1 | 28 | 0 | 1-2 Year | Yes |
| 14 | 15 | Male | 71 | 1 | 28 | 1 | 1-2 Year | No |
| 15 | 16 | Male | 37 | 1 | 6 | 0 | 1-2 Year | Yes |
| 16 | 17 | Female | 25 | 1 | 45 | 0 | < 1 Year | Yes |
| 17 | 18 | Female | 25 | 1 | 35 | 1 | < 1 Year | No |
| 18 | 19 | Male | 42 | 1 | 28 | 0 | 1-2 Year | Yes |
| 19 | 20 | Female | 60 | 1 | 33 | 0 | 1-2 Year | Yes |
| 20 | 21 | Male | 65 | 1 | 28 | 0 | 1-2 Year | Yes |
| 21 | 22 | Male | 49 | 1 | 28 | 0 | 1-2 Year | Yes |
| 22 | 23 | Male | 23 | 1 | 50 | 1 | < 1 Year | No |
| 23 | 24 | Male | 44 | 1 | 28 | 0 | 1-2 Year | Yes |
| 24 | 25 | Male | 34 | 1 | 15 | 1 | 1-2 Year | No |
| 25 | 26 | Female | 21 | 1 | 28 | 1 | < 1 Year | No |
| 26 | 27 | Female | 51 | 1 | 28 | 0 | 1-2 Year | Yes |
| 27 | 28 | Male | 26 | 1 | 6 | 1 | < 1 Year | No |
| 28 | 29 | Female | 25 | 1 | 8 | 1 | < 1 Year | No |
| 29 | 30 | Male | 57 | 1 | 11 | 0 | 1-2 Year | Yes |
| 30 | 31 | Female | 26 | 1 | 8 | 0 | < 1 Year | No |
| 31 | 32 | Male | 79 | 1 | 28 | 0 | 1-2 Year | Yes |
| 32 | 33 | Female | 48 | 1 | 28 | 0 | 1-2 Year | Yes |
| 33 | 34 | Female | 24 | 1 | 36 | 0 | < 1 Year | Yes |
| 34 | 35 | Female | 32 | 1 | 30 | 1 | < 1 Year | No |
| 35 | 36 | Male | 41 | 1 | 36 | 1 | 1-2 Year | No |
| 36 | 37 | Male | 71 | 1 | 8 | 1 | 1-2 Year | No |
| 37 | 38 | Female | 25 | 1 | 28 | 1 | < 1 Year | No |
| 38 | 39 | Male | 45 | 1 | 8 | 0 | 1-2 Year | Yes |
| 39 | 40 | Male | 72 | 1 | 41 | 1 | 1-2 Year |
No |
df1 = pd.read_csv('Downloads\EDA on V I C D 1.csv')
In [99]:
df1
Out[99]:
| Customer_id | annual premium (inRs) | sales channel code | vintage | response | |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 | 4 |
| 1 | 1 | 40454 | 26 | 217 | 1 |
| 2 | 2 | 33536 | 26 | 183 | 0 |
| 3 | 3 | 38294 | 26 | 27 | 1 |
| 4 | 4 | 28619 | 152 | 203 | 0 |
| 5 | 5 | 27496 | 152 | 39 | 0 |
| 6 | 6 | 2630 | 160 | 176 | 0 |
| 7 | 7 | 23367 | 152 | 249 | 0 |
| 8 | 8 | 32031 | 26 | 72 | 1 |
| 9 | 9 | 27619 | 152 | 28 | 0 |
| 10 | 10 | 28771 | 152 | 80 | 0 |
| 11 | 11 | 47576 | 124 | 46 | 1 |
| 12 | 12 | 48699 | 152 | 289 | 0 |
| 13 | 13 | 31409 | 14 | 221 | 0 |
| 14 | 14 | 36770 | 13 | 15 | 0 |
| 15 | 15 | 46818 | 30 | 58 | 0 |
| 16 | 16 | 2630 | 156 | 147 | 1 |
| 17 | 17 | 26218 | 160 | 256 | 0 |
| 18 | 18 | 46622 | 152 | 299 | 0 |
| 19 | 19 | 33667 | 124 | 158 | 0 |
| 20 | 20 | 32363 | 124 | 102 | 1 |
| 21 | 21 | 41184 | 124 | 116 | 0 |
| 22 | 22 | 50791 | 124 | 177 | 0 |
| 23 | 23 | 45283 | 152 | 232 | 0 |
| 24 | 24 | 41852 | 163 | 60 | 0 |
| 25 | 25 | 38111 | 152 | 180 | 0 |
| 26 | 26 | 61964 | 152 | 72 | 0 |
| 27 | 27 | 38341 | 124 | 49 | 1 |
| 28 | 28 | 19135 | 152 | 57 | 0 |
| 29 | 29 | 27946 | 152 | 223 | 0 |
| 30 | 30 | 25679 | 157 | 232 | 1 |
| 31 | 31 | 2630 | 160 | 136 | 0 |
| 32 | 32 | 57444 | 26 | 222 | 0 |
| 33 | 33 | 36951 | 122 | 149 | 0 |
| 34 | 34 | 43129 | 152 | 49 | 0 |
| 35 | 35 | 27638 | 152 | 169 | 0 |
| 36 | 36 | 30039 | 124 | 88 | 0 |
| 37 | 37 | 40903 | 19 | 253 | 0 |
| 38 | 38 | 76251 | 152 | 107 | 0 |
| 39 | 39 | 42297 | 124 | 264 | 0 |
| 40 | 40 | 32210 | 152 | 233 | 0 |
df.isnull()
| Customer_id | Gender | Age | driving license present | region code | previously insured | vehicle age | vehicle Damage | |
|---|---|---|---|---|---|---|---|---|
| 0 | False | False | False | False | False | False | False | False |
| 1 | False | False | False | False | False | False | False | False |
| 2 | False | False | False | False | False | False | False | False |
| 3 | False | False | False | False | False | False | False | False |
| 4 | False | False | False | False | False | False | False | False |
| 5 | False | False | False | False | False | False | False | False |
| 6 | False | False | False | False | False | False | False | False |
| 7 | False | False | False | False | False | False | False | False |
| 8 | False | False | False | False | False | False | False | False |
| 9 | False | False | False | False | False | False | False | False |
| 10 | False | False | False | False | False | False | False | False |
| 11 | False | False | False | False | False | False | False | False |
| 12 | False | False | False | False | False | False | False | False |
| 13 | False | False | False | False | False | False | False | False |
| 14 | False | False | False | False | False | False | False | False |
| 15 | False | False | False | False | False | False | False | False |
| 16 | False | False | False | False | False | False | False | False |
| 17 | False | False | False | False | False | False | False | False |
| 18 | False | False | False | False | False | False | False | False |
| 19 | False | False | False | False | False | False | False | False |
| 20 | False | False | False | False | False | False | False | False |
| 21 | False | False | False | False | False | False | False | False |
| 22 | False | False | False | False | False | False | False | False |
| 23 | False | False | False | False | False | False | False | False |
| 24 | False | False | False | False | False | False | False | False |
| 25 | False | False | False | False | False | False | False | False |
| 26 | False | False | False | False | False | False | False | False |
| 27 | False | False | False | False | False | False | False | False |
| 28 | False | False | False | False | False | False | False | False |
| 29 | False | False | False | False | False | False | False | False |
| 30 | False | False | False | False | False | False | False | False |
| 31 | False | False | False | False | False | False | False | False |
| 32 | False | False | False | False | False | False | False | False |
| 33 | False | False | False | False | False | False | False | False |
| 34 | False | False | False | False | False | False | False | False |
| 35 | False | False | False | False | False | False | False | False |
| 36 | False | False | False | False | False | False | False | False |
| 37 | False | False | False | False | False | False | False | False |
| 38 | False | False | False | False | False | False | False | False |
| 39 | False | False | False | False | False | False | False | False |
In [101]:
df["Customer_id"].fillna(df["Customer_id"].mean())
Out[101]:
0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 Name: Customer_id, dtype: int64
In [102]:
df1.isnull()
Out[102]:
| Customer_id | annual premium (inRs) | sales channel code | vintage | response | |
|---|---|---|---|---|---|
| 0 | False | False | False | False | False |
| 1 | False | False | False | False | False |
| 2 | False | False | False | False | False |
| 3 | False | False | False | False | False |
| 4 | False | False | False | False | False |
| 5 | False | False | False | False | False |
| 6 | False | False | False | False | False |
| 7 | False | False | False | False | False |
| 8 | False | False | False | False | False |
| 9 | False | False | False | False | False |
| 10 | False | False | False | False | False |
| 11 | False | False | False | False | False |
| 12 | False | False | False | False | False |
| 13 | False | False | False | False | False |
| 14 | False | False | False | False | False |
| 15 | False | False | False | False | False |
| 16 | False | False | False | False | False |
| 17 | False | False | False | False | False |
| 18 | False | False | False | False | False |
| 19 | False | False | False | False | False |
| 20 | False | False | False | False | False |
| 21 | False | False | False | False | False |
| 22 | False | False | False | False | False |
| 23 | False | False | False | False | False |
| 24 | False | False | False | False | False |
| 25 | False | False | False | False | False |
| 26 | False | False | False | False | False |
| 27 | False | False | False | False | False |
| 28 | False | False | False | False | False |
| 29 | False | False | False | False | False |
| 30 | False | False | False | False | False |
| 31 | False | False | False | False | False |
| 32 | False | False | False | False | False |
| 33 | False | False | False | False | False |
| 34 | False | False | False | False | False |
| 35 | False | False | False | False | False |
| 36 | False | False | False | False | False |
| 37 | False | False | False | False | False |
| 38 | False | False | False | False | False |
| 39 | False | False | False | False | False |
| 40 | False | False | False | False | False |
In [103]:
df1["Customer_id"].fillna(df1["Customer_id"].mean())
Out[103]:
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 Name: Customer_id, dtype: int64
In [105]:
df1.dropna()
Out[105]:
| Customer_id | annual premium (inRs) | sales channel code | vintage | response | |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 | 4 |
| 1 | 1 | 40454 | 26 | 217 | 1 |
| 2 | 2 | 33536 | 26 | 183 | 0 |
| 3 | 3 | 38294 | 26 | 27 | 1 |
| 4 | 4 | 28619 | 152 | 203 | 0 |
| 5 | 5 | 27496 | 152 | 39 | 0 |
| 6 | 6 | 2630 | 160 | 176 | 0 |
| 7 | 7 | 23367 | 152 | 249 | 0 |
| 8 | 8 | 32031 | 26 | 72 | 1 |
| 9 | 9 | 27619 | 152 | 28 | 0 |
| 10 | 10 | 28771 | 152 | 80 | 0 |
| 11 | 11 | 47576 | 124 | 46 | 1 |
| 12 | 12 | 48699 | 152 | 289 | 0 |
| 13 | 13 | 31409 | 14 | 221 | 0 |
| 14 | 14 | 36770 | 13 | 15 | 0 |
| 15 | 15 | 46818 | 30 | 58 | 0 |
| 16 | 16 | 2630 | 156 | 147 | 1 |
| 17 | 17 | 26218 | 160 | 256 | 0 |
| 18 | 18 | 46622 | 152 | 299 | 0 |
| 19 | 19 | 33667 | 124 | 158 | 0 |
| 20 | 20 | 32363 | 124 | 102 | 1 |
| 21 | 21 | 41184 | 124 | 116 | 0 |
| 22 | 22 | 50791 | 124 | 177 | 0 |
| 23 | 23 | 45283 | 152 | 232 | 0 |
| 24 | 24 | 41852 | 163 | 60 | 0 |
| 25 | 25 | 38111 | 152 | 180 | 0 |
| 26 | 26 | 61964 | 152 | 72 | 0 |
| 27 | 27 | 38341 | 124 | 49 | 1 |
| 28 | 28 | 19135 | 152 | 57 | 0 |
| 29 | 29 | 27946 | 152 | 223 | 0 |
| 30 | 30 | 25679 | 157 | 232 | 1 |
| 31 | 31 | 2630 | 160 | 136 | 0 |
| 32 | 32 | 57444 | 26 | 222 | 0 |
| 33 | 33 | 36951 | 122 | 149 | 0 |
| 34 | 34 | 43129 | 152 | 49 | 0 |
| 35 | 35 | 27638 | 152 | 169 | 0 |
| 36 | 36 | 30039 | 124 | 88 | 0 |
| 37 | 37 | 40903 | 19 | 253 | 0 |
| 38 | 38 | 76251 | 152 | 107 | 0 |
| 39 | 39 | 42297 | 124 | 264 | 0 |
| 40 | 40 | 32210 | 152 | 233 | 0 |
In [106]:
df1.dropna(axis=1)
Out[106]:
| Customer_id | annual premium (inRs) | sales channel code | vintage | response | |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 | 4 |
| 1 | 1 | 40454 | 26 | 217 | 1 |
| 2 | 2 | 33536 | 26 | 183 | 0 |
| 3 | 3 | 38294 | 26 | 27 | 1 |
| 4 | 4 | 28619 | 152 | 203 | 0 |
| 5 | 5 | 27496 | 152 | 39 | 0 |
| 6 | 6 | 2630 | 160 | 176 | 0 |
| 7 | 7 | 23367 | 152 | 249 | 0 |
| 8 | 8 | 32031 | 26 | 72 | 1 |
| 9 | 9 | 27619 | 152 | 28 | 0 |
| 10 | 10 | 28771 | 152 | 80 | 0 |
| 11 | 11 | 47576 | 124 | 46 | 1 |
| 12 | 12 | 48699 | 152 | 289 | 0 |
| 13 | 13 | 31409 | 14 | 221 | 0 |
| 14 | 14 | 36770 | 13 | 15 | 0 |
| 15 | 15 | 46818 | 30 | 58 | 0 |
| 16 | 16 | 2630 | 156 | 147 | 1 |
| 17 | 17 | 26218 | 160 | 256 | 0 |
| 18 | 18 | 46622 | 152 | 299 | 0 |
| 19 | 19 | 33667 | 124 | 158 | 0 |
| 20 | 20 | 32363 | 124 | 102 | 1 |
| 21 | 21 | 41184 | 124 | 116 | 0 |
| 22 | 22 | 50791 | 124 | 177 | 0 |
| 23 | 23 | 45283 | 152 | 232 | 0 |
| 24 | 24 | 41852 | 163 | 60 | 0 |
| 25 | 25 | 38111 | 152 | 180 | 0 |
| 26 | 26 | 61964 | 152 | 72 | 0 |
| 27 | 27 | 38341 | 124 | 49 | 1 |
| 28 | 28 | 19135 | 152 | 57 | 0 |
| 29 | 29 | 27946 | 152 | 223 | 0 |
| 30 | 30 | 25679 | 157 | 232 | 1 |
| 31 | 31 | 2630 | 160 | 136 | 0 |
| 32 | 32 | 57444 | 26 | 222 | 0 |
| 33 | 33 | 36951 | 122 | 149 | 0 |
| 34 | 34 | 43129 | 152 | 49 | 0 |
| 35 | 35 | 27638 | 152 | 169 | 0 |
| 36 | 36 | 30039 | 124 | 88 | 0 |
| 37 | 37 | 40903 | 19 | 253 | 0 |
| 38 | 38 | 76251 | 152 | 107 | 0 |
| 39 | 39 | 42297 | 124 | 264 | 0 |
| 40 | 40 | 32210 | 152 | 233 | 0 |
In [107]:
df.dropna()
Out[107]:
| Customer_id | Gender | Age | driving license present | region code | previously insured | vehicle age | vehicle Damage | |
|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Male | 44 | 1 | 28 | 0 | > 2 Years | Yes |
| 1 | 2 | Male | 76 | 1 | 3 | 0 | 1-2 Year | No |
| 2 | 3 | Male | 47 | 1 | 28 | 0 | > 2 Years | Yes |
| 3 | 4 | Male | 21 | 1 | 11 | 1 | < 1 Year | No |
| 4 | 5 | Female | 29 | 1 | 41 | 1 | < 1 Year | No |
| 5 | 6 | Female | 24 | 1 | 33 | 0 | < 1 Year | Yes |
| 6 | 7 | Male | 23 | 1 | 11 | 0 | < 1 Year | Yes |
| 7 | 8 | Female | 56 | 1 | 28 | 0 | 1-2 Year | Yes |
| 8 | 9 | Female | 24 | 1 | 3 | 1 | < 1 Year | No |
| 9 | 10 | Female | 32 | 1 | 6 | 1 | < 1 Year | No |
| 10 | 11 | Female | 47 | 1 | 35 | 0 | 1-2 Year | Yes |
| 11 | 12 | Female | 24 | 1 | 50 | 1 | < 1 Year | No |
| 12 | 13 | Female | 41 | 1 | 15 | 1 | 1-2 Year | No |
| 13 | 14 | Male | 76 | 1 | 28 | 0 | 1-2 Year | Yes |
| 14 | 15 | Male | 71 | 1 | 28 | 1 | 1-2 Year | No |
| 15 | 16 | Male | 37 | 1 | 6 | 0 | 1-2 Year | Yes |
| 16 | 17 | Female | 25 | 1 | 45 | 0 | < 1 Year | Yes |
| 17 | 18 | Female | 25 | 1 | 35 | 1 | < 1 Year | No |
| 18 | 19 | Male | 42 | 1 | 28 | 0 | 1-2 Year | Yes |
| 19 | 20 | Female | 60 | 1 | 33 | 0 | 1-2 Year | Yes |
| 20 | 21 | Male | 65 | 1 | 28 | 0 | 1-2 Year | Yes |
| 21 | 22 | Male | 49 | 1 | 28 | 0 | 1-2 Year | Yes |
| 22 | 23 | Male | 23 | 1 | 50 | 1 | < 1 Year | No |
| 23 | 24 | Male | 44 | 1 | 28 | 0 | 1-2 Year | Yes |
| 24 | 25 | Male | 34 | 1 | 15 | 1 | 1-2 Year | No |
| 25 | 26 | Female | 21 | 1 | 28 | 1 | < 1 Year | No |
| 26 | 27 | Female | 51 | 1 | 28 | 0 | 1-2 Year | Yes |
| 27 | 28 | Male | 26 | 1 | 6 | 1 | < 1 Year | No |
| 28 | 29 | Female | 25 | 1 | 8 | 1 | < 1 Year | No |
| 29 | 30 | Male | 57 | 1 | 11 | 0 | 1-2 Year | Yes |
| 30 | 31 | Female | 26 | 1 | 8 | 0 | < 1 Year | No |
| 31 | 32 | Male | 79 | 1 | 28 | 0 | 1-2 Year | Yes |
| 32 | 33 | Female | 48 | 1 | 28 | 0 | 1-2 Year | Yes |
| 33 | 34 | Female | 24 | 1 | 36 | 0 | < 1 Year | Yes |
| 34 | 35 | Female | 32 | 1 | 30 | 1 | < 1 Year | No |
| 35 | 36 | Male | 41 | 1 | 36 | 1 | 1-2 Year | No |
| 36 | 37 | Male | 71 | 1 | 8 | 1 | 1-2 Year | No |
| 37 | 38 | Female | 25 | 1 | 28 | 1 | < 1 Year | No |
| 38 | 39 | Male | 45 | 1 | 8 | 0 | 1-2 Year | Yes |
| 39 | 40 | Male | 72 | 1 | 41 | 1 | 1-2 Year | No |
In [108]:
df1.dropna(axis=1)
Out[108]:
| Customer_id | annual premium (inRs) | sales channel code | vintage | response | |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 | 4 |
| 1 | 1 | 40454 | 26 | 217 | 1 |
| 2 | 2 | 33536 | 26 | 183 | 0 |
| 3 | 3 | 38294 | 26 | 27 | 1 |
| 4 | 4 | 28619 | 152 | 203 | 0 |
| 5 | 5 | 27496 | 152 | 39 | 0 |
| 6 | 6 | 2630 | 160 | 176 | 0 |
| 7 | 7 | 23367 | 152 | 249 | 0 |
| 8 | 8 | 32031 | 26 | 72 | 1 |
| 9 | 9 | 27619 | 152 | 28 | 0 |
| 10 | 10 | 28771 | 152 | 80 | 0 |
| 11 | 11 | 47576 | 124 | 46 | 1 |
| 12 | 12 | 48699 | 152 | 289 | 0 |
| 13 | 13 | 31409 | 14 | 221 | 0 |
| 14 | 14 | 36770 | 13 | 15 | 0 |
| 15 | 15 | 46818 | 30 | 58 | 0 |
| 16 | 16 | 2630 | 156 | 147 | 1 |
| 17 | 17 | 26218 | 160 | 256 | 0 |
| 18 | 18 | 46622 | 152 | 299 | 0 |
| 19 | 19 | 33667 | 124 | 158 | 0 |
| 20 | 20 | 32363 | 124 | 102 | 1 |
| 21 | 21 | 41184 | 124 | 116 | 0 |
| 22 | 22 | 50791 | 124 | 177 | 0 |
| 23 | 23 | 45283 | 152 | 232 | 0 |
| 24 | 24 | 41852 | 163 | 60 | 0 |
| 25 | 25 | 38111 | 152 | 180 | 0 |
| 26 | 26 | 61964 | 152 | 72 | 0 |
| 27 | 27 | 38341 | 124 | 49 | 1 |
| 28 | 28 | 19135 | 152 | 57 | 0 |
| 29 | 29 | 27946 | 152 | 223 | 0 |
| 30 | 30 | 25679 | 157 | 232 | 1 |
| 31 | 31 | 2630 | 160 | 136 | 0 |
| 32 | 32 | 57444 | 26 | 222 | 0 |
| 33 | 33 | 36951 | 122 | 149 | 0 |
| 34 | 34 | 43129 | 152 | 49 | 0 |
| 35 | 35 | 27638 | 152 | 169 | 0 |
| 36 | 36 | 30039 | 124 | 88 | 0 |
| 37 | 37 | 40903 | 19 | 253 | 0 |
| 38 | 38 | 76251 | 152 | 107 | 0 |
| 39 | 39 | 42297 | 124 | 264 | 0 |
| 40 | 40 | 32210 | 152 | 233 | 0 |
catCols = [col for col in df.columns if df[col].dtype=="O"]
# merging the dataframes
df
| Customer_id | Gender | Age | driving license present | region code | previously insured | vehicle age | vehicle Damage | |
|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Male | 44 | 1 | 28 | 0 | > 2 Years | Yes |
| 1 | 2 | Male | 76 | 1 | 3 | 0 | 1-2 Year | No |
| 2 | 3 | Male | 47 | 1 | 28 | 0 | > 2 Years | Yes |
| 3 | 4 | Male | 21 | 1 | 11 | 1 | < 1 Year | No |
| 4 | 5 | Female | 29 | 1 | 41 | 1 | < 1 Year | No |
| 5 | 6 | Female | 24 | 1 | 33 | 0 | < 1 Year | Yes |
| 6 | 7 | Male | 23 | 1 | 11 | 0 | < 1 Year | Yes |
| 7 | 8 | Female | 56 | 1 | 28 | 0 | 1-2 Year | Yes |
| 8 | 9 | Female | 24 | 1 | 3 | 1 | < 1 Year | No |
| 9 | 10 | Female | 32 | 1 | 6 | 1 | < 1 Year | No |
| 10 | 11 | Female | 47 | 1 | 35 | 0 | 1-2 Year | Yes |
| 11 | 12 | Female | 24 | 1 | 50 | 1 | < 1 Year | No |
| 12 | 13 | Female | 41 | 1 | 15 | 1 | 1-2 Year | No |
| 13 | 14 | Male | 76 | 1 | 28 | 0 | 1-2 Year | Yes |
| 14 | 15 | Male | 71 | 1 | 28 | 1 | 1-2 Year | No |
| 15 | 16 | Male | 37 | 1 | 6 | 0 | 1-2 Year | Yes |
| 16 | 17 | Female | 25 | 1 | 45 | 0 | < 1 Year | Yes |
| 17 | 18 | Female | 25 | 1 | 35 | 1 | < 1 Year | No |
| 18 | 19 | Male | 42 | 1 | 28 | 0 | 1-2 Year | Yes |
| 19 | 20 | Female | 60 | 1 | 33 | 0 | 1-2 Year | Yes |
| 20 | 21 | Male | 65 | 1 | 28 | 0 | 1-2 Year | Yes |
| 21 | 22 | Male | 49 | 1 | 28 | 0 | 1-2 Year | Yes |
| 22 | 23 | Male | 23 | 1 | 50 | 1 | < 1 Year | No |
| 23 | 24 | Male | 44 | 1 | 28 | 0 | 1-2 Year | Yes |
| 24 | 25 | Male | 34 | 1 | 15 | 1 | 1-2 Year | No |
| 25 | 26 | Female | 21 | 1 | 28 | 1 | < 1 Year | No |
| 26 | 27 | Female | 51 | 1 | 28 | 0 | 1-2 Year | Yes |
| 27 | 28 | Male | 26 | 1 | 6 | 1 | < 1 Year | No |
| 28 | 29 | Female | 25 | 1 | 8 | 1 | < 1 Year | No |
| 29 | 30 | Male | 57 | 1 | 11 | 0 | 1-2 Year | Yes |
| 30 | 31 | Female | 26 | 1 | 8 | 0 | < 1 Year | No |
| 31 | 32 | Male | 79 | 1 | 28 | 0 | 1-2 Year | Yes |
| 32 | 33 | Female | 48 | 1 | 28 | 0 | 1-2 Year | Yes |
| 33 | 34 | Female | 24 | 1 | 36 | 0 | < 1 Year | Yes |
| 34 | 35 | Female | 32 | 1 | 30 | 1 | < 1 Year | No |
| 35 | 36 | Male | 41 | 1 | 36 | 1 | 1-2 Year | No |
| 36 | 37 | Male | 71 | 1 | 8 | 1 | 1-2 Year | No |
| 37 | 38 | Female | 25 | 1 | 28 | 1 | < 1 Year | No |
| 38 | 39 | Male | 45 | 1 | 8 | 0 | 1-2 Year | Yes |
| 39 | 40 | Male | 72 | 1 | 41 | 1 | 1-2 Year | No |
In [114]:
df1
Out[114]:
| Customer_id | annual premium (inRs) | sales channel code | vintage | response | |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 | 4 |
| 1 | 1 | 40454 | 26 | 217 | 1 |
| 2 | 2 | 33536 | 26 | 183 | 0 |
| 3 | 3 | 38294 | 26 | 27 | 1 |
| 4 | 4 | 28619 | 152 | 203 | 0 |
| 5 | 5 | 27496 | 152 | 39 | 0 |
| 6 | 6 | 2630 | 160 | 176 | 0 |
| 7 | 7 | 23367 | 152 | 249 | 0 |
| 8 | 8 | 32031 | 26 | 72 | 1 |
| 9 | 9 | 27619 | 152 | 28 | 0 |
| 10 | 10 | 28771 | 152 | 80 | 0 |
| 11 | 11 | 47576 | 124 | 46 | 1 |
| 12 | 12 | 48699 | 152 | 289 | 0 |
| 13 | 13 | 31409 | 14 | 221 | 0 |
| 14 | 14 | 36770 | 13 | 15 | 0 |
| 15 | 15 | 46818 | 30 | 58 | 0 |
| 16 | 16 | 2630 | 156 | 147 | 1 |
| 17 | 17 | 26218 | 160 | 256 | 0 |
| 18 | 18 | 46622 | 152 | 299 | 0 |
| 19 | 19 | 33667 | 124 | 158 | 0 |
| 20 | 20 | 32363 | 124 | 102 | 1 |
| 21 | 21 | 41184 | 124 | 116 | 0 |
| 22 | 22 | 50791 | 124 | 177 | 0 |
| 23 | 23 | 45283 | 152 | 232 | 0 |
| 24 | 24 | 41852 | 163 | 60 | 0 |
| 25 | 25 | 38111 | 152 | 180 | 0 |
| 26 | 26 | 61964 | 152 | 72 | 0 |
| 27 | 27 | 38341 | 124 | 49 | 1 |
| 28 | 28 | 19135 | 152 | 57 | 0 |
| 29 | 29 | 27946 | 152 | 223 | 0 |
| 30 | 30 | 25679 | 157 | 232 | 1 |
| 31 | 31 | 2630 | 160 | 136 | 0 |
| 32 | 32 | 57444 | 26 | 222 | 0 |
| 33 | 33 | 36951 | 122 | 149 | 0 |
| 34 | 34 | 43129 | 152 | 49 | 0 |
| 35 | 35 | 27638 | 152 | 169 | 0 |
| 36 | 36 | 30039 | 124 | 88 | 0 |
| 37 | 37 | 40903 | 19 | 253 | 0 |
| 38 | 38 | 76251 | 152 | 107 | 0 |
| 39 | 39 | 42297 | 124 | 264 | 0 |
| 40 | 40 | 32210 | 152 | 233 | 0 |
In [115]:
merge_pd = pd.merge(df,df1,on = 'Customer_id')
In [116]:
merge_pd
Out[116]:
| Customer_id | Gender | Age | driving license present | region code | previously insured | vehicle age | vehicle Damage | annual premium (inRs) | sales channel code | vintage | response | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Male | 44 | 1 | 28 | 0 | > 2 Years | Yes | 40454 | 26 | 217 | 1 |
| 1 | 2 | Male | 76 | 1 | 3 | 0 | 1-2 Year | No | 33536 | 26 | 183 | 0 |
| 2 | 3 | Male | 47 | 1 | 28 | 0 | > 2 Years | Yes | 38294 | 26 | 27 | 1 |
| 3 | 4 | Male | 21 | 1 | 11 | 1 | < 1 Year | No | 28619 | 152 | 203 | 0 |
| 4 | 5 | Female | 29 | 1 | 41 | 1 | < 1 Year | No | 27496 | 152 | 39 | 0 |
| 5 | 6 | Female | 24 | 1 | 33 | 0 | < 1 Year | Yes | 2630 | 160 | 176 | 0 |
| 6 | 7 | Male | 23 | 1 | 11 | 0 | < 1 Year | Yes | 23367 | 152 | 249 | 0 |
| 7 | 8 | Female | 56 | 1 | 28 | 0 | 1-2 Year | Yes | 32031 | 26 | 72 | 1 |
| 8 | 9 | Female | 24 | 1 | 3 | 1 | < 1 Year | No | 27619 | 152 | 28 | 0 |
| 9 | 10 | Female | 32 | 1 | 6 | 1 | < 1 Year | No | 28771 | 152 | 80 | 0 |
| 10 | 11 | Female | 47 | 1 | 35 | 0 | 1-2 Year | Yes | 47576 | 124 | 46 | 1 |
| 11 | 12 | Female | 24 | 1 | 50 | 1 | < 1 Year | No | 48699 | 152 | 289 | 0 |
| 12 | 13 | Female | 41 | 1 | 15 | 1 | 1-2 Year | No | 31409 | 14 | 221 | 0 |
| 13 | 14 | Male | 76 | 1 | 28 | 0 | 1-2 Year | Yes | 36770 | 13 | 15 | 0 |
| 14 | 15 | Male | 71 | 1 | 28 | 1 | 1-2 Year | No | 46818 | 30 | 58 | 0 |
| 15 | 16 | Male | 37 | 1 | 6 | 0 | 1-2 Year | Yes | 2630 | 156 | 147 | 1 |
| 16 | 17 | Female | 25 | 1 | 45 | 0 | < 1 Year | Yes | 26218 | 160 | 256 | 0 |
| 17 | 18 | Female | 25 | 1 | 35 | 1 | < 1 Year | No | 46622 | 152 | 299 | 0 |
| 18 | 19 | Male | 42 | 1 | 28 | 0 | 1-2 Year | Yes | 33667 | 124 | 158 | 0 |
| 19 | 20 | Female | 60 | 1 | 33 | 0 | 1-2 Year | Yes | 32363 | 124 | 102 | 1 |
| 20 | 21 | Male | 65 | 1 | 28 | 0 | 1-2 Year | Yes | 41184 | 124 | 116 | 0 |
| 21 | 22 | Male | 49 | 1 | 28 | 0 | 1-2 Year | Yes | 50791 | 124 | 177 | 0 |
| 22 | 23 | Male | 23 | 1 | 50 | 1 | < 1 Year | No | 45283 | 152 | 232 | 0 |
| 23 | 24 | Male | 44 | 1 | 28 | 0 | 1-2 Year | Yes | 41852 | 163 | 60 | 0 |
| 24 | 25 | Male | 34 | 1 | 15 | 1 | 1-2 Year | No | 38111 | 152 | 180 | 0 |
| 25 | 26 | Female | 21 | 1 | 28 | 1 | < 1 Year | No | 61964 | 152 | 72 | 0 |
| 26 | 27 | Female | 51 | 1 | 28 | 0 | 1-2 Year | Yes | 38341 | 124 | 49 | 1 |
| 27 | 28 | Male | 26 | 1 | 6 | 1 | < 1 Year | No | 19135 | 152 | 57 | 0 |
| 28 | 29 | Female | 25 | 1 | 8 | 1 | < 1 Year | No | 27946 | 152 | 223 | 0 |
| 29 | 30 | Male | 57 | 1 | 11 | 0 | 1-2 Year | Yes | 25679 | 157 | 232 | 1 |
| 30 | 31 | Female | 26 | 1 | 8 | 0 | < 1 Year | No | 2630 | 160 | 136 | 0 |
| 31 | 32 | Male | 79 | 1 | 28 | 0 | 1-2 Year | Yes | 57444 | 26 | 222 | 0 |
| 32 | 33 | Female | 48 | 1 | 28 | 0 | 1-2 Year | Yes | 36951 | 122 | 149 | 0 |
| 33 | 34 | Female | 24 | 1 | 36 | 0 | < 1 Year | Yes | 43129 | 152 | 49 | 0 |
| 34 | 35 | Female | 32 | 1 | 30 | 1 | < 1 Year | No | 27638 | 152 | 169 | 0 |
| 35 | 36 | Male | 41 | 1 | 36 | 1 | 1-2 Year | No | 30039 | 124 | 88 | 0 |
| 36 | 37 | Male | 71 | 1 | 8 | 1 | 1-2 Year | No | 40903 | 19 | 253 | 0 |
| 37 | 38 | Female | 25 | 1 | 28 | 1 | < 1 Year | No | 76251 | 152 | 107 | 0 |
| 38 | 39 | Male | 45 | 1 | 8 | 0 | 1-2 Year | Yes | 42297 | 124 | 264 | 0 |
| 39 | 40 | Male | 72 |
merge_right = pd.merge(df,df1,on = 'Customer_id',how = 'right')
In [118]:
merge_right
Out[118]:
| Customer_id | Gender | Age | driving license present | region code | previously insured | vehicle age | vehicle Damage | annual premium (inRs) | sales channel code | vintage | response | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 1 | 2 | 3 | 4 |
| 1 | 1 | Male | 44.0 | 1.0 | 28.0 | 0.0 | > 2 Years | Yes | 40454 | 26 | 217 | 1 |
| 2 | 2 | Male | 76.0 | 1.0 | 3.0 | 0.0 | 1-2 Year | No | 33536 | 26 | 183 | 0 |
| 3 | 3 | Male | 47.0 | 1.0 | 28.0 | 0.0 | > 2 Years | Yes | 38294 | 26 | 27 | 1 |
| 4 | 4 | Male | 21.0 | 1.0 | 11.0 | 1.0 | < 1 Year | No | 28619 | 152 | 203 | 0 |
| 5 | 5 | Female | 29.0 | 1.0 | 41.0 | 1.0 | < 1 Year | No | 27496 | 152 | 39 | 0 |
| 6 | 6 | Female | 24.0 | 1.0 | 33.0 | 0.0 | < 1 Year | Yes | 2630 | 160 | 176 | 0 |
| 7 | 7 | Male | 23.0 | 1.0 | 11.0 | 0.0 | < 1 Year | Yes | 23367 | 152 | 249 | 0 |
| 8 | 8 | Female | 56.0 | 1.0 | 28.0 | 0.0 | 1-2 Year | Yes | 32031 | 26 | 72 | 1 |
| 9 | 9 | Female | 24.0 | 1.0 | 3.0 | 1.0 | < 1 Year | No | 27619 | 152 | 28 | 0 |
| 10 | 10 | Female | 32.0 | 1.0 | 6.0 | 1.0 | < 1 Year | No | 28771 | 152 | 80 | 0 |
| 11 | 11 | Female | 47.0 | 1.0 | 35.0 | 0.0 | 1-2 Year | Yes | 47576 | 124 | 46 | 1 |
| 12 | 12 | Female | 24.0 | 1.0 | 50.0 | 1.0 | < 1 Year | No | 48699 | 152 | 289 | 0 |
| 13 | 13 | Female | 41.0 | 1.0 | 15.0 | 1.0 | 1-2 Year | No | 31409 | 14 | 221 | 0 |
| 14 | 14 | Male | 76.0 | 1.0 | 28.0 | 0.0 | 1-2 Year | Yes | 36770 | 13 | 15 | 0 |
| 15 | 15 | Male | 71.0 | 1.0 | 28.0 | 1.0 | 1-2 Year | No | 46818 | 30 | 58 | 0 |
| 16 | 16 | Male | 37.0 | 1.0 | 6.0 | 0.0 | 1-2 Year | Yes | 2630 | 156 | 147 | 1 |
| 17 | 17 | Female | 25.0 | 1.0 | 45.0 | 0.0 | < 1 Year | Yes | 26218 | 160 | 256 | 0 |
| 18 | 18 | Female | 25.0 | 1.0 | 35.0 | 1.0 | < 1 Year | No | 46622 | 152 | 299 | 0 |
| 19 | 19 | Male | 42.0 | 1.0 | 28.0 | 0.0 | 1-2 Year | Yes | 33667 | 124 | 158 | 0 |
| 20 | 20 | Female | 60.0 | 1.0 | 33.0 | 0.0 | 1-2 Year | Yes | 32363 | 124 | 102 | 1 |
| 21 | 21 | Male | 65.0 | 1.0 | 28.0 | 0.0 | 1-2 Year | Yes | 41184 | 124 | 116 | 0 |
| 22 | 22 | Male | 49.0 | 1.0 | 28.0 | 0.0 | 1-2 Year | Yes | 50791 | 124 | 177 | 0 |
| 23 | 23 | Male | 23.0 | 1.0 | 50.0 | 1.0 | < 1 Year | No | 45283 | 152 | 232 | 0 |
| 24 | 24 | Male | 44.0 | 1.0 | 28.0 | 0.0 | 1-2 Year | Yes | 41852 | 163 | 60 | 0 |
| 25 | 25 | Male | 34.0 | 1.0 | 15.0 | 1.0 | 1-2 Year | No | 38111 | 152 | 180 | 0 |
| 26 | 26 | Female | 21.0 | 1.0 | 28.0 | 1.0 | < 1 Year | No | 61964 | 152 | 72 | 0 |
| 27 | 27 | Female | 51.0 | 1.0 | 28.0 | 0.0 | 1-2 Year | Yes | 38341 | 124 | 49 | 1 |
| 28 | 28 | Male | 26.0 | 1.0 | 6.0 | 1.0 | < 1 Year | No | 19135 | 152 | 57 | 0 |
| 29 | 29 | Female | 25.0 | 1.0 | 8.0 | 1.0 | < 1 Year | No | 27946 | 152 | 223 | 0 |
| 30 | 30 | Male | 57.0 | 1.0 | 11.0 | 0.0 | 1-2 Year | Yes | 25679 | 157 | 232 | 1 |
| 31 | 31 | Female | 26.0 | 1.0 | 8.0 | 0.0 | < 1 Year | No | 2630 | 160 | 136 | 0 |
| 32 | 32 | Male | 79.0 | 1.0 | 28.0 | 0.0 | 1-2 Year | Yes | 57444 | 26 | 222 | 0 |
| 33 | 33 | Female | 48.0 | 1.0 | 28.0 | 0.0 | 1-2 Year | Yes | 36951 | 122 | 149 | 0 |
| 34 | 34 | Female | 24.0 | 1.0 | 36.0 | 0.0 | < 1 Year | Yes | 43129 | 152 | 49 | 0 |
| 35 | 35 | Female | 32.0 | 1.0 | 30.0 | 1.0 | < 1 Year | No | 27638 | 152 | 169 | 0 |
| 36 | 36 | Male | 41.0 | 1.0 | 36.0 | 1.0 | 1-2 Year | No | 30039 | 124 | 88 | 0 |
| 37 | 37 | Male | 71.0 | 1.0 | 8.0 | 1.0 | 1-2 Year | No | 40903 | 19 | 253 | 0 |
| 38 | 38 | Female | 25.0 | 1.0 | 28.0 | 1.0 | < 1 Year | No | 76251 | 152 | 107 | 0 |
| 39 | 39 | Male | 45.0 | 1.0 | 8.0 | 0.0 | 1-2 Year | Yes | 42297 | 124 | 264 | 0 |
| 40 | 40 | Male | 72.0 | 1.0 | 41.0 | 1.0 | 1-2 Year | No | 32210 | 152 | 233 | 0 |
In [119]:
df.corr()
Out[119]:
| Customer_id | Age | driving license present | region code | previously insured | |
|---|---|---|---|---|---|
| Customer_id | 1.000000 | 0.098316 | NaN | 0.030587 | 0.148012 |
| Age | 0.098316 | 1.000000 | NaN | -0.030601 | -0.336847 |
| driving license present | NaN | NaN | NaN | NaN | NaN |
| region code | 0.030587 | -0.030601 | NaN | 1.000000 | -0.000767 |
| previously insured | 0.148012 | -0.336847 | NaN | -0.000767 | 1.000000 |
In [122]:
df1.corr()
Out[122]:
| Customer_id | annual premium (inRs) | sales channel code | vintage | response | |
|---|---|---|---|---|---|
| Customer_id | 1.000000 | 0.302619 | 0.323043 | 0.200656 | -0.361591 |
| annual premium (inRs) | 0.302619 | 1.000000 | -0.075585 | 0.078983 | -0.355881 |
| sales channel code | 0.323043 | -0.075585 | 1.000000 | 0.157623 | -0.381405 |
| vintage | 0.200656 | 0.078983 | 0.157623 | 1.000000 | -0.337793 |
| response | -0.361591 | -0.355881 | -0.381405 | -0.337793 |
1.000000 |