diff --git a/lab-dw-data-structuring-and-combining.ipynb b/lab-dw-data-structuring-and-combining.ipynb
index ec4e3f9..910d2e7 100644
--- a/lab-dw-data-structuring-and-combining.ipynb
+++ b/lab-dw-data-structuring-and-combining.ipynb
@@ -36,14 +36,2985 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 45,
"id": "492d06e3-92c7-4105-ac72-536db98d3244",
"metadata": {
"id": "492d06e3-92c7-4105-ac72-536db98d3244"
},
"outputs": [],
"source": [
- "# Your code goes here"
+ "# Your code goes here\n",
+ "\n",
+ "import pandas as pd\n",
+ "\n",
+ "url1 = \"https://raw.githubusercontent.com/data-bootcamp-v4/data/main/file1.csv\"\n",
+ "url2 = \"https://raw.githubusercontent.com/data-bootcamp-v4/data/main/file2.csv\"\n",
+ "url3 = \"https://raw.githubusercontent.com/data-bootcamp-v4/data/main/file3.csv\"\n",
+ "\n",
+ "\n",
+ "df1 = pd.read_csv(url1)\n",
+ "df2 = pd.read_csv(url2)\n",
+ "df3 = pd.read_csv(url3)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "da0bf86e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Customer | \n",
+ " ST | \n",
+ " GENDER | \n",
+ " Education | \n",
+ " Customer Lifetime Value | \n",
+ " Income | \n",
+ " Monthly Premium Auto | \n",
+ " Number of Open Complaints | \n",
+ " Policy Type | \n",
+ " Vehicle Class | \n",
+ " Total Claim Amount | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " RB50392 | \n",
+ " Washington | \n",
+ " NaN | \n",
+ " Master | \n",
+ " NaN | \n",
+ " 0.0 | \n",
+ " 1000.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 2.704934 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " QZ44356 | \n",
+ " Arizona | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 697953.59% | \n",
+ " 0.0 | \n",
+ " 94.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 1131.464935 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AI49188 | \n",
+ " Nevada | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 1288743.17% | \n",
+ " 48767.0 | \n",
+ " 108.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Two-Door Car | \n",
+ " 566.472247 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " WW63253 | \n",
+ " California | \n",
+ " M | \n",
+ " Bachelor | \n",
+ " 764586.18% | \n",
+ " 0.0 | \n",
+ " 106.0 | \n",
+ " 1/0/00 | \n",
+ " Corporate Auto | \n",
+ " SUV | \n",
+ " 529.881344 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " GA49547 | \n",
+ " Washington | \n",
+ " M | \n",
+ " High School or Below | \n",
+ " 536307.65% | \n",
+ " 36357.0 | \n",
+ " 68.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 17.269323 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 4003 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4004 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4005 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4006 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4007 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
4008 rows × 11 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Customer ST GENDER Education \\\n",
+ "0 RB50392 Washington NaN Master \n",
+ "1 QZ44356 Arizona F Bachelor \n",
+ "2 AI49188 Nevada F Bachelor \n",
+ "3 WW63253 California M Bachelor \n",
+ "4 GA49547 Washington M High School or Below \n",
+ "... ... ... ... ... \n",
+ "4003 NaN NaN NaN NaN \n",
+ "4004 NaN NaN NaN NaN \n",
+ "4005 NaN NaN NaN NaN \n",
+ "4006 NaN NaN NaN NaN \n",
+ "4007 NaN NaN NaN NaN \n",
+ "\n",
+ " Customer Lifetime Value Income Monthly Premium Auto \\\n",
+ "0 NaN 0.0 1000.0 \n",
+ "1 697953.59% 0.0 94.0 \n",
+ "2 1288743.17% 48767.0 108.0 \n",
+ "3 764586.18% 0.0 106.0 \n",
+ "4 536307.65% 36357.0 68.0 \n",
+ "... ... ... ... \n",
+ "4003 NaN NaN NaN \n",
+ "4004 NaN NaN NaN \n",
+ "4005 NaN NaN NaN \n",
+ "4006 NaN NaN NaN \n",
+ "4007 NaN NaN NaN \n",
+ "\n",
+ " Number of Open Complaints Policy Type Vehicle Class \\\n",
+ "0 1/0/00 Personal Auto Four-Door Car \n",
+ "1 1/0/00 Personal Auto Four-Door Car \n",
+ "2 1/0/00 Personal Auto Two-Door Car \n",
+ "3 1/0/00 Corporate Auto SUV \n",
+ "4 1/0/00 Personal Auto Four-Door Car \n",
+ "... ... ... ... \n",
+ "4003 NaN NaN NaN \n",
+ "4004 NaN NaN NaN \n",
+ "4005 NaN NaN NaN \n",
+ "4006 NaN NaN NaN \n",
+ "4007 NaN NaN NaN \n",
+ "\n",
+ " Total Claim Amount \n",
+ "0 2.704934 \n",
+ "1 1131.464935 \n",
+ "2 566.472247 \n",
+ "3 529.881344 \n",
+ "4 17.269323 \n",
+ "... ... \n",
+ "4003 NaN \n",
+ "4004 NaN \n",
+ "4005 NaN \n",
+ "4006 NaN \n",
+ "4007 NaN \n",
+ "\n",
+ "[4008 rows x 11 columns]"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "96407481",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Customer | \n",
+ " ST | \n",
+ " GENDER | \n",
+ " Education | \n",
+ " Customer Lifetime Value | \n",
+ " Income | \n",
+ " Monthly Premium Auto | \n",
+ " Number of Open Complaints | \n",
+ " Total Claim Amount | \n",
+ " Policy Type | \n",
+ " Vehicle Class | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " GS98873 | \n",
+ " Arizona | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 323912.47% | \n",
+ " 16061 | \n",
+ " 88 | \n",
+ " 1/0/00 | \n",
+ " 633.600000 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " CW49887 | \n",
+ " California | \n",
+ " F | \n",
+ " Master | \n",
+ " 462680.11% | \n",
+ " 79487 | \n",
+ " 114 | \n",
+ " 1/0/00 | \n",
+ " 547.200000 | \n",
+ " Special Auto | \n",
+ " SUV | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " MY31220 | \n",
+ " California | \n",
+ " F | \n",
+ " College | \n",
+ " 899704.02% | \n",
+ " 54230 | \n",
+ " 112 | \n",
+ " 1/0/00 | \n",
+ " 537.600000 | \n",
+ " Personal Auto | \n",
+ " Two-Door Car | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " UH35128 | \n",
+ " Oregon | \n",
+ " F | \n",
+ " College | \n",
+ " 2580706.30% | \n",
+ " 71210 | \n",
+ " 214 | \n",
+ " 1/1/00 | \n",
+ " 1027.200000 | \n",
+ " Personal Auto | \n",
+ " Luxury Car | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " WH52799 | \n",
+ " Arizona | \n",
+ " F | \n",
+ " College | \n",
+ " 380812.21% | \n",
+ " 94903 | \n",
+ " 94 | \n",
+ " 1/0/00 | \n",
+ " 451.200000 | \n",
+ " Corporate Auto | \n",
+ " Two-Door Car | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 991 | \n",
+ " HV85198 | \n",
+ " Arizona | \n",
+ " M | \n",
+ " Master | \n",
+ " 847141.75% | \n",
+ " 63513 | \n",
+ " 70 | \n",
+ " 1/0/00 | \n",
+ " 185.667213 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ "
\n",
+ " \n",
+ " | 992 | \n",
+ " BS91566 | \n",
+ " Arizona | \n",
+ " F | \n",
+ " College | \n",
+ " 543121.91% | \n",
+ " 58161 | \n",
+ " 68 | \n",
+ " 1/0/00 | \n",
+ " 140.747286 | \n",
+ " Corporate Auto | \n",
+ " Four-Door Car | \n",
+ "
\n",
+ " \n",
+ " | 993 | \n",
+ " IL40123 | \n",
+ " Nevada | \n",
+ " F | \n",
+ " College | \n",
+ " 568964.41% | \n",
+ " 83640 | \n",
+ " 70 | \n",
+ " 1/0/00 | \n",
+ " 471.050488 | \n",
+ " Corporate Auto | \n",
+ " Two-Door Car | \n",
+ "
\n",
+ " \n",
+ " | 994 | \n",
+ " MY32149 | \n",
+ " California | \n",
+ " F | \n",
+ " Master | \n",
+ " 368672.38% | \n",
+ " 0 | \n",
+ " 96 | \n",
+ " 1/0/00 | \n",
+ " 28.460568 | \n",
+ " Personal Auto | \n",
+ " Two-Door Car | \n",
+ "
\n",
+ " \n",
+ " | 995 | \n",
+ " SA91515 | \n",
+ " California | \n",
+ " M | \n",
+ " Bachelor | \n",
+ " 399258.39% | \n",
+ " 0 | \n",
+ " 111 | \n",
+ " 1/0/00 | \n",
+ " 700.349052 | \n",
+ " Personal Auto | \n",
+ " SUV | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
996 rows × 11 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Customer ST GENDER Education Customer Lifetime Value Income \\\n",
+ "0 GS98873 Arizona F Bachelor 323912.47% 16061 \n",
+ "1 CW49887 California F Master 462680.11% 79487 \n",
+ "2 MY31220 California F College 899704.02% 54230 \n",
+ "3 UH35128 Oregon F College 2580706.30% 71210 \n",
+ "4 WH52799 Arizona F College 380812.21% 94903 \n",
+ ".. ... ... ... ... ... ... \n",
+ "991 HV85198 Arizona M Master 847141.75% 63513 \n",
+ "992 BS91566 Arizona F College 543121.91% 58161 \n",
+ "993 IL40123 Nevada F College 568964.41% 83640 \n",
+ "994 MY32149 California F Master 368672.38% 0 \n",
+ "995 SA91515 California M Bachelor 399258.39% 0 \n",
+ "\n",
+ " Monthly Premium Auto Number of Open Complaints Total Claim Amount \\\n",
+ "0 88 1/0/00 633.600000 \n",
+ "1 114 1/0/00 547.200000 \n",
+ "2 112 1/0/00 537.600000 \n",
+ "3 214 1/1/00 1027.200000 \n",
+ "4 94 1/0/00 451.200000 \n",
+ ".. ... ... ... \n",
+ "991 70 1/0/00 185.667213 \n",
+ "992 68 1/0/00 140.747286 \n",
+ "993 70 1/0/00 471.050488 \n",
+ "994 96 1/0/00 28.460568 \n",
+ "995 111 1/0/00 700.349052 \n",
+ "\n",
+ " Policy Type Vehicle Class \n",
+ "0 Personal Auto Four-Door Car \n",
+ "1 Special Auto SUV \n",
+ "2 Personal Auto Two-Door Car \n",
+ "3 Personal Auto Luxury Car \n",
+ "4 Corporate Auto Two-Door Car \n",
+ ".. ... ... \n",
+ "991 Personal Auto Four-Door Car \n",
+ "992 Corporate Auto Four-Door Car \n",
+ "993 Corporate Auto Two-Door Car \n",
+ "994 Personal Auto Two-Door Car \n",
+ "995 Personal Auto SUV \n",
+ "\n",
+ "[996 rows x 11 columns]"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "17fd313b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Customer | \n",
+ " ST | \n",
+ " GENDER | \n",
+ " Education | \n",
+ " Customer Lifetime Value | \n",
+ " Income | \n",
+ " Monthly Premium Auto | \n",
+ " Number of Open Complaints | \n",
+ " Policy Type | \n",
+ " Vehicle Class | \n",
+ " Total Claim Amount | \n",
+ " State | \n",
+ " Gender | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " RB50392 | \n",
+ " Washington | \n",
+ " NaN | \n",
+ " Master | \n",
+ " NaN | \n",
+ " 0.0 | \n",
+ " 1000.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 2.704934 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " QZ44356 | \n",
+ " Arizona | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 697953.59% | \n",
+ " 0.0 | \n",
+ " 94.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 1131.464935 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AI49188 | \n",
+ " Nevada | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 1288743.17% | \n",
+ " 48767.0 | \n",
+ " 108.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Two-Door Car | \n",
+ " 566.472247 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " WW63253 | \n",
+ " California | \n",
+ " M | \n",
+ " Bachelor | \n",
+ " 764586.18% | \n",
+ " 0.0 | \n",
+ " 106.0 | \n",
+ " 1/0/00 | \n",
+ " Corporate Auto | \n",
+ " SUV | \n",
+ " 529.881344 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " GA49547 | \n",
+ " Washington | \n",
+ " M | \n",
+ " High School or Below | \n",
+ " 536307.65% | \n",
+ " 36357.0 | \n",
+ " 68.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 17.269323 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 12069 | \n",
+ " LA72316 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " Bachelor | \n",
+ " 23405.98798 | \n",
+ " 71941.0 | \n",
+ " 73.0 | \n",
+ " 0 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 198.234764 | \n",
+ " California | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12070 | \n",
+ " PK87824 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " College | \n",
+ " 3096.511217 | \n",
+ " 21604.0 | \n",
+ " 79.0 | \n",
+ " 0 | \n",
+ " Corporate Auto | \n",
+ " Four-Door Car | \n",
+ " 379.200000 | \n",
+ " California | \n",
+ " F | \n",
+ "
\n",
+ " \n",
+ " | 12071 | \n",
+ " TD14365 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " Bachelor | \n",
+ " 8163.890428 | \n",
+ " 0.0 | \n",
+ " 85.0 | \n",
+ " 3 | \n",
+ " Corporate Auto | \n",
+ " Four-Door Car | \n",
+ " 790.784983 | \n",
+ " California | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12072 | \n",
+ " UP19263 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " College | \n",
+ " 7524.442436 | \n",
+ " 21941.0 | \n",
+ " 96.0 | \n",
+ " 0 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 691.200000 | \n",
+ " California | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12073 | \n",
+ " Y167826 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " College | \n",
+ " 2611.836866 | \n",
+ " 0.0 | \n",
+ " 77.0 | \n",
+ " 0 | \n",
+ " Corporate Auto | \n",
+ " Two-Door Car | \n",
+ " 369.600000 | \n",
+ " California | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
12074 rows × 13 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Customer ST GENDER Education \\\n",
+ "0 RB50392 Washington NaN Master \n",
+ "1 QZ44356 Arizona F Bachelor \n",
+ "2 AI49188 Nevada F Bachelor \n",
+ "3 WW63253 California M Bachelor \n",
+ "4 GA49547 Washington M High School or Below \n",
+ "... ... ... ... ... \n",
+ "12069 LA72316 NaN NaN Bachelor \n",
+ "12070 PK87824 NaN NaN College \n",
+ "12071 TD14365 NaN NaN Bachelor \n",
+ "12072 UP19263 NaN NaN College \n",
+ "12073 Y167826 NaN NaN College \n",
+ "\n",
+ " Customer Lifetime Value Income Monthly Premium Auto \\\n",
+ "0 NaN 0.0 1000.0 \n",
+ "1 697953.59% 0.0 94.0 \n",
+ "2 1288743.17% 48767.0 108.0 \n",
+ "3 764586.18% 0.0 106.0 \n",
+ "4 536307.65% 36357.0 68.0 \n",
+ "... ... ... ... \n",
+ "12069 23405.98798 71941.0 73.0 \n",
+ "12070 3096.511217 21604.0 79.0 \n",
+ "12071 8163.890428 0.0 85.0 \n",
+ "12072 7524.442436 21941.0 96.0 \n",
+ "12073 2611.836866 0.0 77.0 \n",
+ "\n",
+ " Number of Open Complaints Policy Type Vehicle Class \\\n",
+ "0 1/0/00 Personal Auto Four-Door Car \n",
+ "1 1/0/00 Personal Auto Four-Door Car \n",
+ "2 1/0/00 Personal Auto Two-Door Car \n",
+ "3 1/0/00 Corporate Auto SUV \n",
+ "4 1/0/00 Personal Auto Four-Door Car \n",
+ "... ... ... ... \n",
+ "12069 0 Personal Auto Four-Door Car \n",
+ "12070 0 Corporate Auto Four-Door Car \n",
+ "12071 3 Corporate Auto Four-Door Car \n",
+ "12072 0 Personal Auto Four-Door Car \n",
+ "12073 0 Corporate Auto Two-Door Car \n",
+ "\n",
+ " Total Claim Amount State Gender \n",
+ "0 2.704934 NaN NaN \n",
+ "1 1131.464935 NaN NaN \n",
+ "2 566.472247 NaN NaN \n",
+ "3 529.881344 NaN NaN \n",
+ "4 17.269323 NaN NaN \n",
+ "... ... ... ... \n",
+ "12069 198.234764 California M \n",
+ "12070 379.200000 California F \n",
+ "12071 790.784983 California M \n",
+ "12072 691.200000 California M \n",
+ "12073 369.600000 California M \n",
+ "\n",
+ "[12074 rows x 13 columns]"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "id": "db81a73e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Customer | \n",
+ " ST | \n",
+ " GENDER | \n",
+ " Education | \n",
+ " Customer Lifetime Value | \n",
+ " Income | \n",
+ " Monthly Premium Auto | \n",
+ " Number of Open Complaints | \n",
+ " Policy Type | \n",
+ " Vehicle Class | \n",
+ " Total Claim Amount | \n",
+ " State | \n",
+ " Gender | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " RB50392 | \n",
+ " Washington | \n",
+ " NaN | \n",
+ " Master | \n",
+ " NaN | \n",
+ " 0.0 | \n",
+ " 1000.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 2.704934 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " QZ44356 | \n",
+ " Arizona | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 697953.59% | \n",
+ " 0.0 | \n",
+ " 94.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 1131.464935 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AI49188 | \n",
+ " Nevada | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 1288743.17% | \n",
+ " 48767.0 | \n",
+ " 108.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Two-Door Car | \n",
+ " 566.472247 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " WW63253 | \n",
+ " California | \n",
+ " M | \n",
+ " Bachelor | \n",
+ " 764586.18% | \n",
+ " 0.0 | \n",
+ " 106.0 | \n",
+ " 1/0/00 | \n",
+ " Corporate Auto | \n",
+ " SUV | \n",
+ " 529.881344 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " GA49547 | \n",
+ " Washington | \n",
+ " M | \n",
+ " High School or Below | \n",
+ " 536307.65% | \n",
+ " 36357.0 | \n",
+ " 68.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 17.269323 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 12069 | \n",
+ " LA72316 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " Bachelor | \n",
+ " 23405.98798 | \n",
+ " 71941.0 | \n",
+ " 73.0 | \n",
+ " 0 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 198.234764 | \n",
+ " California | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12070 | \n",
+ " PK87824 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " College | \n",
+ " 3096.511217 | \n",
+ " 21604.0 | \n",
+ " 79.0 | \n",
+ " 0 | \n",
+ " Corporate Auto | \n",
+ " Four-Door Car | \n",
+ " 379.200000 | \n",
+ " California | \n",
+ " F | \n",
+ "
\n",
+ " \n",
+ " | 12071 | \n",
+ " TD14365 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " Bachelor | \n",
+ " 8163.890428 | \n",
+ " 0.0 | \n",
+ " 85.0 | \n",
+ " 3 | \n",
+ " Corporate Auto | \n",
+ " Four-Door Car | \n",
+ " 790.784983 | \n",
+ " California | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12072 | \n",
+ " UP19263 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " College | \n",
+ " 7524.442436 | \n",
+ " 21941.0 | \n",
+ " 96.0 | \n",
+ " 0 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 691.200000 | \n",
+ " California | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12073 | \n",
+ " Y167826 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " College | \n",
+ " 2611.836866 | \n",
+ " 0.0 | \n",
+ " 77.0 | \n",
+ " 0 | \n",
+ " Corporate Auto | \n",
+ " Two-Door Car | \n",
+ " 369.600000 | \n",
+ " California | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
12074 rows × 13 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Customer ST GENDER Education \\\n",
+ "0 RB50392 Washington NaN Master \n",
+ "1 QZ44356 Arizona F Bachelor \n",
+ "2 AI49188 Nevada F Bachelor \n",
+ "3 WW63253 California M Bachelor \n",
+ "4 GA49547 Washington M High School or Below \n",
+ "... ... ... ... ... \n",
+ "12069 LA72316 NaN NaN Bachelor \n",
+ "12070 PK87824 NaN NaN College \n",
+ "12071 TD14365 NaN NaN Bachelor \n",
+ "12072 UP19263 NaN NaN College \n",
+ "12073 Y167826 NaN NaN College \n",
+ "\n",
+ " Customer Lifetime Value Income Monthly Premium Auto \\\n",
+ "0 NaN 0.0 1000.0 \n",
+ "1 697953.59% 0.0 94.0 \n",
+ "2 1288743.17% 48767.0 108.0 \n",
+ "3 764586.18% 0.0 106.0 \n",
+ "4 536307.65% 36357.0 68.0 \n",
+ "... ... ... ... \n",
+ "12069 23405.98798 71941.0 73.0 \n",
+ "12070 3096.511217 21604.0 79.0 \n",
+ "12071 8163.890428 0.0 85.0 \n",
+ "12072 7524.442436 21941.0 96.0 \n",
+ "12073 2611.836866 0.0 77.0 \n",
+ "\n",
+ " Number of Open Complaints Policy Type Vehicle Class \\\n",
+ "0 1/0/00 Personal Auto Four-Door Car \n",
+ "1 1/0/00 Personal Auto Four-Door Car \n",
+ "2 1/0/00 Personal Auto Two-Door Car \n",
+ "3 1/0/00 Corporate Auto SUV \n",
+ "4 1/0/00 Personal Auto Four-Door Car \n",
+ "... ... ... ... \n",
+ "12069 0 Personal Auto Four-Door Car \n",
+ "12070 0 Corporate Auto Four-Door Car \n",
+ "12071 3 Corporate Auto Four-Door Car \n",
+ "12072 0 Personal Auto Four-Door Car \n",
+ "12073 0 Corporate Auto Two-Door Car \n",
+ "\n",
+ " Total Claim Amount State Gender \n",
+ "0 2.704934 NaN NaN \n",
+ "1 1131.464935 NaN NaN \n",
+ "2 566.472247 NaN NaN \n",
+ "3 529.881344 NaN NaN \n",
+ "4 17.269323 NaN NaN \n",
+ "... ... ... ... \n",
+ "12069 198.234764 California M \n",
+ "12070 379.200000 California F \n",
+ "12071 790.784983 California M \n",
+ "12072 691.200000 California M \n",
+ "12073 369.600000 California M \n",
+ "\n",
+ "[12074 rows x 13 columns]"
+ ]
+ },
+ "execution_count": 46,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df = pd.concat([df1, df2, df3], ignore_index=True)\n",
+ "\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "id": "673a4f80",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 12074 entries, 0 to 12073\n",
+ "Data columns (total 13 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 Customer 9137 non-null str \n",
+ " 1 ST 2067 non-null str \n",
+ " 2 GENDER 1945 non-null str \n",
+ " 3 Education 9137 non-null str \n",
+ " 4 Customer Lifetime Value 9130 non-null object \n",
+ " 5 Income 9137 non-null float64\n",
+ " 6 Monthly Premium Auto 9137 non-null float64\n",
+ " 7 Number of Open Complaints 9137 non-null object \n",
+ " 8 Policy Type 9137 non-null str \n",
+ " 9 Vehicle Class 9137 non-null str \n",
+ " 10 Total Claim Amount 9137 non-null float64\n",
+ " 11 State 7070 non-null str \n",
+ " 12 Gender 7070 non-null str \n",
+ "dtypes: float64(3), object(2), str(8)\n",
+ "memory usage: 1.2+ MB\n"
+ ]
+ }
+ ],
+ "source": [
+ "df.info()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "1d0d6a7e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Customer | \n",
+ " ST | \n",
+ " GENDER | \n",
+ " Education | \n",
+ " Customer Lifetime Value | \n",
+ " Income | \n",
+ " Monthly Premium Auto | \n",
+ " Number of Open Complaints | \n",
+ " Policy Type | \n",
+ " Vehicle Class | \n",
+ " Total Claim Amount | \n",
+ " State | \n",
+ " Gender | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | count | \n",
+ " 9137 | \n",
+ " 2067 | \n",
+ " 1945 | \n",
+ " 9137 | \n",
+ " 9130.000000 | \n",
+ " 9137.000000 | \n",
+ " 9137.000000 | \n",
+ " 9137.0 | \n",
+ " 9137 | \n",
+ " 9137 | \n",
+ " 9137.000000 | \n",
+ " 7070 | \n",
+ " 7070 | \n",
+ "
\n",
+ " \n",
+ " | unique | \n",
+ " 9056 | \n",
+ " 8 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 8211.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 12.0 | \n",
+ " 3 | \n",
+ " 6 | \n",
+ " NaN | \n",
+ " 5 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | top | \n",
+ " GA49547 | \n",
+ " Oregon | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 3265.156348 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 0.0 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " NaN | \n",
+ " California | \n",
+ " F | \n",
+ "
\n",
+ " \n",
+ " | freq | \n",
+ " 2 | \n",
+ " 623 | \n",
+ " 984 | \n",
+ " 2719 | \n",
+ " 6.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 5629.0 | \n",
+ " 6792 | \n",
+ " 4641 | \n",
+ " NaN | \n",
+ " 2544 | \n",
+ " 3576 | \n",
+ "
\n",
+ " \n",
+ " | mean | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 37828.820291 | \n",
+ " 110.391266 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 430.527140 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | std | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 30358.716159 | \n",
+ " 581.376032 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 289.582968 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | min | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 0.000000 | \n",
+ " 61.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 0.099007 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 25% | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 0.000000 | \n",
+ " 68.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 266.996814 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 50% | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 34244.000000 | \n",
+ " 83.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 377.561463 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 75% | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 62447.000000 | \n",
+ " 109.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 546.420009 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | max | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 99981.000000 | \n",
+ " 35354.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 2893.239678 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Customer ST GENDER Education Customer Lifetime Value \\\n",
+ "count 9137 2067 1945 9137 9130.000000 \n",
+ "unique 9056 8 5 6 8211.000000 \n",
+ "top GA49547 Oregon F Bachelor 3265.156348 \n",
+ "freq 2 623 984 2719 6.000000 \n",
+ "mean NaN NaN NaN NaN NaN \n",
+ "std NaN NaN NaN NaN NaN \n",
+ "min NaN NaN NaN NaN NaN \n",
+ "25% NaN NaN NaN NaN NaN \n",
+ "50% NaN NaN NaN NaN NaN \n",
+ "75% NaN NaN NaN NaN NaN \n",
+ "max NaN NaN NaN NaN NaN \n",
+ "\n",
+ " Income Monthly Premium Auto Number of Open Complaints \\\n",
+ "count 9137.000000 9137.000000 9137.0 \n",
+ "unique NaN NaN 12.0 \n",
+ "top NaN NaN 0.0 \n",
+ "freq NaN NaN 5629.0 \n",
+ "mean 37828.820291 110.391266 NaN \n",
+ "std 30358.716159 581.376032 NaN \n",
+ "min 0.000000 61.000000 NaN \n",
+ "25% 0.000000 68.000000 NaN \n",
+ "50% 34244.000000 83.000000 NaN \n",
+ "75% 62447.000000 109.000000 NaN \n",
+ "max 99981.000000 35354.000000 NaN \n",
+ "\n",
+ " Policy Type Vehicle Class Total Claim Amount State Gender \n",
+ "count 9137 9137 9137.000000 7070 7070 \n",
+ "unique 3 6 NaN 5 2 \n",
+ "top Personal Auto Four-Door Car NaN California F \n",
+ "freq 6792 4641 NaN 2544 3576 \n",
+ "mean NaN NaN 430.527140 NaN NaN \n",
+ "std NaN NaN 289.582968 NaN NaN \n",
+ "min NaN NaN 0.099007 NaN NaN \n",
+ "25% NaN NaN 266.996814 NaN NaN \n",
+ "50% NaN NaN 377.561463 NaN NaN \n",
+ "75% NaN NaN 546.420009 NaN NaN \n",
+ "max NaN NaN 2893.239678 NaN NaN "
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.describe(include=\"all\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "53bb0557",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Customer 2937\n",
+ "ST 10007\n",
+ "GENDER 10129\n",
+ "Education 2937\n",
+ "Customer Lifetime Value 2944\n",
+ "Income 2937\n",
+ "Monthly Premium Auto 2937\n",
+ "Number of Open Complaints 2937\n",
+ "Policy Type 2937\n",
+ "Vehicle Class 2937\n",
+ "Total Claim Amount 2937\n",
+ "State 5004\n",
+ "Gender 5004\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.isna().sum()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "id": "60f9987d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Standardize column names\n",
+ "\n",
+ "df.columns = (\n",
+ " df.columns\n",
+ " .str.lower()\n",
+ " .str.strip()\n",
+ " .str.replace(\" \", \"_\")\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "id": "8865cbf5",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['customer', 'st', 'gender', 'education', 'customer_lifetime_value',\n",
+ " 'income', 'monthly_premium_auto', 'number_of_open_complaints',\n",
+ " 'policy_type', 'vehicle_class', 'total_claim_amount', 'state',\n",
+ " 'gender'],\n",
+ " dtype='str')"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "id": "dcaa8ff6",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2939\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Checking duplioates\n",
+ "\n",
+ "print(df.duplicated().sum())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "id": "e950c89e",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Removing duplicates\n",
+ "\n",
+ "df = df.drop_duplicates()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "id": "9418ea6e",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Checking duplicates again\n",
+ "\n",
+ "print(df.duplicated().sum())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "id": "f0a50c12",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "gender 7193\n",
+ "st 7071\n",
+ "state 2065\n",
+ "gender 2065\n",
+ "customer_lifetime_value 8\n",
+ "education 1\n",
+ "customer 1\n",
+ "income 1\n",
+ "monthly_premium_auto 1\n",
+ "policy_type 1\n",
+ "number_of_open_complaints 1\n",
+ "total_claim_amount 1\n",
+ "vehicle_class 1\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 51,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Missing values\n",
+ "\n",
+ "df.isnull().sum().sort_values(ascending=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "id": "951ce62d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df[\"gender\"] = df[\"gender\"].fillna(\"Unknown\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "id": "0a0d35df",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df[\"st\"] = df[\"st\"].fillna(\"Unknown\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "id": "98b76ece",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df[\"state\"] = df[\"state\"].fillna(\"Unknown\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "id": "34c89916",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "customer_lifetime_value 8\n",
+ "customer 1\n",
+ "education 1\n",
+ "monthly_premium_auto 1\n",
+ "income 1\n",
+ "vehicle_class 1\n",
+ "total_claim_amount 1\n",
+ "number_of_open_complaints 1\n",
+ "policy_type 1\n",
+ "st 0\n",
+ "gender 0\n",
+ "state 0\n",
+ "gender 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 55,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "\n",
+ "df.isnull().sum().sort_values(ascending=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "id": "3ad70109",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['gender'], dtype='str')"
+ ]
+ },
+ "execution_count": 56,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.columns[df.columns.duplicated()]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "id": "18151b2a",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " gender | \n",
+ " gender | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Unknown | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " F | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " F | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " M | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " M | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 12069 | \n",
+ " Unknown | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12070 | \n",
+ " Unknown | \n",
+ " F | \n",
+ "
\n",
+ " \n",
+ " | 12071 | \n",
+ " Unknown | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12072 | \n",
+ " Unknown | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12073 | \n",
+ " Unknown | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
9135 rows × 2 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " gender gender\n",
+ "0 Unknown Unknown\n",
+ "1 F Unknown\n",
+ "2 F Unknown\n",
+ "3 M Unknown\n",
+ "4 M Unknown\n",
+ "... ... ...\n",
+ "12069 Unknown M\n",
+ "12070 Unknown F\n",
+ "12071 Unknown M\n",
+ "12072 Unknown M\n",
+ "12073 Unknown M\n",
+ "\n",
+ "[9135 rows x 2 columns]"
+ ]
+ },
+ "execution_count": 57,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.loc[:, \"gender\"]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "id": "d90ae600",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "gender_cols = df.loc[:, \"gender\"]\n",
+ "\n",
+ "df[\"gender\"] = gender_cols.apply(\n",
+ " lambda row: next(\n",
+ " (x for x in row if x != \"Unknown\"),\n",
+ " \"Unknown\"\n",
+ " ),\n",
+ " axis=1\n",
+ ")\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "id": "414de991",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " gender | \n",
+ " gender | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Unknown | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " F | \n",
+ " F | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " F | \n",
+ " F | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " M | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " M | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 12069 | \n",
+ " M | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12070 | \n",
+ " F | \n",
+ " F | \n",
+ "
\n",
+ " \n",
+ " | 12071 | \n",
+ " M | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12072 | \n",
+ " M | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ " | 12073 | \n",
+ " M | \n",
+ " M | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
9135 rows × 2 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " gender gender\n",
+ "0 Unknown Unknown\n",
+ "1 F F\n",
+ "2 F F\n",
+ "3 M M\n",
+ "4 M M\n",
+ "... ... ...\n",
+ "12069 M M\n",
+ "12070 F F\n",
+ "12071 M M\n",
+ "12072 M M\n",
+ "12073 M M\n",
+ "\n",
+ "[9135 rows x 2 columns]"
+ ]
+ },
+ "execution_count": 60,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.loc[:, \"gender\"]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 63,
+ "id": "41b55fd9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " customer | \n",
+ " st | \n",
+ " gender | \n",
+ " education | \n",
+ " customer_lifetime_value | \n",
+ " income | \n",
+ " monthly_premium_auto | \n",
+ " number_of_open_complaints | \n",
+ " policy_type | \n",
+ " vehicle_class | \n",
+ " total_claim_amount | \n",
+ " state | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " RB50392 | \n",
+ " Washington | \n",
+ " Unknown | \n",
+ " Master | \n",
+ " NaN | \n",
+ " 0.0 | \n",
+ " 1000.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 2.704934 | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " QZ44356 | \n",
+ " Arizona | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 697953.59% | \n",
+ " 0.0 | \n",
+ " 94.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 1131.464935 | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AI49188 | \n",
+ " Nevada | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 1288743.17% | \n",
+ " 48767.0 | \n",
+ " 108.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Two-Door Car | \n",
+ " 566.472247 | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " WW63253 | \n",
+ " California | \n",
+ " M | \n",
+ " Bachelor | \n",
+ " 764586.18% | \n",
+ " 0.0 | \n",
+ " 106.0 | \n",
+ " 1/0/00 | \n",
+ " Corporate Auto | \n",
+ " SUV | \n",
+ " 529.881344 | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " GA49547 | \n",
+ " Washington | \n",
+ " M | \n",
+ " High School or Below | \n",
+ " 536307.65% | \n",
+ " 36357.0 | \n",
+ " 68.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 17.269323 | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 12069 | \n",
+ " LA72316 | \n",
+ " Unknown | \n",
+ " M | \n",
+ " Bachelor | \n",
+ " 23405.98798 | \n",
+ " 71941.0 | \n",
+ " 73.0 | \n",
+ " 0 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 198.234764 | \n",
+ " California | \n",
+ "
\n",
+ " \n",
+ " | 12070 | \n",
+ " PK87824 | \n",
+ " Unknown | \n",
+ " F | \n",
+ " College | \n",
+ " 3096.511217 | \n",
+ " 21604.0 | \n",
+ " 79.0 | \n",
+ " 0 | \n",
+ " Corporate Auto | \n",
+ " Four-Door Car | \n",
+ " 379.200000 | \n",
+ " California | \n",
+ "
\n",
+ " \n",
+ " | 12071 | \n",
+ " TD14365 | \n",
+ " Unknown | \n",
+ " M | \n",
+ " Bachelor | \n",
+ " 8163.890428 | \n",
+ " 0.0 | \n",
+ " 85.0 | \n",
+ " 3 | \n",
+ " Corporate Auto | \n",
+ " Four-Door Car | \n",
+ " 790.784983 | \n",
+ " California | \n",
+ "
\n",
+ " \n",
+ " | 12072 | \n",
+ " UP19263 | \n",
+ " Unknown | \n",
+ " M | \n",
+ " College | \n",
+ " 7524.442436 | \n",
+ " 21941.0 | \n",
+ " 96.0 | \n",
+ " 0 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 691.200000 | \n",
+ " California | \n",
+ "
\n",
+ " \n",
+ " | 12073 | \n",
+ " Y167826 | \n",
+ " Unknown | \n",
+ " M | \n",
+ " College | \n",
+ " 2611.836866 | \n",
+ " 0.0 | \n",
+ " 77.0 | \n",
+ " 0 | \n",
+ " Corporate Auto | \n",
+ " Two-Door Car | \n",
+ " 369.600000 | \n",
+ " California | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
9135 rows × 12 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " customer st gender education \\\n",
+ "0 RB50392 Washington Unknown Master \n",
+ "1 QZ44356 Arizona F Bachelor \n",
+ "2 AI49188 Nevada F Bachelor \n",
+ "3 WW63253 California M Bachelor \n",
+ "4 GA49547 Washington M High School or Below \n",
+ "... ... ... ... ... \n",
+ "12069 LA72316 Unknown M Bachelor \n",
+ "12070 PK87824 Unknown F College \n",
+ "12071 TD14365 Unknown M Bachelor \n",
+ "12072 UP19263 Unknown M College \n",
+ "12073 Y167826 Unknown M College \n",
+ "\n",
+ " customer_lifetime_value income monthly_premium_auto \\\n",
+ "0 NaN 0.0 1000.0 \n",
+ "1 697953.59% 0.0 94.0 \n",
+ "2 1288743.17% 48767.0 108.0 \n",
+ "3 764586.18% 0.0 106.0 \n",
+ "4 536307.65% 36357.0 68.0 \n",
+ "... ... ... ... \n",
+ "12069 23405.98798 71941.0 73.0 \n",
+ "12070 3096.511217 21604.0 79.0 \n",
+ "12071 8163.890428 0.0 85.0 \n",
+ "12072 7524.442436 21941.0 96.0 \n",
+ "12073 2611.836866 0.0 77.0 \n",
+ "\n",
+ " number_of_open_complaints policy_type vehicle_class \\\n",
+ "0 1/0/00 Personal Auto Four-Door Car \n",
+ "1 1/0/00 Personal Auto Four-Door Car \n",
+ "2 1/0/00 Personal Auto Two-Door Car \n",
+ "3 1/0/00 Corporate Auto SUV \n",
+ "4 1/0/00 Personal Auto Four-Door Car \n",
+ "... ... ... ... \n",
+ "12069 0 Personal Auto Four-Door Car \n",
+ "12070 0 Corporate Auto Four-Door Car \n",
+ "12071 3 Corporate Auto Four-Door Car \n",
+ "12072 0 Personal Auto Four-Door Car \n",
+ "12073 0 Corporate Auto Two-Door Car \n",
+ "\n",
+ " total_claim_amount state \n",
+ "0 2.704934 Unknown \n",
+ "1 1131.464935 Unknown \n",
+ "2 566.472247 Unknown \n",
+ "3 529.881344 Unknown \n",
+ "4 17.269323 Unknown \n",
+ "... ... ... \n",
+ "12069 198.234764 California \n",
+ "12070 379.200000 California \n",
+ "12071 790.784983 California \n",
+ "12072 691.200000 California \n",
+ "12073 369.600000 California \n",
+ "\n",
+ "[9135 rows x 12 columns]"
+ ]
+ },
+ "execution_count": 63,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df = df.loc[:, ~df.columns.duplicated()]\n",
+ "\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "be1ce5d6",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "['Unknown', 'F', 'M', 'Femal', 'Male', 'female']\n",
+ "Length: 6, dtype: str\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(df[\"gender\"].unique())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 65,
+ "id": "b2ab46b3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "gender\n",
+ "F 4557\n",
+ "M 4368\n",
+ "Unknown 123\n",
+ "Male 40\n",
+ "female 30\n",
+ "Femal 17\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 65,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"gender\"].value_counts(dropna=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "id": "a092449f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df[\"gender\"] = df[\"gender\"].replace({\n",
+ " \"Femal\": \"F\",\n",
+ " \"female\": \"F\",\n",
+ " \"Male\": \"M\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "id": "d7481ba1",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "gender\n",
+ "F 4604\n",
+ "M 4408\n",
+ "Unknown 123\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 67,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"gender\"].value_counts(dropna=False)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "id": "31680079",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "['Washington', 'Arizona', 'Nevada', 'California', 'Oregon',\n",
+ " 'Cali', 'AZ', 'WA', 'Unknown']\n",
+ "Length: 9, dtype: str\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(df[\"st\"].unique())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "id": "e7434069",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df[\"st\"] = df[\"st\"].replace({\n",
+ " \"WA\": \"Washington\",\n",
+ " \"AZ\": \"Arizona\",\n",
+ " \"Cali\": \"California\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 70,
+ "id": "2dbe8664",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "['Washington', 'Arizona', 'Nevada', 'California', 'Oregon', 'Unknown']\n",
+ "Length: 6, dtype: str\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(df[\"st\"].unique())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 71,
+ "id": "38f054f8",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "[ 'Master', 'Bachelor', 'High School or Below',\n",
+ " 'College', 'Bachelors', 'Doctor',\n",
+ " nan]\n",
+ "Length: 7, dtype: str\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(df[\"education\"].unique())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 72,
+ "id": "9a99d563",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df[\"education\"] = df[\"education\"].replace({\n",
+ " \"Bachelors\": \"Bachelor\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 73,
+ "id": "199c8756",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "['Master', 'Bachelor', 'High School or Below', 'College', 'Doctor', nan]\n",
+ "Length: 6, dtype: str\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(df[\"education\"].unique())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 74,
+ "id": "3dc834b0",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 NaN\n",
+ "1 697953.59%\n",
+ "2 1288743.17%\n",
+ "3 764586.18%\n",
+ "4 536307.65%\n",
+ "Name: customer_lifetime_value, dtype: object"
+ ]
+ },
+ "execution_count": 74,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"customer_lifetime_value\"].head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 75,
+ "id": "82bf3f31",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df[\"customer_lifetime_value\"] = df[\"customer_lifetime_value\"].str.replace(\"%\", \"\", regex=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 76,
+ "id": "bc1f6e9c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 NaN\n",
+ "1 697953.59\n",
+ "2 1288743.17\n",
+ "3 764586.18\n",
+ "4 536307.65\n",
+ "Name: customer_lifetime_value, dtype: object"
+ ]
+ },
+ "execution_count": 76,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"customer_lifetime_value\"].head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 77,
+ "id": "c238544f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\n",
+ "['Four-Door Car', 'Two-Door Car', 'SUV', 'Luxury SUV',\n",
+ " 'Sports Car', 'Luxury Car', nan]\n",
+ "Length: 7, dtype: str"
+ ]
+ },
+ "execution_count": 77,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"vehicle_class\"].unique()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 78,
+ "id": "5e95ae4d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df[\"vehicle_class\"] = df[\"vehicle_class\"].replace({\n",
+ " \"Luxury SUV\": \"Luxury\",\n",
+ " \"Sports Car\": \"Luxury\",\n",
+ " \"Luxury Car\": \"Luxury\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 79,
+ "id": "556189cc",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\n",
+ "['Four-Door Car', 'Two-Door Car', 'SUV', 'Luxury', nan]\n",
+ "Length: 5, dtype: str"
+ ]
+ },
+ "execution_count": 79,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"vehicle_class\"].unique()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 80,
+ "id": "821bb356",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " customer | \n",
+ " st | \n",
+ " gender | \n",
+ " education | \n",
+ " customer_lifetime_value | \n",
+ " income | \n",
+ " monthly_premium_auto | \n",
+ " number_of_open_complaints | \n",
+ " policy_type | \n",
+ " vehicle_class | \n",
+ " total_claim_amount | \n",
+ " state | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " RB50392 | \n",
+ " Washington | \n",
+ " Unknown | \n",
+ " Master | \n",
+ " NaN | \n",
+ " 0.0 | \n",
+ " 1000.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 2.704934 | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " QZ44356 | \n",
+ " Arizona | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 697953.59 | \n",
+ " 0.0 | \n",
+ " 94.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 1131.464935 | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " AI49188 | \n",
+ " Nevada | \n",
+ " F | \n",
+ " Bachelor | \n",
+ " 1288743.17 | \n",
+ " 48767.0 | \n",
+ " 108.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Two-Door Car | \n",
+ " 566.472247 | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " WW63253 | \n",
+ " California | \n",
+ " M | \n",
+ " Bachelor | \n",
+ " 764586.18 | \n",
+ " 0.0 | \n",
+ " 106.0 | \n",
+ " 1/0/00 | \n",
+ " Corporate Auto | \n",
+ " SUV | \n",
+ " 529.881344 | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " GA49547 | \n",
+ " Washington | \n",
+ " M | \n",
+ " High School or Below | \n",
+ " 536307.65 | \n",
+ " 36357.0 | \n",
+ " 68.0 | \n",
+ " 1/0/00 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 17.269323 | \n",
+ " Unknown | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 12069 | \n",
+ " LA72316 | \n",
+ " Unknown | \n",
+ " M | \n",
+ " Bachelor | \n",
+ " NaN | \n",
+ " 71941.0 | \n",
+ " 73.0 | \n",
+ " 0 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 198.234764 | \n",
+ " California | \n",
+ "
\n",
+ " \n",
+ " | 12070 | \n",
+ " PK87824 | \n",
+ " Unknown | \n",
+ " F | \n",
+ " College | \n",
+ " NaN | \n",
+ " 21604.0 | \n",
+ " 79.0 | \n",
+ " 0 | \n",
+ " Corporate Auto | \n",
+ " Four-Door Car | \n",
+ " 379.200000 | \n",
+ " California | \n",
+ "
\n",
+ " \n",
+ " | 12071 | \n",
+ " TD14365 | \n",
+ " Unknown | \n",
+ " M | \n",
+ " Bachelor | \n",
+ " NaN | \n",
+ " 0.0 | \n",
+ " 85.0 | \n",
+ " 3 | \n",
+ " Corporate Auto | \n",
+ " Four-Door Car | \n",
+ " 790.784983 | \n",
+ " California | \n",
+ "
\n",
+ " \n",
+ " | 12072 | \n",
+ " UP19263 | \n",
+ " Unknown | \n",
+ " M | \n",
+ " College | \n",
+ " NaN | \n",
+ " 21941.0 | \n",
+ " 96.0 | \n",
+ " 0 | \n",
+ " Personal Auto | \n",
+ " Four-Door Car | \n",
+ " 691.200000 | \n",
+ " California | \n",
+ "
\n",
+ " \n",
+ " | 12073 | \n",
+ " Y167826 | \n",
+ " Unknown | \n",
+ " M | \n",
+ " College | \n",
+ " NaN | \n",
+ " 0.0 | \n",
+ " 77.0 | \n",
+ " 0 | \n",
+ " Corporate Auto | \n",
+ " Two-Door Car | \n",
+ " 369.600000 | \n",
+ " California | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
9135 rows × 12 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " customer st gender education \\\n",
+ "0 RB50392 Washington Unknown Master \n",
+ "1 QZ44356 Arizona F Bachelor \n",
+ "2 AI49188 Nevada F Bachelor \n",
+ "3 WW63253 California M Bachelor \n",
+ "4 GA49547 Washington M High School or Below \n",
+ "... ... ... ... ... \n",
+ "12069 LA72316 Unknown M Bachelor \n",
+ "12070 PK87824 Unknown F College \n",
+ "12071 TD14365 Unknown M Bachelor \n",
+ "12072 UP19263 Unknown M College \n",
+ "12073 Y167826 Unknown M College \n",
+ "\n",
+ " customer_lifetime_value income monthly_premium_auto \\\n",
+ "0 NaN 0.0 1000.0 \n",
+ "1 697953.59 0.0 94.0 \n",
+ "2 1288743.17 48767.0 108.0 \n",
+ "3 764586.18 0.0 106.0 \n",
+ "4 536307.65 36357.0 68.0 \n",
+ "... ... ... ... \n",
+ "12069 NaN 71941.0 73.0 \n",
+ "12070 NaN 21604.0 79.0 \n",
+ "12071 NaN 0.0 85.0 \n",
+ "12072 NaN 21941.0 96.0 \n",
+ "12073 NaN 0.0 77.0 \n",
+ "\n",
+ " number_of_open_complaints policy_type vehicle_class \\\n",
+ "0 1/0/00 Personal Auto Four-Door Car \n",
+ "1 1/0/00 Personal Auto Four-Door Car \n",
+ "2 1/0/00 Personal Auto Two-Door Car \n",
+ "3 1/0/00 Corporate Auto SUV \n",
+ "4 1/0/00 Personal Auto Four-Door Car \n",
+ "... ... ... ... \n",
+ "12069 0 Personal Auto Four-Door Car \n",
+ "12070 0 Corporate Auto Four-Door Car \n",
+ "12071 3 Corporate Auto Four-Door Car \n",
+ "12072 0 Personal Auto Four-Door Car \n",
+ "12073 0 Corporate Auto Two-Door Car \n",
+ "\n",
+ " total_claim_amount state \n",
+ "0 2.704934 Unknown \n",
+ "1 1131.464935 Unknown \n",
+ "2 566.472247 Unknown \n",
+ "3 529.881344 Unknown \n",
+ "4 17.269323 Unknown \n",
+ "... ... ... \n",
+ "12069 198.234764 California \n",
+ "12070 379.200000 California \n",
+ "12071 790.784983 California \n",
+ "12072 691.200000 California \n",
+ "12073 369.600000 California \n",
+ "\n",
+ "[9135 rows x 12 columns]"
+ ]
+ },
+ "execution_count": 80,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 81,
+ "id": "4a820327",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array(['1/0/00', '1/2/00', '1/1/00', '1/3/00', '1/5/00', '1/4/00', nan, 0,\n",
+ " 2, 3, 1, 5, 4], dtype=object)"
+ ]
+ },
+ "execution_count": 81,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"number_of_open_complaints\"].unique()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 82,
+ "id": "b1503ae8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df[\"number_of_open_complaints\"] = (\n",
+ " df[\"number_of_open_complaints\"]\n",
+ " .str.split(\"/\")\n",
+ " .str[1]\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 83,
+ "id": "dcf051c4",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df[\"number_of_open_complaints\"] = pd.to_numeric(\n",
+ " df[\"number_of_open_complaints\"]\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 86,
+ "id": "e638ff1d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "dtype('float64')"
+ ]
+ },
+ "execution_count": 86,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"number_of_open_complaints\"].dtype"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "184af484",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 0.0\n",
+ "1 0.0\n",
+ "2 0.0\n",
+ "3 0.0\n",
+ "4 0.0\n",
+ "5 0.0\n",
+ "6 0.0\n",
+ "7 0.0\n",
+ "8 0.0\n",
+ "9 0.0\n",
+ "10 0.0\n",
+ "11 0.0\n",
+ "12 2.0\n",
+ "13 1.0\n",
+ "14 2.0\n",
+ "15 1.0\n",
+ "16 0.0\n",
+ "17 0.0\n",
+ "18 0.0\n",
+ "19 0.0\n",
+ "20 0.0\n",
+ "21 1.0\n",
+ "22 0.0\n",
+ "23 3.0\n",
+ "24 0.0\n",
+ "25 0.0\n",
+ "26 0.0\n",
+ "27 0.0\n",
+ "28 2.0\n",
+ "29 1.0\n",
+ "30 1.0\n",
+ "31 0.0\n",
+ "32 0.0\n",
+ "33 0.0\n",
+ "34 0.0\n",
+ "35 0.0\n",
+ "36 0.0\n",
+ "37 0.0\n",
+ "38 0.0\n",
+ "39 2.0\n",
+ "40 1.0\n",
+ "41 0.0\n",
+ "42 0.0\n",
+ "43 0.0\n",
+ "44 1.0\n",
+ "45 3.0\n",
+ "46 3.0\n",
+ "47 0.0\n",
+ "48 0.0\n",
+ "49 0.0\n",
+ "Name: number_of_open_complaints, dtype: float64"
+ ]
+ },
+ "execution_count": 87,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"number_of_open_complaints\"].head(50)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 90,
+ "id": "febc4bc2",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "customer str\n",
+ "st str\n",
+ "gender str\n",
+ "education str\n",
+ "customer_lifetime_value object\n",
+ "income float64\n",
+ "monthly_premium_auto float64\n",
+ "number_of_open_complaints float64\n",
+ "policy_type str\n",
+ "vehicle_class str\n",
+ "total_claim_amount float64\n",
+ "state str\n",
+ "dtype: object"
+ ]
+ },
+ "execution_count": 90,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.dtypes"
]
},
{
@@ -72,14 +3043,18 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 93,
"id": "aa10d9b0-1c27-4d3f-a8e4-db6ab73bfd26",
"metadata": {
"id": "aa10d9b0-1c27-4d3f-a8e4-db6ab73bfd26"
},
"outputs": [],
"source": [
- "# Your code goes here"
+ "# Your code goes here\n",
+ "\n",
+ "url = \"https://raw.githubusercontent.com/data-bootcamp-v4/data/main/marketing_customer_analysis_clean.csv\"\n",
+ "\n",
+ "df = pd.read_csv(url)"
]
},
{
@@ -103,6 +3078,602 @@
"2. Create a pivot table that shows the average customer lifetime value per gender and education level. Analyze the resulting table to draw insights."
]
},
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "3d52cf0c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(10910, 27)"
+ ]
+ },
+ "execution_count": 94,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 95,
+ "id": "bf6758f6",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " unnamed:_0 | \n",
+ " customer | \n",
+ " state | \n",
+ " customer_lifetime_value | \n",
+ " response | \n",
+ " coverage | \n",
+ " education | \n",
+ " effective_to_date | \n",
+ " employmentstatus | \n",
+ " gender | \n",
+ " ... | \n",
+ " number_of_policies | \n",
+ " policy_type | \n",
+ " policy | \n",
+ " renew_offer_type | \n",
+ " sales_channel | \n",
+ " total_claim_amount | \n",
+ " vehicle_class | \n",
+ " vehicle_size | \n",
+ " vehicle_type | \n",
+ " month | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " DK49336 | \n",
+ " Arizona | \n",
+ " 4809.216960 | \n",
+ " No | \n",
+ " Basic | \n",
+ " College | \n",
+ " 2011-02-18 | \n",
+ " Employed | \n",
+ " M | \n",
+ " ... | \n",
+ " 9 | \n",
+ " Corporate Auto | \n",
+ " Corporate L3 | \n",
+ " Offer3 | \n",
+ " Agent | \n",
+ " 292.800000 | \n",
+ " Four-Door Car | \n",
+ " Medsize | \n",
+ " A | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 1 | \n",
+ " KX64629 | \n",
+ " California | \n",
+ " 2228.525238 | \n",
+ " No | \n",
+ " Basic | \n",
+ " College | \n",
+ " 2011-01-18 | \n",
+ " Unemployed | \n",
+ " F | \n",
+ " ... | \n",
+ " 1 | \n",
+ " Personal Auto | \n",
+ " Personal L3 | \n",
+ " Offer4 | \n",
+ " Call Center | \n",
+ " 744.924331 | \n",
+ " Four-Door Car | \n",
+ " Medsize | \n",
+ " A | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2 | \n",
+ " LZ68649 | \n",
+ " Washington | \n",
+ " 14947.917300 | \n",
+ " No | \n",
+ " Basic | \n",
+ " Bachelor | \n",
+ " 2011-02-10 | \n",
+ " Employed | \n",
+ " M | \n",
+ " ... | \n",
+ " 2 | \n",
+ " Personal Auto | \n",
+ " Personal L3 | \n",
+ " Offer3 | \n",
+ " Call Center | \n",
+ " 480.000000 | \n",
+ " SUV | \n",
+ " Medsize | \n",
+ " A | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 3 | \n",
+ " XL78013 | \n",
+ " Oregon | \n",
+ " 22332.439460 | \n",
+ " Yes | \n",
+ " Extended | \n",
+ " College | \n",
+ " 2011-01-11 | \n",
+ " Employed | \n",
+ " M | \n",
+ " ... | \n",
+ " 2 | \n",
+ " Corporate Auto | \n",
+ " Corporate L3 | \n",
+ " Offer2 | \n",
+ " Branch | \n",
+ " 484.013411 | \n",
+ " Four-Door Car | \n",
+ " Medsize | \n",
+ " A | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 4 | \n",
+ " QA50777 | \n",
+ " Oregon | \n",
+ " 9025.067525 | \n",
+ " No | \n",
+ " Premium | \n",
+ " Bachelor | \n",
+ " 2011-01-17 | \n",
+ " Medical Leave | \n",
+ " F | \n",
+ " ... | \n",
+ " 7 | \n",
+ " Personal Auto | \n",
+ " Personal L2 | \n",
+ " Offer1 | \n",
+ " Branch | \n",
+ " 707.925645 | \n",
+ " Four-Door Car | \n",
+ " Medsize | \n",
+ " A | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 27 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " unnamed:_0 customer state customer_lifetime_value response \\\n",
+ "0 0 DK49336 Arizona 4809.216960 No \n",
+ "1 1 KX64629 California 2228.525238 No \n",
+ "2 2 LZ68649 Washington 14947.917300 No \n",
+ "3 3 XL78013 Oregon 22332.439460 Yes \n",
+ "4 4 QA50777 Oregon 9025.067525 No \n",
+ "\n",
+ " coverage education effective_to_date employmentstatus gender ... \\\n",
+ "0 Basic College 2011-02-18 Employed M ... \n",
+ "1 Basic College 2011-01-18 Unemployed F ... \n",
+ "2 Basic Bachelor 2011-02-10 Employed M ... \n",
+ "3 Extended College 2011-01-11 Employed M ... \n",
+ "4 Premium Bachelor 2011-01-17 Medical Leave F ... \n",
+ "\n",
+ " number_of_policies policy_type policy renew_offer_type \\\n",
+ "0 9 Corporate Auto Corporate L3 Offer3 \n",
+ "1 1 Personal Auto Personal L3 Offer4 \n",
+ "2 2 Personal Auto Personal L3 Offer3 \n",
+ "3 2 Corporate Auto Corporate L3 Offer2 \n",
+ "4 7 Personal Auto Personal L2 Offer1 \n",
+ "\n",
+ " sales_channel total_claim_amount vehicle_class vehicle_size \\\n",
+ "0 Agent 292.800000 Four-Door Car Medsize \n",
+ "1 Call Center 744.924331 Four-Door Car Medsize \n",
+ "2 Call Center 480.000000 SUV Medsize \n",
+ "3 Branch 484.013411 Four-Door Car Medsize \n",
+ "4 Branch 707.925645 Four-Door Car Medsize \n",
+ "\n",
+ " vehicle_type month \n",
+ "0 A 2 \n",
+ "1 A 1 \n",
+ "2 A 2 \n",
+ "3 A 1 \n",
+ "4 A 1 \n",
+ "\n",
+ "[5 rows x 27 columns]"
+ ]
+ },
+ "execution_count": 95,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 96,
+ "id": "9db878a3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['unnamed:_0', 'customer', 'state', 'customer_lifetime_value',\n",
+ " 'response', 'coverage', 'education', 'effective_to_date',\n",
+ " 'employmentstatus', 'gender', 'income', 'location_code',\n",
+ " 'marital_status', 'monthly_premium_auto', 'months_since_last_claim',\n",
+ " 'months_since_policy_inception', 'number_of_open_complaints',\n",
+ " 'number_of_policies', 'policy_type', 'policy', 'renew_offer_type',\n",
+ " 'sales_channel', 'total_claim_amount', 'vehicle_class', 'vehicle_size',\n",
+ " 'vehicle_type', 'month'],\n",
+ " dtype='str')"
+ ]
+ },
+ "execution_count": 96,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 97,
+ "id": "8c2c2566",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 10910 entries, 0 to 10909\n",
+ "Data columns (total 27 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 unnamed:_0 10910 non-null int64 \n",
+ " 1 customer 10910 non-null str \n",
+ " 2 state 10910 non-null str \n",
+ " 3 customer_lifetime_value 10910 non-null float64\n",
+ " 4 response 10910 non-null str \n",
+ " 5 coverage 10910 non-null str \n",
+ " 6 education 10910 non-null str \n",
+ " 7 effective_to_date 10910 non-null str \n",
+ " 8 employmentstatus 10910 non-null str \n",
+ " 9 gender 10910 non-null str \n",
+ " 10 income 10910 non-null int64 \n",
+ " 11 location_code 10910 non-null str \n",
+ " 12 marital_status 10910 non-null str \n",
+ " 13 monthly_premium_auto 10910 non-null int64 \n",
+ " 14 months_since_last_claim 10910 non-null float64\n",
+ " 15 months_since_policy_inception 10910 non-null int64 \n",
+ " 16 number_of_open_complaints 10910 non-null float64\n",
+ " 17 number_of_policies 10910 non-null int64 \n",
+ " 18 policy_type 10910 non-null str \n",
+ " 19 policy 10910 non-null str \n",
+ " 20 renew_offer_type 10910 non-null str \n",
+ " 21 sales_channel 10910 non-null str \n",
+ " 22 total_claim_amount 10910 non-null float64\n",
+ " 23 vehicle_class 10910 non-null str \n",
+ " 24 vehicle_size 10910 non-null str \n",
+ " 25 vehicle_type 10910 non-null str \n",
+ " 26 month 10910 non-null int64 \n",
+ "dtypes: float64(4), int64(6), str(17)\n",
+ "memory usage: 2.2 MB\n"
+ ]
+ }
+ ],
+ "source": [
+ "df.info()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 99,
+ "id": "e5d2c064",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "sales_channel\n",
+ "Agent 4121\n",
+ "Branch 3022\n",
+ "Call Center 2141\n",
+ "Web 1626\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 99,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"sales_channel\"].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 107,
+ "id": "665ab6de",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "count 10910.000000\n",
+ "mean 8018.241094\n",
+ "std 6885.081434\n",
+ "min 1898.007675\n",
+ "25% 4014.453113\n",
+ "50% 5771.147235\n",
+ "75% 8992.779137\n",
+ "max 83325.381190\n",
+ "Name: customer_lifetime_value, dtype: float64"
+ ]
+ },
+ "execution_count": 107,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df[\"customer_lifetime_value\"].describe()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 108,
+ "id": "9fd64735",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " customer_lifetime_value | \n",
+ "
\n",
+ " \n",
+ " | sales_channel | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Agent | \n",
+ " 33057887.85 | \n",
+ "
\n",
+ " \n",
+ " | Branch | \n",
+ " 24359201.21 | \n",
+ "
\n",
+ " \n",
+ " | Call Center | \n",
+ " 17364288.37 | \n",
+ "
\n",
+ " \n",
+ " | Web | \n",
+ " 12697632.90 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " customer_lifetime_value\n",
+ "sales_channel \n",
+ "Agent 33057887.85\n",
+ "Branch 24359201.21\n",
+ "Call Center 17364288.37\n",
+ "Web 12697632.90"
+ ]
+ },
+ "execution_count": 108,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pivot_revenue = pd.pivot_table(\n",
+ " df,\n",
+ " values=\"customer_lifetime_value\",\n",
+ " index=\"sales_channel\",\n",
+ " aggfunc=\"sum\"\n",
+ ")\n",
+ "\n",
+ "pivot_revenue.round(2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 110,
+ "id": "983fae53",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "np.float64(87479010.33252)"
+ ]
+ },
+ "execution_count": 110,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "total = pivot_revenue[\"customer_lifetime_value\"].sum()\n",
+ "total"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "47697e53",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pivot_revenue[\"percentage\"] = pivot_revenue[\"customer_lifetime_value\"] / total * 100\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 114,
+ "id": "e643f5b6",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pivot_revenue = pivot_revenue.sort_values(\n",
+ " by=\"customer_lifetime_value\",\n",
+ " ascending=False\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 115,
+ "id": "6f232d6d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " customer_lifetime_value | \n",
+ " percentage | \n",
+ "
\n",
+ " \n",
+ " | sales_channel | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Agent | \n",
+ " 3.305789e+07 | \n",
+ " 37.789508 | \n",
+ "
\n",
+ " \n",
+ " | Branch | \n",
+ " 2.435920e+07 | \n",
+ " 27.845767 | \n",
+ "
\n",
+ " \n",
+ " | Call Center | \n",
+ " 1.736429e+07 | \n",
+ " 19.849663 | \n",
+ "
\n",
+ " \n",
+ " | Web | \n",
+ " 1.269763e+07 | \n",
+ " 14.515062 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " customer_lifetime_value percentage\n",
+ "sales_channel \n",
+ "Agent 3.305789e+07 37.789508\n",
+ "Branch 2.435920e+07 27.845767\n",
+ "Call Center 1.736429e+07 19.849663\n",
+ "Web 1.269763e+07 14.515062"
+ ]
+ },
+ "execution_count": 115,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pivot_revenue"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "aae7da7a",
+ "metadata": {},
+ "source": [
+ "My insights:\n",
+ "\n",
+ "The Agent channel generate the highest revenue and Web the lowest.\n",
+ "More than 50% of the sales were generated by Agent and Branch channels."
+ ]
+ },
{
"cell_type": "markdown",
"id": "32c7f2e5-3d90-43e5-be33-9781b6069198",
@@ -146,7 +3717,7 @@
"provenance": []
},
"kernelspec": {
- "display_name": "Python 3 (ipykernel)",
+ "display_name": "Python 3",
"language": "python",
"name": "python3"
},
@@ -160,7 +3731,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.9.13"
+ "version": "3.14.5"
}
},
"nbformat": 4,