From fe7b6bbd814de622927bc4a71f516894c7e9bb84 Mon Sep 17 00:00:00 2001
From: hemantsinalkar-ssk
<87474238+hemantsinalkar-ssk@users.noreply.github.com>
Date: Thu, 3 Oct 2024 16:46:13 +0530
Subject: [PATCH 1/3] - Added cell to install tensorflow libraries
---
.../labs/improve_data_quality.ipynb | 3500 +++++++--------
.../solutions/improve_data_quality.ipynb | 3742 +++++++++--------
2 files changed, 3629 insertions(+), 3613 deletions(-)
diff --git a/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb b/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb
index 56d0c5cfb6..02889af0ba 100644
--- a/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb
+++ b/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb
@@ -37,6 +37,14 @@
"!sudo chown -R jupyter:jupyter /home/jupyter/training-data-analyst"
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Install TensorFlow Libraries\n",
+ "!pip install tensorflow"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {
@@ -388,92 +396,92 @@
"execution_count": 8,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " Zip Code \n",
- " Vehicles \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " count \n",
- " 497.00000 \n",
- " 496.000000 \n",
- " \n",
- " \n",
- " mean \n",
- " 89838.23340 \n",
- " 74.512097 \n",
- " \n",
- " \n",
- " std \n",
- " 3633.35609 \n",
- " 243.839871 \n",
- " \n",
- " \n",
- " min \n",
- " 9001.00000 \n",
- " 1.000000 \n",
- " \n",
- " \n",
- " 25% \n",
- " 90001.00000 \n",
- " 14.000000 \n",
- " \n",
- " \n",
- " 50% \n",
- " 90001.00000 \n",
- " 25.000000 \n",
- " \n",
- " \n",
- " 75% \n",
- " 90001.00000 \n",
- " 56.250000 \n",
- " \n",
- " \n",
- " max \n",
- " 90002.00000 \n",
- " 3178.000000 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Zip Code Vehicles\n",
- "count 497.00000 496.000000\n",
- "mean 89838.23340 74.512097\n",
- "std 3633.35609 243.839871\n",
- "min 9001.00000 1.000000\n",
- "25% 90001.00000 14.000000\n",
- "50% 90001.00000 25.000000\n",
- "75% 90001.00000 56.250000\n",
- "max 90002.00000 3178.000000"
- ]
- },
- "execution_count": 10,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Zip Code \n",
+ " Vehicles \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " count \n",
+ " 497.00000 \n",
+ " 496.000000 \n",
+ " \n",
+ " \n",
+ " mean \n",
+ " 89838.23340 \n",
+ " 74.512097 \n",
+ " \n",
+ " \n",
+ " std \n",
+ " 3633.35609 \n",
+ " 243.839871 \n",
+ " \n",
+ " \n",
+ " min \n",
+ " 9001.00000 \n",
+ " 1.000000 \n",
+ " \n",
+ " \n",
+ " 25% \n",
+ " 90001.00000 \n",
+ " 14.000000 \n",
+ " \n",
+ " \n",
+ " 50% \n",
+ " 90001.00000 \n",
+ " 25.000000 \n",
+ " \n",
+ " \n",
+ " 75% \n",
+ " 90001.00000 \n",
+ " 56.250000 \n",
+ " \n",
+ " \n",
+ " max \n",
+ " 90002.00000 \n",
+ " 3178.000000 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Zip Code Vehicles\n",
+ "count 497.00000 496.000000\n",
+ "mean 89838.23340 74.512097\n",
+ "std 3633.35609 243.839871\n",
+ "min 9001.00000 1.000000\n",
+ "25% 90001.00000 14.000000\n",
+ "50% 90001.00000 25.000000\n",
+ "75% 90001.00000 56.250000\n",
+ "max 90002.00000 3178.000000"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"df_transport.describe()"
@@ -491,149 +499,149 @@
"execution_count": 9,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " Date \n",
- " Zip Code \n",
- " Model Year \n",
- " Make \n",
- " Light_Duty \n",
- " Vehicles \n",
- " \n",
- " \n",
- " Fuel \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " Battery Electric \n",
- " 10/1/2018 \n",
- " 90000.0 \n",
- " <2006 \n",
- " OTHER/UNK \n",
- " No \n",
- " 4.0 \n",
- " \n",
- " \n",
- " Diesel and Diesel Hybrid \n",
- " 10/1/2018 \n",
- " 90000.0 \n",
- " <2006 \n",
- " OTHER/UNK \n",
- " No \n",
- " 55.0 \n",
- " \n",
- " \n",
- " Flex-Fuel \n",
- " 10/14/2018 \n",
- " 90001.0 \n",
- " 2007 \n",
- " Type_A \n",
- " Yes \n",
- " 78.0 \n",
- " \n",
- " \n",
- " Gasoline \n",
- " 10/1/2018 \n",
- " 90000.0 \n",
- " 2006 \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 1.0 \n",
- " \n",
- " \n",
- " Hybrid Gasoline \n",
- " 10/24/2018 \n",
- " 90001.0 \n",
- " 2009 \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 18.0 \n",
- " \n",
- " \n",
- " Natural Gas \n",
- " 10/25/2018 \n",
- " 90001.0 \n",
- " 2009 \n",
- " OTHER/UNK \n",
- " No \n",
- " 2.0 \n",
- " \n",
- " \n",
- " Other \n",
- " 10/8/2018 \n",
- " 90000.0 \n",
- " <2006 \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 6.0 \n",
- " \n",
- " \n",
- " Plug-in Hybrid \n",
- " 11/2/2018 \n",
- " 90001.0 \n",
- " 2012 \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 1.0 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Date Zip Code Model Year Make \\\n",
- "Fuel \n",
- "Battery Electric 10/1/2018 90000.0 <2006 OTHER/UNK \n",
- "Diesel and Diesel Hybrid 10/1/2018 90000.0 <2006 OTHER/UNK \n",
- "Flex-Fuel 10/14/2018 90001.0 2007 Type_A \n",
- "Gasoline 10/1/2018 90000.0 2006 OTHER/UNK \n",
- "Hybrid Gasoline 10/24/2018 90001.0 2009 OTHER/UNK \n",
- "Natural Gas 10/25/2018 90001.0 2009 OTHER/UNK \n",
- "Other 10/8/2018 90000.0 <2006 OTHER/UNK \n",
- "Plug-in Hybrid 11/2/2018 90001.0 2012 OTHER/UNK \n",
- "\n",
- " Light_Duty Vehicles \n",
- "Fuel \n",
- "Battery Electric No 4.0 \n",
- "Diesel and Diesel Hybrid No 55.0 \n",
- "Flex-Fuel Yes 78.0 \n",
- "Gasoline Yes 1.0 \n",
- "Hybrid Gasoline Yes 18.0 \n",
- "Natural Gas No 2.0 \n",
- "Other Yes 6.0 \n",
- "Plug-in Hybrid Yes 1.0 "
- ]
- },
- "execution_count": 11,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Date \n",
+ " Zip Code \n",
+ " Model Year \n",
+ " Make \n",
+ " Light_Duty \n",
+ " Vehicles \n",
+ " \n",
+ " \n",
+ " Fuel \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " Battery Electric \n",
+ " 10/1/2018 \n",
+ " 90000.0 \n",
+ " <2006 \n",
+ " OTHER/UNK \n",
+ " No \n",
+ " 4.0 \n",
+ " \n",
+ " \n",
+ " Diesel and Diesel Hybrid \n",
+ " 10/1/2018 \n",
+ " 90000.0 \n",
+ " <2006 \n",
+ " OTHER/UNK \n",
+ " No \n",
+ " 55.0 \n",
+ " \n",
+ " \n",
+ " Flex-Fuel \n",
+ " 10/14/2018 \n",
+ " 90001.0 \n",
+ " 2007 \n",
+ " Type_A \n",
+ " Yes \n",
+ " 78.0 \n",
+ " \n",
+ " \n",
+ " Gasoline \n",
+ " 10/1/2018 \n",
+ " 90000.0 \n",
+ " 2006 \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ " Hybrid Gasoline \n",
+ " 10/24/2018 \n",
+ " 90001.0 \n",
+ " 2009 \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 18.0 \n",
+ " \n",
+ " \n",
+ " Natural Gas \n",
+ " 10/25/2018 \n",
+ " 90001.0 \n",
+ " 2009 \n",
+ " OTHER/UNK \n",
+ " No \n",
+ " 2.0 \n",
+ " \n",
+ " \n",
+ " Other \n",
+ " 10/8/2018 \n",
+ " 90000.0 \n",
+ " <2006 \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 6.0 \n",
+ " \n",
+ " \n",
+ " Plug-in Hybrid \n",
+ " 11/2/2018 \n",
+ " 90001.0 \n",
+ " 2012 \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date Zip Code Model Year Make \\\n",
+ "Fuel \n",
+ "Battery Electric 10/1/2018 90000.0 <2006 OTHER/UNK \n",
+ "Diesel and Diesel Hybrid 10/1/2018 90000.0 <2006 OTHER/UNK \n",
+ "Flex-Fuel 10/14/2018 90001.0 2007 Type_A \n",
+ "Gasoline 10/1/2018 90000.0 2006 OTHER/UNK \n",
+ "Hybrid Gasoline 10/24/2018 90001.0 2009 OTHER/UNK \n",
+ "Natural Gas 10/25/2018 90001.0 2009 OTHER/UNK \n",
+ "Other 10/8/2018 90000.0 <2006 OTHER/UNK \n",
+ "Plug-in Hybrid 11/2/2018 90001.0 2012 OTHER/UNK \n",
+ "\n",
+ " Light_Duty Vehicles \n",
+ "Fuel \n",
+ "Battery Electric No 4.0 \n",
+ "Diesel and Diesel Hybrid No 55.0 \n",
+ "Flex-Fuel Yes 78.0 \n",
+ "Gasoline Yes 1.0 \n",
+ "Hybrid Gasoline Yes 18.0 \n",
+ "Natural Gas No 2.0 \n",
+ "Other Yes 6.0 \n",
+ "Plug-in Hybrid Yes 1.0 "
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"df_transport.groupby('Fuel').first() # Get the first entry for each month. "
@@ -660,23 +668,23 @@
"execution_count": 10,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "Date 2\n",
- "Zip Code 2\n",
- "Model Year 2\n",
- "Fuel 2\n",
- "Make 3\n",
- "Light_Duty 3\n",
- "Vehicles 3\n",
- "dtype: int64"
- ]
- },
- "execution_count": 12,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/plain": [
+ "Date 2\n",
+ "Zip Code 2\n",
+ "Model Year 2\n",
+ "Fuel 2\n",
+ "Make 3\n",
+ "Light_Duty 3\n",
+ "Vehicles 3\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"df_transport.isnull().sum()"
@@ -694,36 +702,36 @@
"execution_count": 11,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0 10/1/2018\n",
- "1 10/1/2018\n",
- "2 NaN\n",
- "3 10/1/2018\n",
- "4 10/1/2018\n",
- " ... \n",
- "494 12/3/2018\n",
- "495 12/4/2018\n",
- "496 12/5/2018\n",
- "497 12/6/2018\n",
- "498 12/7/2018\n",
- "Name: Date, Length: 499, dtype: object\n",
- "0 False\n",
- "1 False\n",
- "2 True\n",
- "3 False\n",
- "4 False\n",
- " ... \n",
- "494 False\n",
- "495 False\n",
- "496 False\n",
- "497 False\n",
- "498 False\n",
- "Name: Date, Length: 499, dtype: bool\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0 10/1/2018\n",
+ "1 10/1/2018\n",
+ "2 NaN\n",
+ "3 10/1/2018\n",
+ "4 10/1/2018\n",
+ " ... \n",
+ "494 12/3/2018\n",
+ "495 12/4/2018\n",
+ "496 12/5/2018\n",
+ "497 12/6/2018\n",
+ "498 12/7/2018\n",
+ "Name: Date, Length: 499, dtype: object\n",
+ "0 False\n",
+ "1 False\n",
+ "2 True\n",
+ "3 False\n",
+ "4 False\n",
+ " ... \n",
+ "494 False\n",
+ "495 False\n",
+ "496 False\n",
+ "497 False\n",
+ "498 False\n",
+ "Name: Date, Length: 499, dtype: bool\n"
+ ]
+ }
],
"source": [
"print (df_transport['Date'])\n",
@@ -735,36 +743,36 @@
"execution_count": 12,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0 OTHER/UNK\n",
- "1 NaN\n",
- "2 OTHER/UNK\n",
- "3 OTHER/UNK\n",
- "4 OTHER/UNK\n",
- " ... \n",
- "494 Type_I\n",
- "495 Type_B\n",
- "496 Type_C\n",
- "497 Type_J\n",
- "498 Type_J\n",
- "Name: Make, Length: 499, dtype: object\n",
- "0 False\n",
- "1 True\n",
- "2 False\n",
- "3 False\n",
- "4 False\n",
- " ... \n",
- "494 False\n",
- "495 False\n",
- "496 False\n",
- "497 False\n",
- "498 False\n",
- "Name: Make, Length: 499, dtype: bool\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0 OTHER/UNK\n",
+ "1 NaN\n",
+ "2 OTHER/UNK\n",
+ "3 OTHER/UNK\n",
+ "4 OTHER/UNK\n",
+ " ... \n",
+ "494 Type_I\n",
+ "495 Type_B\n",
+ "496 Type_C\n",
+ "497 Type_J\n",
+ "498 Type_J\n",
+ "Name: Make, Length: 499, dtype: object\n",
+ "0 False\n",
+ "1 True\n",
+ "2 False\n",
+ "3 False\n",
+ "4 False\n",
+ " ... \n",
+ "494 False\n",
+ "495 False\n",
+ "496 False\n",
+ "497 False\n",
+ "498 False\n",
+ "Name: Make, Length: 499, dtype: bool\n"
+ ]
+ }
],
"source": [
"print (df_transport['Make'])\n",
@@ -776,36 +784,36 @@
"execution_count": 13,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0 2006\n",
- "1 2014\n",
- "2 NaN\n",
- "3 2017\n",
- "4 <2006\n",
- " ... \n",
- "494 2010\n",
- "495 2010\n",
- "496 2010\n",
- "497 2010\n",
- "498 2010\n",
- "Name: Model Year, Length: 499, dtype: object\n",
- "0 False\n",
- "1 False\n",
- "2 True\n",
- "3 False\n",
- "4 False\n",
- " ... \n",
- "494 False\n",
- "495 False\n",
- "496 False\n",
- "497 False\n",
- "498 False\n",
- "Name: Model Year, Length: 499, dtype: bool\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0 2006\n",
+ "1 2014\n",
+ "2 NaN\n",
+ "3 2017\n",
+ "4 <2006\n",
+ " ... \n",
+ "494 2010\n",
+ "495 2010\n",
+ "496 2010\n",
+ "497 2010\n",
+ "498 2010\n",
+ "Name: Model Year, Length: 499, dtype: object\n",
+ "0 False\n",
+ "1 False\n",
+ "2 True\n",
+ "3 False\n",
+ "4 False\n",
+ " ... \n",
+ "494 False\n",
+ "495 False\n",
+ "496 False\n",
+ "497 False\n",
+ "498 False\n",
+ "Name: Model Year, Length: 499, dtype: bool\n"
+ ]
+ }
],
"source": [
"print (df_transport['Model Year'])\n",
@@ -826,29 +834,29 @@
"execution_count": 14,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Rows : 499\n",
- "Columns : 7\n",
- "\n",
- "Features : \n",
- " ['Date', 'Zip Code', 'Model Year', 'Fuel', 'Make', 'Light_Duty', 'Vehicles']\n",
- "\n",
- "Unique values : \n",
- " Date 130\n",
- "Zip Code 4\n",
- "Model Year 15\n",
- "Fuel 8\n",
- "Make 43\n",
- "Light_Duty 2\n",
- "Vehicles 151\n",
- "dtype: int64\n",
- "\n",
- "Missing values : 17\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rows : 499\n",
+ "Columns : 7\n",
+ "\n",
+ "Features : \n",
+ " ['Date', 'Zip Code', 'Model Year', 'Fuel', 'Make', 'Light_Duty', 'Vehicles']\n",
+ "\n",
+ "Unique values : \n",
+ " Date 130\n",
+ "Zip Code 4\n",
+ "Model Year 15\n",
+ "Fuel 8\n",
+ "Make 43\n",
+ "Light_Duty 2\n",
+ "Vehicles 151\n",
+ "dtype: int64\n",
+ "\n",
+ "Missing values : 17\n"
+ ]
+ }
],
"source": [
"print (\"Rows : \" ,df_transport.shape[0])\n",
@@ -870,104 +878,104 @@
"execution_count": 15,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " Date \n",
- " Zip Code \n",
- " Model Year \n",
- " Fuel \n",
- " Make \n",
- " Light_Duty \n",
- " Vehicles \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 494 \n",
- " 12/3/2018 \n",
- " 90002.0 \n",
- " 2010 \n",
- " Gasoline \n",
- " Type_I \n",
- " Yes \n",
- " 11.0 \n",
- " \n",
- " \n",
- " 495 \n",
- " 12/4/2018 \n",
- " 90002.0 \n",
- " 2010 \n",
- " Gasoline \n",
- " Type_B \n",
- " Yes \n",
- " 58.0 \n",
- " \n",
- " \n",
- " 496 \n",
- " 12/5/2018 \n",
- " 90002.0 \n",
- " 2010 \n",
- " Gasoline \n",
- " Type_C \n",
- " Yes \n",
- " 45.0 \n",
- " \n",
- " \n",
- " 497 \n",
- " 12/6/2018 \n",
- " 90002.0 \n",
- " 2010 \n",
- " Gasoline \n",
- " Type_J \n",
- " Yes \n",
- " 82.0 \n",
- " \n",
- " \n",
- " 498 \n",
- " 12/7/2018 \n",
- " 90002.0 \n",
- " 2010 \n",
- " Gasoline \n",
- " Type_J \n",
- " Yes \n",
- " 12.0 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Date Zip Code Model Year Fuel Make Light_Duty Vehicles\n",
- "494 12/3/2018 90002.0 2010 Gasoline Type_I Yes 11.0\n",
- "495 12/4/2018 90002.0 2010 Gasoline Type_B Yes 58.0\n",
- "496 12/5/2018 90002.0 2010 Gasoline Type_C Yes 45.0\n",
- "497 12/6/2018 90002.0 2010 Gasoline Type_J Yes 82.0\n",
- "498 12/7/2018 90002.0 2010 Gasoline Type_J Yes 12.0"
- ]
- },
- "execution_count": 17,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Date \n",
+ " Zip Code \n",
+ " Model Year \n",
+ " Fuel \n",
+ " Make \n",
+ " Light_Duty \n",
+ " Vehicles \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 494 \n",
+ " 12/3/2018 \n",
+ " 90002.0 \n",
+ " 2010 \n",
+ " Gasoline \n",
+ " Type_I \n",
+ " Yes \n",
+ " 11.0 \n",
+ " \n",
+ " \n",
+ " 495 \n",
+ " 12/4/2018 \n",
+ " 90002.0 \n",
+ " 2010 \n",
+ " Gasoline \n",
+ " Type_B \n",
+ " Yes \n",
+ " 58.0 \n",
+ " \n",
+ " \n",
+ " 496 \n",
+ " 12/5/2018 \n",
+ " 90002.0 \n",
+ " 2010 \n",
+ " Gasoline \n",
+ " Type_C \n",
+ " Yes \n",
+ " 45.0 \n",
+ " \n",
+ " \n",
+ " 497 \n",
+ " 12/6/2018 \n",
+ " 90002.0 \n",
+ " 2010 \n",
+ " Gasoline \n",
+ " Type_J \n",
+ " Yes \n",
+ " 82.0 \n",
+ " \n",
+ " \n",
+ " 498 \n",
+ " 12/7/2018 \n",
+ " 90002.0 \n",
+ " 2010 \n",
+ " Gasoline \n",
+ " Type_J \n",
+ " Yes \n",
+ " 12.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date Zip Code Model Year Fuel Make Light_Duty Vehicles\n",
+ "494 12/3/2018 90002.0 2010 Gasoline Type_I Yes 11.0\n",
+ "495 12/4/2018 90002.0 2010 Gasoline Type_B Yes 58.0\n",
+ "496 12/5/2018 90002.0 2010 Gasoline Type_C Yes 45.0\n",
+ "497 12/6/2018 90002.0 2010 Gasoline Type_J Yes 82.0\n",
+ "498 12/7/2018 90002.0 2010 Gasoline Type_J Yes 12.0"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"df_transport.tail()"
@@ -1030,27 +1038,27 @@
"execution_count": 16,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "Date 2\n",
- "Zip Code 2\n",
- "Model Year 2\n",
- "Fuel 2\n",
- "Make 3\n",
- "Light_Duty 3\n",
- "Vehicles 3\n",
- "dtype: int64"
- ]
- },
- "execution_count": 18,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# TODO 1a\n",
- "# TODO -- Your code here.\n"
+ {
+ "data": {
+ "text/plain": [
+ "Date 2\n",
+ "Zip Code 2\n",
+ "Model Year 2\n",
+ "Fuel 2\n",
+ "Make 3\n",
+ "Light_Duty 3\n",
+ "Vehicles 3\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# TODO 1a\n",
+ "# TODO -- Your code here.\n"
]
},
{
@@ -1082,23 +1090,23 @@
"execution_count": 18,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "Date 0\n",
- "Zip Code 0\n",
- "Model Year 0\n",
- "Fuel 0\n",
- "Make 0\n",
- "Light_Duty 0\n",
- "Vehicles 0\n",
- "dtype: int64"
- ]
- },
- "execution_count": 20,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/plain": [
+ "Date 0\n",
+ "Zip Code 0\n",
+ "Model Year 0\n",
+ "Fuel 0\n",
+ "Make 0\n",
+ "Light_Duty 0\n",
+ "Vehicles 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# TODO 1c\n",
@@ -1149,26 +1157,26 @@
"execution_count": 20,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "RangeIndex: 499 entries, 0 to 498\n",
- "Data columns (total 7 columns):\n",
- " # Column Non-Null Count Dtype \n",
- "--- ------ -------------- ----- \n",
- " 0 Date 499 non-null datetime64[ns]\n",
- " 1 Zip Code 499 non-null float64 \n",
- " 2 Model Year 499 non-null object \n",
- " 3 Fuel 499 non-null object \n",
- " 4 Make 499 non-null object \n",
- " 5 Light_Duty 499 non-null object \n",
- " 6 Vehicles 499 non-null float64 \n",
- "dtypes: datetime64[ns](1), float64(2), object(4)\n",
- "memory usage: 27.4+ KB\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 499 entries, 0 to 498\n",
+ "Data columns (total 7 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 Date 499 non-null datetime64[ns]\n",
+ " 1 Zip Code 499 non-null float64 \n",
+ " 2 Model Year 499 non-null object \n",
+ " 3 Fuel 499 non-null object \n",
+ " 4 Make 499 non-null object \n",
+ " 5 Light_Duty 499 non-null object \n",
+ " 6 Vehicles 499 non-null float64 \n",
+ "dtypes: datetime64[ns](1), float64(2), object(4)\n",
+ "memory usage: 27.4+ KB\n"
+ ]
+ }
],
"source": [
"# TODO 2b\n",
@@ -1187,29 +1195,29 @@
"execution_count": 21,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "RangeIndex: 499 entries, 0 to 498\n",
- "Data columns (total 10 columns):\n",
- " # Column Non-Null Count Dtype \n",
- "--- ------ -------------- ----- \n",
- " 0 Date 499 non-null datetime64[ns]\n",
- " 1 Zip Code 499 non-null float64 \n",
- " 2 Model Year 499 non-null object \n",
- " 3 Fuel 499 non-null object \n",
- " 4 Make 499 non-null object \n",
- " 5 Light_Duty 499 non-null object \n",
- " 6 Vehicles 499 non-null float64 \n",
- " 7 year 499 non-null int64 \n",
- " 8 month 499 non-null int64 \n",
- " 9 day 499 non-null int64 \n",
- "dtypes: datetime64[ns](1), float64(2), int64(3), object(4)\n",
- "memory usage: 39.1+ KB\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 499 entries, 0 to 498\n",
+ "Data columns (total 10 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 Date 499 non-null datetime64[ns]\n",
+ " 1 Zip Code 499 non-null float64 \n",
+ " 2 Model Year 499 non-null object \n",
+ " 3 Fuel 499 non-null object \n",
+ " 4 Make 499 non-null object \n",
+ " 5 Light_Duty 499 non-null object \n",
+ " 6 Vehicles 499 non-null float64 \n",
+ " 7 year 499 non-null int64 \n",
+ " 8 month 499 non-null int64 \n",
+ " 9 day 499 non-null int64 \n",
+ "dtypes: datetime64[ns](1), float64(2), int64(3), object(4)\n",
+ "memory usage: 39.1+ KB\n"
+ ]
+ }
],
"source": [
"df_transport['year'] = df_transport['Date'].dt.year\n",
@@ -1232,151 +1240,151 @@
"execution_count": 22,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " Date \n",
- " Zip Code \n",
- " Model Year \n",
- " Fuel \n",
- " Make \n",
- " Light_Duty \n",
- " Vehicles \n",
- " year \n",
- " day \n",
- " \n",
- " \n",
- " month \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 1 \n",
- " 2019-01-01 \n",
- " 90001.0 \n",
- " 2016 \n",
- " Gasoline \n",
- " Type_G \n",
- " Yes \n",
- " 18.0 \n",
- " 2019 \n",
- " 1 \n",
- " \n",
- " \n",
- " 2 \n",
- " 2019-02-01 \n",
- " 90001.0 \n",
- " 2017 \n",
- " Gasoline \n",
- " Type_D \n",
- " Yes \n",
- " 13.0 \n",
- " 2019 \n",
- " 1 \n",
- " \n",
- " \n",
- " 3 \n",
- " 2019-03-01 \n",
- " 90001.0 \n",
- " 2018 \n",
- " Gasoline \n",
- " Type_C \n",
- " Yes \n",
- " 32.0 \n",
- " 2019 \n",
- " 1 \n",
- " \n",
- " \n",
- " 10 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2006 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 1.0 \n",
- " 2018 \n",
- " 1 \n",
- " \n",
- " \n",
- " 11 \n",
- " 2018-11-01 \n",
- " 90001.0 \n",
- " 2007 \n",
- " Gasoline \n",
- " Type_M \n",
- " Yes \n",
- " 15.0 \n",
- " 2018 \n",
- " 1 \n",
- " \n",
- " \n",
- " 12 \n",
- " 2018-12-02 \n",
- " 90001.0 \n",
- " 2015 \n",
- " Gasoline \n",
- " Type_G \n",
- " Yes \n",
- " 19.0 \n",
- " 2018 \n",
- " 2 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Date Zip Code Model Year Fuel Make Light_Duty \\\n",
- "month \n",
- "1 2019-01-01 90001.0 2016 Gasoline Type_G Yes \n",
- "2 2019-02-01 90001.0 2017 Gasoline Type_D Yes \n",
- "3 2019-03-01 90001.0 2018 Gasoline Type_C Yes \n",
- "10 2018-10-01 90000.0 2006 Gasoline OTHER/UNK Yes \n",
- "11 2018-11-01 90001.0 2007 Gasoline Type_M Yes \n",
- "12 2018-12-02 90001.0 2015 Gasoline Type_G Yes \n",
- "\n",
- " Vehicles year day \n",
- "month \n",
- "1 18.0 2019 1 \n",
- "2 13.0 2019 1 \n",
- "3 32.0 2019 1 \n",
- "10 1.0 2018 1 \n",
- "11 15.0 2018 1 \n",
- "12 19.0 2018 2 "
- ]
- },
- "execution_count": 24,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Date \n",
+ " Zip Code \n",
+ " Model Year \n",
+ " Fuel \n",
+ " Make \n",
+ " Light_Duty \n",
+ " Vehicles \n",
+ " year \n",
+ " day \n",
+ " \n",
+ " \n",
+ " month \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2019-01-01 \n",
+ " 90001.0 \n",
+ " 2016 \n",
+ " Gasoline \n",
+ " Type_G \n",
+ " Yes \n",
+ " 18.0 \n",
+ " 2019 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2019-02-01 \n",
+ " 90001.0 \n",
+ " 2017 \n",
+ " Gasoline \n",
+ " Type_D \n",
+ " Yes \n",
+ " 13.0 \n",
+ " 2019 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2019-03-01 \n",
+ " 90001.0 \n",
+ " 2018 \n",
+ " Gasoline \n",
+ " Type_C \n",
+ " Yes \n",
+ " 32.0 \n",
+ " 2019 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2006 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 11 \n",
+ " 2018-11-01 \n",
+ " 90001.0 \n",
+ " 2007 \n",
+ " Gasoline \n",
+ " Type_M \n",
+ " Yes \n",
+ " 15.0 \n",
+ " 2018 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 12 \n",
+ " 2018-12-02 \n",
+ " 90001.0 \n",
+ " 2015 \n",
+ " Gasoline \n",
+ " Type_G \n",
+ " Yes \n",
+ " 19.0 \n",
+ " 2018 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date Zip Code Model Year Fuel Make Light_Duty \\\n",
+ "month \n",
+ "1 2019-01-01 90001.0 2016 Gasoline Type_G Yes \n",
+ "2 2019-02-01 90001.0 2017 Gasoline Type_D Yes \n",
+ "3 2019-03-01 90001.0 2018 Gasoline Type_C Yes \n",
+ "10 2018-10-01 90000.0 2006 Gasoline OTHER/UNK Yes \n",
+ "11 2018-11-01 90001.0 2007 Gasoline Type_M Yes \n",
+ "12 2018-12-02 90001.0 2015 Gasoline Type_G Yes \n",
+ "\n",
+ " Vehicles year day \n",
+ "month \n",
+ "1 18.0 2019 1 \n",
+ "2 13.0 2019 1 \n",
+ "3 32.0 2019 1 \n",
+ "10 1.0 2018 1 \n",
+ "11 15.0 2018 1 \n",
+ "12 19.0 2018 2 "
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Here, we are creating a new dataframe called \"grouped_data\" and grouping by on the column \"Make\"\n",
@@ -1419,7 +1427,7 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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",
"text/plain": [
""
]
@@ -1458,84 +1466,84 @@
"execution_count": 24,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " date \n",
- " zipcode \n",
- " modelyear \n",
- " fuel \n",
- " make \n",
- " lightduty \n",
- " vehicles \n",
- " year \n",
- " month \n",
- " day \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2006 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " \n",
- " \n",
- " 1 \n",
- " 2018-10-01 \n",
- " 90001.0 \n",
- " 2014 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " date zipcode modelyear fuel make lightduty vehicles \\\n",
- "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK Yes 1.0 \n",
- "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK Yes 1.0 \n",
- "\n",
- " year month day \n",
- "0 2018 10 1 \n",
- "1 2018 10 1 "
- ]
- },
- "execution_count": 26,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " zipcode \n",
+ " modelyear \n",
+ " fuel \n",
+ " make \n",
+ " lightduty \n",
+ " vehicles \n",
+ " year \n",
+ " month \n",
+ " day \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2006 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2018-10-01 \n",
+ " 90001.0 \n",
+ " 2014 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date zipcode modelyear fuel make lightduty vehicles \\\n",
+ "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK Yes 1.0 \n",
+ "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK Yes 1.0 \n",
+ "\n",
+ " year month day \n",
+ "0 2018 10 1 \n",
+ "1 2018 10 1 "
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# TODO 3a\n",
@@ -1578,30 +1586,30 @@
"execution_count": 26,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "2007 53\n",
- "2008 45\n",
- "2006 36\n",
- "2010 34\n",
- "2014 31\n",
- "2015 30\n",
- "2017 29\n",
- "2016 29\n",
- "2013 27\n",
- "2009 25\n",
- "2012 25\n",
- "2011 24\n",
- "2018 23\n",
- "2019 5\n",
- "Name: modelyear, dtype: int64"
- ]
- },
- "execution_count": 28,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/plain": [
+ "2007 53\n",
+ "2008 45\n",
+ "2006 36\n",
+ "2010 34\n",
+ "2014 31\n",
+ "2015 30\n",
+ "2017 29\n",
+ "2016 29\n",
+ "2013 27\n",
+ "2009 25\n",
+ "2012 25\n",
+ "2011 24\n",
+ "2018 23\n",
+ "2019 5\n",
+ "Name: modelyear, dtype: int64"
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"df['modelyear'].value_counts(0)"
@@ -1635,18 +1643,18 @@
"execution_count": 27,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "Yes 374\n",
- "No 42\n",
- "Name: lightduty, dtype: int64"
- ]
- },
- "execution_count": 29,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/plain": [
+ "Yes 374\n",
+ "No 42\n",
+ "Name: lightduty, dtype: int64"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"df['lightduty'].value_counts(0)"
@@ -1664,18 +1672,18 @@
"execution_count": 28,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "1 374\n",
- "0 42\n",
- "Name: lightduty, dtype: int64"
- ]
- },
- "execution_count": 30,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/plain": [
+ "1 374\n",
+ "0 42\n",
+ "Name: lightduty, dtype: int64"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"df.loc[:,'lightduty'] = df['lightduty'].apply(lambda x: 0 if x=='No' else 1)\n",
@@ -1687,129 +1695,129 @@
"execution_count": 29,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " date \n",
- " zipcode \n",
- " modelyear \n",
- " fuel \n",
- " make \n",
- " lightduty \n",
- " vehicles \n",
- " year \n",
- " month \n",
- " day \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2006 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " \n",
- " \n",
- " 1 \n",
- " 2018-10-01 \n",
- " 90001.0 \n",
- " 2014 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " \n",
- " \n",
- " 3 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2017 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " \n",
- " \n",
- " 16 \n",
- " 2018-10-09 \n",
- " 90001.0 \n",
- " 2006 \n",
- " Diesel and Diesel Hybrid \n",
- " Type_C \n",
- " 0 \n",
- " 16.0 \n",
- " 2018 \n",
- " 10 \n",
- " 9 \n",
- " \n",
- " \n",
- " 17 \n",
- " 2018-10-10 \n",
- " 90001.0 \n",
- " 2006 \n",
- " Diesel and Diesel Hybrid \n",
- " OTHER/UNK \n",
- " 0 \n",
- " 23.0 \n",
- " 2018 \n",
- " 10 \n",
- " 10 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " date zipcode modelyear fuel make \\\n",
- "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK \n",
- "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK \n",
- "3 2018-10-01 90000.0 2017 Gasoline OTHER/UNK \n",
- "16 2018-10-09 90001.0 2006 Diesel and Diesel Hybrid Type_C \n",
- "17 2018-10-10 90001.0 2006 Diesel and Diesel Hybrid OTHER/UNK \n",
- "\n",
- " lightduty vehicles year month day \n",
- "0 1 1.0 2018 10 1 \n",
- "1 1 1.0 2018 10 1 \n",
- "3 1 1.0 2018 10 1 \n",
- "16 0 16.0 2018 10 9 \n",
- "17 0 23.0 2018 10 10 "
- ]
- },
- "execution_count": 31,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " zipcode \n",
+ " modelyear \n",
+ " fuel \n",
+ " make \n",
+ " lightduty \n",
+ " vehicles \n",
+ " year \n",
+ " month \n",
+ " day \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2006 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2018-10-01 \n",
+ " 90001.0 \n",
+ " 2014 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2017 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 16 \n",
+ " 2018-10-09 \n",
+ " 90001.0 \n",
+ " 2006 \n",
+ " Diesel and Diesel Hybrid \n",
+ " Type_C \n",
+ " 0 \n",
+ " 16.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 9 \n",
+ " \n",
+ " \n",
+ " 17 \n",
+ " 2018-10-10 \n",
+ " 90001.0 \n",
+ " 2006 \n",
+ " Diesel and Diesel Hybrid \n",
+ " OTHER/UNK \n",
+ " 0 \n",
+ " 23.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 10 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date zipcode modelyear fuel make \\\n",
+ "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK \n",
+ "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK \n",
+ "3 2018-10-01 90000.0 2017 Gasoline OTHER/UNK \n",
+ "16 2018-10-09 90001.0 2006 Diesel and Diesel Hybrid Type_C \n",
+ "17 2018-10-10 90001.0 2006 Diesel and Diesel Hybrid OTHER/UNK \n",
+ "\n",
+ " lightduty vehicles year month day \n",
+ "0 1 1.0 2018 10 1 \n",
+ "1 1 1.0 2018 10 1 \n",
+ "3 1 1.0 2018 10 1 \n",
+ "16 0 16.0 2018 10 9 \n",
+ "17 0 23.0 2018 10 10 "
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Confirm that \"lightduty\" has been converted.\n",
@@ -1840,219 +1848,219 @@
"execution_count": 30,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " zipcode \n",
- " modelyear_2007 \n",
- " modelyear_2008 \n",
- " modelyear_2009 \n",
- " modelyear_2010 \n",
- " modelyear_2011 \n",
- " modelyear_2012 \n",
- " modelyear_2013 \n",
- " modelyear_2014 \n",
- " modelyear_2015 \n",
- " ... \n",
- " make_Type_P \n",
- " make_Type_Q \n",
- " make_Type_R \n",
- " make_Type_S \n",
- " make_Type_T \n",
- " make_Type_U \n",
- " make_Type_V \n",
- " make_Type_W \n",
- " make_Type_X \n",
- " make_Type_Y \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 90000.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 1 \n",
- " 90001.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 1 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 3 \n",
- " 90000.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 16 \n",
- " 90001.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 17 \n",
- " 90001.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- "
\n",
- "
5 rows × 49 columns
\n",
- "
"
- ],
- "text/plain": [
- " zipcode modelyear_2007 modelyear_2008 modelyear_2009 modelyear_2010 \\\n",
- "0 90000.0 0 0 0 0 \n",
- "1 90001.0 0 0 0 0 \n",
- "3 90000.0 0 0 0 0 \n",
- "16 90001.0 0 0 0 0 \n",
- "17 90001.0 0 0 0 0 \n",
- "\n",
- " modelyear_2011 modelyear_2012 modelyear_2013 modelyear_2014 \\\n",
- "0 0 0 0 0 \n",
- "1 0 0 0 1 \n",
- "3 0 0 0 0 \n",
- "16 0 0 0 0 \n",
- "17 0 0 0 0 \n",
- "\n",
- " modelyear_2015 ... make_Type_P make_Type_Q make_Type_R make_Type_S \\\n",
- "0 0 ... 0 0 0 0 \n",
- "1 0 ... 0 0 0 0 \n",
- "3 0 ... 0 0 0 0 \n",
- "16 0 ... 0 0 0 0 \n",
- "17 0 ... 0 0 0 0 \n",
- "\n",
- " make_Type_T make_Type_U make_Type_V make_Type_W make_Type_X \\\n",
- "0 0 0 0 0 0 \n",
- "1 0 0 0 0 0 \n",
- "3 0 0 0 0 0 \n",
- "16 0 0 0 0 0 \n",
- "17 0 0 0 0 0 \n",
- "\n",
- " make_Type_Y \n",
- "0 0 \n",
- "1 0 \n",
- "3 0 \n",
- "16 0 \n",
- "17 0 \n",
- "\n",
- "[5 rows x 49 columns]"
- ]
- },
- "execution_count": 32,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " zipcode \n",
+ " modelyear_2007 \n",
+ " modelyear_2008 \n",
+ " modelyear_2009 \n",
+ " modelyear_2010 \n",
+ " modelyear_2011 \n",
+ " modelyear_2012 \n",
+ " modelyear_2013 \n",
+ " modelyear_2014 \n",
+ " modelyear_2015 \n",
+ " ... \n",
+ " make_Type_P \n",
+ " make_Type_Q \n",
+ " make_Type_R \n",
+ " make_Type_S \n",
+ " make_Type_T \n",
+ " make_Type_U \n",
+ " make_Type_V \n",
+ " make_Type_W \n",
+ " make_Type_X \n",
+ " make_Type_Y \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 90000.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 90001.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 90000.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 16 \n",
+ " 90001.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 17 \n",
+ " 90001.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 49 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " zipcode modelyear_2007 modelyear_2008 modelyear_2009 modelyear_2010 \\\n",
+ "0 90000.0 0 0 0 0 \n",
+ "1 90001.0 0 0 0 0 \n",
+ "3 90000.0 0 0 0 0 \n",
+ "16 90001.0 0 0 0 0 \n",
+ "17 90001.0 0 0 0 0 \n",
+ "\n",
+ " modelyear_2011 modelyear_2012 modelyear_2013 modelyear_2014 \\\n",
+ "0 0 0 0 0 \n",
+ "1 0 0 0 1 \n",
+ "3 0 0 0 0 \n",
+ "16 0 0 0 0 \n",
+ "17 0 0 0 0 \n",
+ "\n",
+ " modelyear_2015 ... make_Type_P make_Type_Q make_Type_R make_Type_S \\\n",
+ "0 0 ... 0 0 0 0 \n",
+ "1 0 ... 0 0 0 0 \n",
+ "3 0 ... 0 0 0 0 \n",
+ "16 0 ... 0 0 0 0 \n",
+ "17 0 ... 0 0 0 0 \n",
+ "\n",
+ " make_Type_T make_Type_U make_Type_V make_Type_W make_Type_X \\\n",
+ "0 0 0 0 0 0 \n",
+ "1 0 0 0 0 0 \n",
+ "3 0 0 0 0 0 \n",
+ "16 0 0 0 0 0 \n",
+ "17 0 0 0 0 0 \n",
+ "\n",
+ " make_Type_Y \n",
+ "0 0 \n",
+ "1 0 \n",
+ "3 0 \n",
+ "16 0 \n",
+ "17 0 \n",
+ "\n",
+ "[5 rows x 49 columns]"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Making dummy variables for categorical data with more inputs. \n",
@@ -2073,212 +2081,212 @@
"execution_count": 31,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " date \n",
- " zipcode \n",
- " modelyear \n",
- " fuel \n",
- " make \n",
- " lightduty \n",
- " vehicles \n",
- " year \n",
- " month \n",
- " day \n",
- " ... \n",
- " make_Type_P \n",
- " make_Type_Q \n",
- " make_Type_R \n",
- " make_Type_S \n",
- " make_Type_T \n",
- " make_Type_U \n",
- " make_Type_V \n",
- " make_Type_W \n",
- " make_Type_X \n",
- " make_Type_Y \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2006 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 1 \n",
- " 2018-10-01 \n",
- " 90001.0 \n",
- " 2014 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 3 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2017 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 16 \n",
- " 2018-10-09 \n",
- " 90001.0 \n",
- " 2006 \n",
- " Diesel and Diesel Hybrid \n",
- " Type_C \n",
- " 0 \n",
- " 16.0 \n",
- " 2018 \n",
- " 10 \n",
- " 9 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 17 \n",
- " 2018-10-10 \n",
- " 90001.0 \n",
- " 2006 \n",
- " Diesel and Diesel Hybrid \n",
- " OTHER/UNK \n",
- " 0 \n",
- " 23.0 \n",
- " 2018 \n",
- " 10 \n",
- " 10 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- "
\n",
- "
5 rows × 59 columns
\n",
- "
"
- ],
- "text/plain": [
- " date zipcode modelyear fuel make \\\n",
- "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK \n",
- "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK \n",
- "3 2018-10-01 90000.0 2017 Gasoline OTHER/UNK \n",
- "16 2018-10-09 90001.0 2006 Diesel and Diesel Hybrid Type_C \n",
- "17 2018-10-10 90001.0 2006 Diesel and Diesel Hybrid OTHER/UNK \n",
- "\n",
- " lightduty vehicles year month day ... make_Type_P make_Type_Q \\\n",
- "0 1 1.0 2018 10 1 ... 0 0 \n",
- "1 1 1.0 2018 10 1 ... 0 0 \n",
- "3 1 1.0 2018 10 1 ... 0 0 \n",
- "16 0 16.0 2018 10 9 ... 0 0 \n",
- "17 0 23.0 2018 10 10 ... 0 0 \n",
- "\n",
- " make_Type_R make_Type_S make_Type_T make_Type_U make_Type_V \\\n",
- "0 0 0 0 0 0 \n",
- "1 0 0 0 0 0 \n",
- "3 0 0 0 0 0 \n",
- "16 0 0 0 0 0 \n",
- "17 0 0 0 0 0 \n",
- "\n",
- " make_Type_W make_Type_X make_Type_Y \n",
- "0 0 0 0 \n",
- "1 0 0 0 \n",
- "3 0 0 0 \n",
- "16 0 0 0 \n",
- "17 0 0 0 \n",
- "\n",
- "[5 rows x 59 columns]"
- ]
- },
- "execution_count": 33,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " zipcode \n",
+ " modelyear \n",
+ " fuel \n",
+ " make \n",
+ " lightduty \n",
+ " vehicles \n",
+ " year \n",
+ " month \n",
+ " day \n",
+ " ... \n",
+ " make_Type_P \n",
+ " make_Type_Q \n",
+ " make_Type_R \n",
+ " make_Type_S \n",
+ " make_Type_T \n",
+ " make_Type_U \n",
+ " make_Type_V \n",
+ " make_Type_W \n",
+ " make_Type_X \n",
+ " make_Type_Y \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2006 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2018-10-01 \n",
+ " 90001.0 \n",
+ " 2014 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2017 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 16 \n",
+ " 2018-10-09 \n",
+ " 90001.0 \n",
+ " 2006 \n",
+ " Diesel and Diesel Hybrid \n",
+ " Type_C \n",
+ " 0 \n",
+ " 16.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 9 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 17 \n",
+ " 2018-10-10 \n",
+ " 90001.0 \n",
+ " 2006 \n",
+ " Diesel and Diesel Hybrid \n",
+ " OTHER/UNK \n",
+ " 0 \n",
+ " 23.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 10 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 59 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date zipcode modelyear fuel make \\\n",
+ "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK \n",
+ "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK \n",
+ "3 2018-10-01 90000.0 2017 Gasoline OTHER/UNK \n",
+ "16 2018-10-09 90001.0 2006 Diesel and Diesel Hybrid Type_C \n",
+ "17 2018-10-10 90001.0 2006 Diesel and Diesel Hybrid OTHER/UNK \n",
+ "\n",
+ " lightduty vehicles year month day ... make_Type_P make_Type_Q \\\n",
+ "0 1 1.0 2018 10 1 ... 0 0 \n",
+ "1 1 1.0 2018 10 1 ... 0 0 \n",
+ "3 1 1.0 2018 10 1 ... 0 0 \n",
+ "16 0 16.0 2018 10 9 ... 0 0 \n",
+ "17 0 23.0 2018 10 10 ... 0 0 \n",
+ "\n",
+ " make_Type_R make_Type_S make_Type_T make_Type_U make_Type_V \\\n",
+ "0 0 0 0 0 0 \n",
+ "1 0 0 0 0 0 \n",
+ "3 0 0 0 0 0 \n",
+ "16 0 0 0 0 0 \n",
+ "17 0 0 0 0 0 \n",
+ "\n",
+ " make_Type_W make_Type_X make_Type_Y \n",
+ "0 0 0 0 \n",
+ "1 0 0 0 \n",
+ "3 0 0 0 \n",
+ "16 0 0 0 \n",
+ "17 0 0 0 \n",
+ "\n",
+ "[5 rows x 59 columns]"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# TODO 4a\n",
@@ -2307,212 +2315,212 @@
"execution_count": 33,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " lightduty \n",
- " vehicles \n",
- " year \n",
- " month \n",
- " day \n",
- " modelyear_2007 \n",
- " modelyear_2008 \n",
- " modelyear_2009 \n",
- " modelyear_2010 \n",
- " modelyear_2011 \n",
- " ... \n",
- " make_Type_P \n",
- " make_Type_Q \n",
- " make_Type_R \n",
- " make_Type_S \n",
- " make_Type_T \n",
- " make_Type_U \n",
- " make_Type_V \n",
- " make_Type_W \n",
- " make_Type_X \n",
- " make_Type_Y \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 1 \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 3 \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 16 \n",
- " 0 \n",
- " 16.0 \n",
- " 2018 \n",
- " 10 \n",
- " 9 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 17 \n",
- " 0 \n",
- " 23.0 \n",
- " 2018 \n",
- " 10 \n",
- " 10 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- "
\n",
- "
5 rows × 53 columns
\n",
- "
"
- ],
- "text/plain": [
- " lightduty vehicles year month day modelyear_2007 modelyear_2008 \\\n",
- "0 1 1.0 2018 10 1 0 0 \n",
- "1 1 1.0 2018 10 1 0 0 \n",
- "3 1 1.0 2018 10 1 0 0 \n",
- "16 0 16.0 2018 10 9 0 0 \n",
- "17 0 23.0 2018 10 10 0 0 \n",
- "\n",
- " modelyear_2009 modelyear_2010 modelyear_2011 ... make_Type_P \\\n",
- "0 0 0 0 ... 0 \n",
- "1 0 0 0 ... 0 \n",
- "3 0 0 0 ... 0 \n",
- "16 0 0 0 ... 0 \n",
- "17 0 0 0 ... 0 \n",
- "\n",
- " make_Type_Q make_Type_R make_Type_S make_Type_T make_Type_U \\\n",
- "0 0 0 0 0 0 \n",
- "1 0 0 0 0 0 \n",
- "3 0 0 0 0 0 \n",
- "16 0 0 0 0 0 \n",
- "17 0 0 0 0 0 \n",
- "\n",
- " make_Type_V make_Type_W make_Type_X make_Type_Y \n",
- "0 0 0 0 0 \n",
- "1 0 0 0 0 \n",
- "3 0 0 0 0 \n",
- "16 0 0 0 0 \n",
- "17 0 0 0 0 \n",
- "\n",
- "[5 rows x 53 columns]"
- ]
- },
- "execution_count": 35,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " lightduty \n",
+ " vehicles \n",
+ " year \n",
+ " month \n",
+ " day \n",
+ " modelyear_2007 \n",
+ " modelyear_2008 \n",
+ " modelyear_2009 \n",
+ " modelyear_2010 \n",
+ " modelyear_2011 \n",
+ " ... \n",
+ " make_Type_P \n",
+ " make_Type_Q \n",
+ " make_Type_R \n",
+ " make_Type_S \n",
+ " make_Type_T \n",
+ " make_Type_U \n",
+ " make_Type_V \n",
+ " make_Type_W \n",
+ " make_Type_X \n",
+ " make_Type_Y \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 16 \n",
+ " 0 \n",
+ " 16.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 9 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 17 \n",
+ " 0 \n",
+ " 23.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 10 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 53 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " lightduty vehicles year month day modelyear_2007 modelyear_2008 \\\n",
+ "0 1 1.0 2018 10 1 0 0 \n",
+ "1 1 1.0 2018 10 1 0 0 \n",
+ "3 1 1.0 2018 10 1 0 0 \n",
+ "16 0 16.0 2018 10 9 0 0 \n",
+ "17 0 23.0 2018 10 10 0 0 \n",
+ "\n",
+ " modelyear_2009 modelyear_2010 modelyear_2011 ... make_Type_P \\\n",
+ "0 0 0 0 ... 0 \n",
+ "1 0 0 0 ... 0 \n",
+ "3 0 0 0 ... 0 \n",
+ "16 0 0 0 ... 0 \n",
+ "17 0 0 0 ... 0 \n",
+ "\n",
+ " make_Type_Q make_Type_R make_Type_S make_Type_T make_Type_U \\\n",
+ "0 0 0 0 0 0 \n",
+ "1 0 0 0 0 0 \n",
+ "3 0 0 0 0 0 \n",
+ "16 0 0 0 0 0 \n",
+ "17 0 0 0 0 0 \n",
+ "\n",
+ " make_Type_V make_Type_W make_Type_X make_Type_Y \n",
+ "0 0 0 0 0 \n",
+ "1 0 0 0 0 \n",
+ "3 0 0 0 0 \n",
+ "16 0 0 0 0 \n",
+ "17 0 0 0 0 \n",
+ "\n",
+ "[5 rows x 53 columns]"
+ ]
+ },
+ "execution_count": 35,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Confirm that 'zipcode','modelyear', 'fuel', and 'make' have been dropped.\n",
@@ -2539,16 +2547,16 @@
"execution_count": 34,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Unique values of month: [10 11 12 1 2 3]\n",
- "Unique values of day: [ 1 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31\n",
- " 2 3 4 5 6 7 8]\n",
- "Unique values of year: [2018 2019]\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Unique values of month: [10 11 12 1 2 3]\n",
+ "Unique values of day: [ 1 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31\n",
+ " 2 3 4 5 6 7 8]\n",
+ "Unique values of year: [2018 2019]\n"
+ ]
+ }
],
"source": [
"print ('Unique values of month:',df.month.unique())\n",
@@ -2592,184 +2600,184 @@
"execution_count": 39,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " lightduty \n",
- " vehicles \n",
- " modelyear_2007 \n",
- " modelyear_2008 \n",
- " modelyear_2009 \n",
- " modelyear_2010 \n",
- " modelyear_2011 \n",
- " modelyear_2012 \n",
- " modelyear_2013 \n",
- " modelyear_2014 \n",
- " ... \n",
- " make_Type_T \n",
- " make_Type_U \n",
- " make_Type_V \n",
- " make_Type_W \n",
- " make_Type_X \n",
- " make_Type_Y \n",
- " day_sin \n",
- " day_cos \n",
- " month_sin \n",
- " month_cos \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 495 \n",
- " 1 \n",
- " 58.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0.724793 \n",
- " 0.688967 \n",
- " -0.5 \n",
- " 0.866025 \n",
- " \n",
- " \n",
- " 496 \n",
- " 1 \n",
- " 45.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0.848644 \n",
- " 0.528964 \n",
- " -0.5 \n",
- " 0.866025 \n",
- " \n",
- " \n",
- " 497 \n",
- " 1 \n",
- " 82.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0.937752 \n",
- " 0.347305 \n",
- " -0.5 \n",
- " 0.866025 \n",
- " \n",
- " \n",
- " 498 \n",
- " 1 \n",
- " 12.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0.988468 \n",
- " 0.151428 \n",
- " -0.5 \n",
- " 0.866025 \n",
- " \n",
- " \n",
- "
\n",
- "
4 rows × 54 columns
\n",
- "
"
- ],
- "text/plain": [
- " lightduty vehicles modelyear_2007 modelyear_2008 modelyear_2009 \\\n",
- "495 1 58.0 0 0 0 \n",
- "496 1 45.0 0 0 0 \n",
- "497 1 82.0 0 0 0 \n",
- "498 1 12.0 0 0 0 \n",
- "\n",
- " modelyear_2010 modelyear_2011 modelyear_2012 modelyear_2013 \\\n",
- "495 1 0 0 0 \n",
- "496 1 0 0 0 \n",
- "497 1 0 0 0 \n",
- "498 1 0 0 0 \n",
- "\n",
- " modelyear_2014 ... make_Type_T make_Type_U make_Type_V make_Type_W \\\n",
- "495 0 ... 0 0 0 0 \n",
- "496 0 ... 0 0 0 0 \n",
- "497 0 ... 0 0 0 0 \n",
- "498 0 ... 0 0 0 0 \n",
- "\n",
- " make_Type_X make_Type_Y day_sin day_cos month_sin month_cos \n",
- "495 0 0 0.724793 0.688967 -0.5 0.866025 \n",
- "496 0 0 0.848644 0.528964 -0.5 0.866025 \n",
- "497 0 0 0.937752 0.347305 -0.5 0.866025 \n",
- "498 0 0 0.988468 0.151428 -0.5 0.866025 \n",
- "\n",
- "[4 rows x 54 columns]"
- ]
- },
- "execution_count": 38,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " lightduty \n",
+ " vehicles \n",
+ " modelyear_2007 \n",
+ " modelyear_2008 \n",
+ " modelyear_2009 \n",
+ " modelyear_2010 \n",
+ " modelyear_2011 \n",
+ " modelyear_2012 \n",
+ " modelyear_2013 \n",
+ " modelyear_2014 \n",
+ " ... \n",
+ " make_Type_T \n",
+ " make_Type_U \n",
+ " make_Type_V \n",
+ " make_Type_W \n",
+ " make_Type_X \n",
+ " make_Type_Y \n",
+ " day_sin \n",
+ " day_cos \n",
+ " month_sin \n",
+ " month_cos \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 495 \n",
+ " 1 \n",
+ " 58.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0.724793 \n",
+ " 0.688967 \n",
+ " -0.5 \n",
+ " 0.866025 \n",
+ " \n",
+ " \n",
+ " 496 \n",
+ " 1 \n",
+ " 45.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0.848644 \n",
+ " 0.528964 \n",
+ " -0.5 \n",
+ " 0.866025 \n",
+ " \n",
+ " \n",
+ " 497 \n",
+ " 1 \n",
+ " 82.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0.937752 \n",
+ " 0.347305 \n",
+ " -0.5 \n",
+ " 0.866025 \n",
+ " \n",
+ " \n",
+ " 498 \n",
+ " 1 \n",
+ " 12.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0.988468 \n",
+ " 0.151428 \n",
+ " -0.5 \n",
+ " 0.866025 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
4 rows × 54 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " lightduty vehicles modelyear_2007 modelyear_2008 modelyear_2009 \\\n",
+ "495 1 58.0 0 0 0 \n",
+ "496 1 45.0 0 0 0 \n",
+ "497 1 82.0 0 0 0 \n",
+ "498 1 12.0 0 0 0 \n",
+ "\n",
+ " modelyear_2010 modelyear_2011 modelyear_2012 modelyear_2013 \\\n",
+ "495 1 0 0 0 \n",
+ "496 1 0 0 0 \n",
+ "497 1 0 0 0 \n",
+ "498 1 0 0 0 \n",
+ "\n",
+ " modelyear_2014 ... make_Type_T make_Type_U make_Type_V make_Type_W \\\n",
+ "495 0 ... 0 0 0 0 \n",
+ "496 0 ... 0 0 0 0 \n",
+ "497 0 ... 0 0 0 0 \n",
+ "498 0 ... 0 0 0 0 \n",
+ "\n",
+ " make_Type_X make_Type_Y day_sin day_cos month_sin month_cos \n",
+ "495 0 0 0.724793 0.688967 -0.5 0.866025 \n",
+ "496 0 0 0.848644 0.528964 -0.5 0.866025 \n",
+ "497 0 0 0.937752 0.347305 -0.5 0.866025 \n",
+ "498 0 0 0.988468 0.151428 -0.5 0.866025 \n",
+ "\n",
+ "[4 rows x 54 columns]"
+ ]
+ },
+ "execution_count": 38,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# scroll left to see the converted month and day coluumns.\n",
diff --git a/courses/machine_learning/deepdive2/launching_into_ml/solutions/improve_data_quality.ipynb b/courses/machine_learning/deepdive2/launching_into_ml/solutions/improve_data_quality.ipynb
index 66319e42a6..9d6c877338 100644
--- a/courses/machine_learning/deepdive2/launching_into_ml/solutions/improve_data_quality.ipynb
+++ b/courses/machine_learning/deepdive2/launching_into_ml/solutions/improve_data_quality.ipynb
@@ -38,6 +38,14 @@
"!sudo chown -R jupyter:jupyter /home/jupyter/training-data-analyst"
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Install TensorFlow Libraries\n",
+ "!pip install tensorflow"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -301,21 +309,21 @@
"metadata": {},
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "RangeIndex: 499 entries, 0 to 498\n",
- "Data columns (total 7 columns):\n",
- "Date 497 non-null object\n",
- "Zip Code 497 non-null object\n",
- "Model Year 497 non-null object\n",
- "Fuel 497 non-null object\n",
- "Make 496 non-null object\n",
- "Light_Duty 496 non-null object\n",
- "Vehicles 496 non-null float64\n",
- "dtypes: float64(2), object(5)\n",
- "memory usage: 27.4+ KB\n"
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 499 entries, 0 to 498\n",
+ "Data columns (total 7 columns):\n",
+ "Date 497 non-null object\n",
+ "Zip Code 497 non-null object\n",
+ "Model Year 497 non-null object\n",
+ "Fuel 497 non-null object\n",
+ "Make 496 non-null object\n",
+ "Light_Duty 496 non-null object\n",
+ "Vehicles 496 non-null float64\n",
+ "dtypes: float64(2), object(5)\n",
+ "memory usage: 27.4+ KB\n"
]
}
],
@@ -337,36 +345,36 @@
"metadata": {},
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " Date Zip Code Model Year Fuel Make \\\n",
- "0 10/1/2018 90000 2006 Gasoline OTHER/UNK \n",
- "1 10/1/2018 NaN 2014 Gasoline NaN \n",
- "2 NaN 90000 NaN Gasoline OTHER/UNK \n",
- "3 10/1/2018 90000 2017 Gasoline OTHER/UNK \n",
- "4 10/1/2018 90000 <2006 Diesel and Diesel Hybrid OTHER/UNK \n",
- ".. ... ... ... ... ... \n",
- "494 6/7/2019 90003 2012 Gasoline Type_R \n",
- "495 6/8/2019 90003 2012 Hybrid Gasoline OTHER/UNK \n",
- "496 6/9/2019 90003 2012 Hybrid Gasoline Type_Q \n",
- "497 6/10/2019 90003 2012 Natural Gas OTHER/UNK \n",
- "498 6/11/2019 90003 2012 Plug-in Hybrid OTHER/UNK \n",
- "\n",
- " Light_Duty Vehicles \n",
- "0 NaN 1.0 \n",
- "1 Yes 1.0 \n",
- "2 Yes NaN \n",
- "3 Yes 1.0 \n",
- "4 No 55.0 \n",
- ".. ... ... \n",
- "494 Yes 26.0 \n",
- "495 Yes 4.0 \n",
- "496 Yes 25.0 \n",
- "497 Yes 1.0 \n",
- "498 Yes 3.0 \n",
- "\n",
- "[499 rows x 7 columns] 5\n"
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Date Zip Code Model Year Fuel Make \\\n",
+ "0 10/1/2018 90000 2006 Gasoline OTHER/UNK \n",
+ "1 10/1/2018 NaN 2014 Gasoline NaN \n",
+ "2 NaN 90000 NaN Gasoline OTHER/UNK \n",
+ "3 10/1/2018 90000 2017 Gasoline OTHER/UNK \n",
+ "4 10/1/2018 90000 <2006 Diesel and Diesel Hybrid OTHER/UNK \n",
+ ".. ... ... ... ... ... \n",
+ "494 6/7/2019 90003 2012 Gasoline Type_R \n",
+ "495 6/8/2019 90003 2012 Hybrid Gasoline OTHER/UNK \n",
+ "496 6/9/2019 90003 2012 Hybrid Gasoline Type_Q \n",
+ "497 6/10/2019 90003 2012 Natural Gas OTHER/UNK \n",
+ "498 6/11/2019 90003 2012 Plug-in Hybrid OTHER/UNK \n",
+ "\n",
+ " Light_Duty Vehicles \n",
+ "0 NaN 1.0 \n",
+ "1 Yes 1.0 \n",
+ "2 Yes NaN \n",
+ "3 Yes 1.0 \n",
+ "4 No 55.0 \n",
+ ".. ... ... \n",
+ "494 Yes 26.0 \n",
+ "495 Yes 4.0 \n",
+ "496 Yes 25.0 \n",
+ "497 Yes 1.0 \n",
+ "498 Yes 3.0 \n",
+ "\n",
+ "[499 rows x 7 columns] 5\n"
]
}
],
@@ -389,92 +397,92 @@
"execution_count": 9,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " Zip Code \n",
- " Vehicles \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " count \n",
- " 497.00000 \n",
- " 496.000000 \n",
- " \n",
- " \n",
- " mean \n",
- " 89838.23340 \n",
- " 74.512097 \n",
- " \n",
- " \n",
- " std \n",
- " 3633.35609 \n",
- " 243.839871 \n",
- " \n",
- " \n",
- " min \n",
- " 9001.00000 \n",
- " 1.000000 \n",
- " \n",
- " \n",
- " 25% \n",
- " 90001.00000 \n",
- " 14.000000 \n",
- " \n",
- " \n",
- " 50% \n",
- " 90001.00000 \n",
- " 25.000000 \n",
- " \n",
- " \n",
- " 75% \n",
- " 90001.00000 \n",
- " 56.250000 \n",
- " \n",
- " \n",
- " max \n",
- " 90002.00000 \n",
- " 3178.000000 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Zip Code Vehicles\n",
- "count 497.00000 496.000000\n",
- "mean 89838.23340 74.512097\n",
- "std 3633.35609 243.839871\n",
- "min 9001.00000 1.000000\n",
- "25% 90001.00000 14.000000\n",
- "50% 90001.00000 25.000000\n",
- "75% 90001.00000 56.250000\n",
- "max 90002.00000 3178.000000"
- ]
- },
- "execution_count": 10,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Zip Code \n",
+ " Vehicles \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " count \n",
+ " 497.00000 \n",
+ " 496.000000 \n",
+ " \n",
+ " \n",
+ " mean \n",
+ " 89838.23340 \n",
+ " 74.512097 \n",
+ " \n",
+ " \n",
+ " std \n",
+ " 3633.35609 \n",
+ " 243.839871 \n",
+ " \n",
+ " \n",
+ " min \n",
+ " 9001.00000 \n",
+ " 1.000000 \n",
+ " \n",
+ " \n",
+ " 25% \n",
+ " 90001.00000 \n",
+ " 14.000000 \n",
+ " \n",
+ " \n",
+ " 50% \n",
+ " 90001.00000 \n",
+ " 25.000000 \n",
+ " \n",
+ " \n",
+ " 75% \n",
+ " 90001.00000 \n",
+ " 56.250000 \n",
+ " \n",
+ " \n",
+ " max \n",
+ " 90002.00000 \n",
+ " 3178.000000 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Zip Code Vehicles\n",
+ "count 497.00000 496.000000\n",
+ "mean 89838.23340 74.512097\n",
+ "std 3633.35609 243.839871\n",
+ "min 9001.00000 1.000000\n",
+ "25% 90001.00000 14.000000\n",
+ "50% 90001.00000 25.000000\n",
+ "75% 90001.00000 56.250000\n",
+ "max 90002.00000 3178.000000"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# We can use .describe() to see some summary statistics for the numeric fields in our dataframe.\n",
@@ -493,149 +501,149 @@
"execution_count": 10,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " Date \n",
- " Zip Code \n",
- " Model Year \n",
- " Make \n",
- " Light_Duty \n",
- " Vehicles \n",
- " \n",
- " \n",
- " Fuel \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " Battery Electric \n",
- " 10/1/2018 \n",
- " 90000.0 \n",
- " <2006 \n",
- " OTHER/UNK \n",
- " No \n",
- " 4.0 \n",
- " \n",
- " \n",
- " Diesel and Diesel Hybrid \n",
- " 10/1/2018 \n",
- " 90000.0 \n",
- " <2006 \n",
- " OTHER/UNK \n",
- " No \n",
- " 55.0 \n",
- " \n",
- " \n",
- " Flex-Fuel \n",
- " 10/14/2018 \n",
- " 90001.0 \n",
- " 2007 \n",
- " Type_A \n",
- " Yes \n",
- " 78.0 \n",
- " \n",
- " \n",
- " Gasoline \n",
- " 10/1/2018 \n",
- " 90000.0 \n",
- " 2006 \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 1.0 \n",
- " \n",
- " \n",
- " Hybrid Gasoline \n",
- " 10/24/2018 \n",
- " 90001.0 \n",
- " 2009 \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 18.0 \n",
- " \n",
- " \n",
- " Natural Gas \n",
- " 10/25/2018 \n",
- " 90001.0 \n",
- " 2009 \n",
- " OTHER/UNK \n",
- " No \n",
- " 2.0 \n",
- " \n",
- " \n",
- " Other \n",
- " 10/8/2018 \n",
- " 90000.0 \n",
- " <2006 \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 6.0 \n",
- " \n",
- " \n",
- " Plug-in Hybrid \n",
- " 11/2/2018 \n",
- " 90001.0 \n",
- " 2012 \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 1.0 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Date Zip Code Model Year Make \\\n",
- "Fuel \n",
- "Battery Electric 10/1/2018 90000.0 <2006 OTHER/UNK \n",
- "Diesel and Diesel Hybrid 10/1/2018 90000.0 <2006 OTHER/UNK \n",
- "Flex-Fuel 10/14/2018 90001.0 2007 Type_A \n",
- "Gasoline 10/1/2018 90000.0 2006 OTHER/UNK \n",
- "Hybrid Gasoline 10/24/2018 90001.0 2009 OTHER/UNK \n",
- "Natural Gas 10/25/2018 90001.0 2009 OTHER/UNK \n",
- "Other 10/8/2018 90000.0 <2006 OTHER/UNK \n",
- "Plug-in Hybrid 11/2/2018 90001.0 2012 OTHER/UNK \n",
- "\n",
- " Light_Duty Vehicles \n",
- "Fuel \n",
- "Battery Electric No 4.0 \n",
- "Diesel and Diesel Hybrid No 55.0 \n",
- "Flex-Fuel Yes 78.0 \n",
- "Gasoline Yes 1.0 \n",
- "Hybrid Gasoline Yes 18.0 \n",
- "Natural Gas No 2.0 \n",
- "Other Yes 6.0 \n",
- "Plug-in Hybrid Yes 1.0 "
- ]
- },
- "execution_count": 11,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Date \n",
+ " Zip Code \n",
+ " Model Year \n",
+ " Make \n",
+ " Light_Duty \n",
+ " Vehicles \n",
+ " \n",
+ " \n",
+ " Fuel \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " Battery Electric \n",
+ " 10/1/2018 \n",
+ " 90000.0 \n",
+ " <2006 \n",
+ " OTHER/UNK \n",
+ " No \n",
+ " 4.0 \n",
+ " \n",
+ " \n",
+ " Diesel and Diesel Hybrid \n",
+ " 10/1/2018 \n",
+ " 90000.0 \n",
+ " <2006 \n",
+ " OTHER/UNK \n",
+ " No \n",
+ " 55.0 \n",
+ " \n",
+ " \n",
+ " Flex-Fuel \n",
+ " 10/14/2018 \n",
+ " 90001.0 \n",
+ " 2007 \n",
+ " Type_A \n",
+ " Yes \n",
+ " 78.0 \n",
+ " \n",
+ " \n",
+ " Gasoline \n",
+ " 10/1/2018 \n",
+ " 90000.0 \n",
+ " 2006 \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ " Hybrid Gasoline \n",
+ " 10/24/2018 \n",
+ " 90001.0 \n",
+ " 2009 \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 18.0 \n",
+ " \n",
+ " \n",
+ " Natural Gas \n",
+ " 10/25/2018 \n",
+ " 90001.0 \n",
+ " 2009 \n",
+ " OTHER/UNK \n",
+ " No \n",
+ " 2.0 \n",
+ " \n",
+ " \n",
+ " Other \n",
+ " 10/8/2018 \n",
+ " 90000.0 \n",
+ " <2006 \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 6.0 \n",
+ " \n",
+ " \n",
+ " Plug-in Hybrid \n",
+ " 11/2/2018 \n",
+ " 90001.0 \n",
+ " 2012 \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date Zip Code Model Year Make \\\n",
+ "Fuel \n",
+ "Battery Electric 10/1/2018 90000.0 <2006 OTHER/UNK \n",
+ "Diesel and Diesel Hybrid 10/1/2018 90000.0 <2006 OTHER/UNK \n",
+ "Flex-Fuel 10/14/2018 90001.0 2007 Type_A \n",
+ "Gasoline 10/1/2018 90000.0 2006 OTHER/UNK \n",
+ "Hybrid Gasoline 10/24/2018 90001.0 2009 OTHER/UNK \n",
+ "Natural Gas 10/25/2018 90001.0 2009 OTHER/UNK \n",
+ "Other 10/8/2018 90000.0 <2006 OTHER/UNK \n",
+ "Plug-in Hybrid 11/2/2018 90001.0 2012 OTHER/UNK \n",
+ "\n",
+ " Light_Duty Vehicles \n",
+ "Fuel \n",
+ "Battery Electric No 4.0 \n",
+ "Diesel and Diesel Hybrid No 55.0 \n",
+ "Flex-Fuel Yes 78.0 \n",
+ "Gasoline Yes 1.0 \n",
+ "Hybrid Gasoline Yes 18.0 \n",
+ "Natural Gas No 2.0 \n",
+ "Other Yes 6.0 \n",
+ "Plug-in Hybrid Yes 1.0 "
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# The .groupby() function is used for spliting the data into groups based on some criteria.\n",
@@ -666,23 +674,23 @@
"execution_count": 11,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "Date 2\n",
- "Zip Code 2\n",
- "Model Year 2\n",
- "Fuel 2\n",
- "Make 3\n",
- "Light_Duty 3\n",
- "Vehicles 3\n",
- "dtype: int64"
- ]
- },
- "execution_count": 12,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/plain": [
+ "Date 2\n",
+ "Zip Code 2\n",
+ "Model Year 2\n",
+ "Fuel 2\n",
+ "Make 3\n",
+ "Light_Duty 3\n",
+ "Vehicles 3\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"df_transport.isnull().sum()"
@@ -700,36 +708,36 @@
"execution_count": 12,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0 10/1/2018\n",
- "1 10/1/2018\n",
- "2 NaN\n",
- "3 10/1/2018\n",
- "4 10/1/2018\n",
- " ... \n",
- "494 12/3/2018\n",
- "495 12/4/2018\n",
- "496 12/5/2018\n",
- "497 12/6/2018\n",
- "498 12/7/2018\n",
- "Name: Date, Length: 499, dtype: object\n",
- "0 False\n",
- "1 False\n",
- "2 True\n",
- "3 False\n",
- "4 False\n",
- " ... \n",
- "494 False\n",
- "495 False\n",
- "496 False\n",
- "497 False\n",
- "498 False\n",
- "Name: Date, Length: 499, dtype: bool\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0 10/1/2018\n",
+ "1 10/1/2018\n",
+ "2 NaN\n",
+ "3 10/1/2018\n",
+ "4 10/1/2018\n",
+ " ... \n",
+ "494 12/3/2018\n",
+ "495 12/4/2018\n",
+ "496 12/5/2018\n",
+ "497 12/6/2018\n",
+ "498 12/7/2018\n",
+ "Name: Date, Length: 499, dtype: object\n",
+ "0 False\n",
+ "1 False\n",
+ "2 True\n",
+ "3 False\n",
+ "4 False\n",
+ " ... \n",
+ "494 False\n",
+ "495 False\n",
+ "496 False\n",
+ "497 False\n",
+ "498 False\n",
+ "Name: Date, Length: 499, dtype: bool\n"
+ ]
+ }
],
"source": [
"print (df_transport['Date'])\n",
@@ -741,36 +749,36 @@
"execution_count": 13,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0 OTHER/UNK\n",
- "1 NaN\n",
- "2 OTHER/UNK\n",
- "3 OTHER/UNK\n",
- "4 OTHER/UNK\n",
- " ... \n",
- "494 Type_I\n",
- "495 Type_B\n",
- "496 Type_C\n",
- "497 Type_J\n",
- "498 Type_J\n",
- "Name: Make, Length: 499, dtype: object\n",
- "0 False\n",
- "1 True\n",
- "2 False\n",
- "3 False\n",
- "4 False\n",
- " ... \n",
- "494 False\n",
- "495 False\n",
- "496 False\n",
- "497 False\n",
- "498 False\n",
- "Name: Make, Length: 499, dtype: bool\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0 OTHER/UNK\n",
+ "1 NaN\n",
+ "2 OTHER/UNK\n",
+ "3 OTHER/UNK\n",
+ "4 OTHER/UNK\n",
+ " ... \n",
+ "494 Type_I\n",
+ "495 Type_B\n",
+ "496 Type_C\n",
+ "497 Type_J\n",
+ "498 Type_J\n",
+ "Name: Make, Length: 499, dtype: object\n",
+ "0 False\n",
+ "1 True\n",
+ "2 False\n",
+ "3 False\n",
+ "4 False\n",
+ " ... \n",
+ "494 False\n",
+ "495 False\n",
+ "496 False\n",
+ "497 False\n",
+ "498 False\n",
+ "Name: Make, Length: 499, dtype: bool\n"
+ ]
+ }
],
"source": [
"print (df_transport['Make'])\n",
@@ -782,36 +790,36 @@
"execution_count": 14,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0 2006\n",
- "1 2014\n",
- "2 NaN\n",
- "3 2017\n",
- "4 <2006\n",
- " ... \n",
- "494 2010\n",
- "495 2010\n",
- "496 2010\n",
- "497 2010\n",
- "498 2010\n",
- "Name: Model Year, Length: 499, dtype: object\n",
- "0 False\n",
- "1 False\n",
- "2 True\n",
- "3 False\n",
- "4 False\n",
- " ... \n",
- "494 False\n",
- "495 False\n",
- "496 False\n",
- "497 False\n",
- "498 False\n",
- "Name: Model Year, Length: 499, dtype: bool\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0 2006\n",
+ "1 2014\n",
+ "2 NaN\n",
+ "3 2017\n",
+ "4 <2006\n",
+ " ... \n",
+ "494 2010\n",
+ "495 2010\n",
+ "496 2010\n",
+ "497 2010\n",
+ "498 2010\n",
+ "Name: Model Year, Length: 499, dtype: object\n",
+ "0 False\n",
+ "1 False\n",
+ "2 True\n",
+ "3 False\n",
+ "4 False\n",
+ " ... \n",
+ "494 False\n",
+ "495 False\n",
+ "496 False\n",
+ "497 False\n",
+ "498 False\n",
+ "Name: Model Year, Length: 499, dtype: bool\n"
+ ]
+ }
],
"source": [
"print (df_transport['Model Year'])\n",
@@ -837,29 +845,29 @@
"execution_count": 15,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Rows : 499\n",
- "Columns : 7\n",
- "\n",
- "Features : \n",
- " ['Date', 'Zip Code', 'Model Year', 'Fuel', 'Make', 'Light_Duty', 'Vehicles']\n",
- "\n",
- "Unique values : \n",
- " Date 130\n",
- "Zip Code 4\n",
- "Model Year 15\n",
- "Fuel 8\n",
- "Make 43\n",
- "Light_Duty 2\n",
- "Vehicles 151\n",
- "dtype: int64\n",
- "\n",
- "Missing values : 17\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rows : 499\n",
+ "Columns : 7\n",
+ "\n",
+ "Features : \n",
+ " ['Date', 'Zip Code', 'Model Year', 'Fuel', 'Make', 'Light_Duty', 'Vehicles']\n",
+ "\n",
+ "Unique values : \n",
+ " Date 130\n",
+ "Zip Code 4\n",
+ "Model Year 15\n",
+ "Fuel 8\n",
+ "Make 43\n",
+ "Light_Duty 2\n",
+ "Vehicles 151\n",
+ "dtype: int64\n",
+ "\n",
+ "Missing values : 17\n"
+ ]
+ }
],
"source": [
"# In Python shape() is used in pandas to give the number of rows/columns.\n",
@@ -884,181 +892,181 @@
"execution_count": 16,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " Date \n",
- " Zip Code \n",
- " Model Year \n",
- " Fuel \n",
- " Make \n",
- " Light_Duty \n",
- " Vehicles \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 494 \n",
- " 12/3/2018 \n",
- " 90002.0 \n",
- " 2010 \n",
- " Gasoline \n",
- " Type_I \n",
- " Yes \n",
- " 11.0 \n",
- " \n",
- " \n",
- " 495 \n",
- " 12/4/2018 \n",
- " 90002.0 \n",
- " 2010 \n",
- " Gasoline \n",
- " Type_B \n",
- " Yes \n",
- " 58.0 \n",
- " \n",
- " \n",
- " 496 \n",
- " 12/5/2018 \n",
- " 90002.0 \n",
- " 2010 \n",
- " Gasoline \n",
- " Type_C \n",
- " Yes \n",
- " 45.0 \n",
- " \n",
- " \n",
- " 497 \n",
- " 12/6/2018 \n",
- " 90002.0 \n",
- " 2010 \n",
- " Gasoline \n",
- " Type_J \n",
- " Yes \n",
- " 82.0 \n",
- " \n",
- " \n",
- " 498 \n",
- " 12/7/2018 \n",
- " 90002.0 \n",
- " 2010 \n",
- " Gasoline \n",
- " Type_J \n",
- " Yes \n",
- " 12.0 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Date Zip Code Model Year Fuel Make Light_Duty Vehicles\n",
- "494 12/3/2018 90002.0 2010 Gasoline Type_I Yes 11.0\n",
- "495 12/4/2018 90002.0 2010 Gasoline Type_B Yes 58.0\n",
- "496 12/5/2018 90002.0 2010 Gasoline Type_C Yes 45.0\n",
- "497 12/6/2018 90002.0 2010 Gasoline Type_J Yes 82.0\n",
- "498 12/7/2018 90002.0 2010 Gasoline Type_J Yes 12.0"
- ]
- },
- "execution_count": 17,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# Output the last five rows in the dataset.\n",
- "df_transport.tail()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### What Are Our Data Quality Issues?\n",
- "\n",
- "1. **Data Quality Issue #1**: \n",
- "> **Missing Values**:\n",
- "Each feature column has multiple missing values. In fact, we have a total of 18 missing values.\n",
- "2. **Data Quality Issue #2**: \n",
- "> **Date DataType**: Date is shown as an \"object\" datatype and should be a datetime. In addition, Date is in one column. Our business requirement is to see the Date parsed out to year, month, and day. \n",
- "3. **Data Quality Issue #3**: \n",
- "> **Model Year**: We are only interested in years greater than 2006, not \"<2006\".\n",
- "4. **Data Quality Issue #4**: \n",
- "> **Categorical Columns**: The feature column \"Light_Duty\" is categorical and has a \"Yes/No\" choice. We cannot feed values like this into a machine learning model. In addition, we need to \"one-hot encode the remaining \"string\"/\"object\" columns.\n",
- "5. **Data Quality Issue #5**: \n",
- "> **Temporal Features**: How do we handle year, month, and day?\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Data Quality Issue #1: \n",
- "##### Resolving Missing Values"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Most algorithms do not accept missing values. Yet, when we see missing values in our dataset, there is always a tendency to just \"drop all the rows\" with missing values. Although Pandas will fill in the blank space with “NaN\", we should \"handle\" them in some way.\n",
- "\n",
- "While all the methods to handle missing values is beyond the scope of this lab, there are a few methods you should consider. For numeric columns, use the \"mean\" values to fill in the missing numeric values. For categorical columns, use the \"mode\" (or most frequent values) to fill in missing categorical values. \n",
- "\n",
- "In this lab, we use the .apply and Lambda functions to fill every column with its own most frequent value. You'll learn more about Lambda functions later in the lab."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Let's check again for missing values by showing how many rows contain NaN values for each feature column."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "Date 2\n",
- "Zip Code 2\n",
- "Model Year 2\n",
- "Fuel 2\n",
- "Make 3\n",
- "Light_Duty 3\n",
- "Vehicles 3\n",
- "dtype: int64"
- ]
- },
- "execution_count": 18,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# The isnull() method is used to check and manage NULL values in a data frame.\n",
- "# TODO 1a\n",
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Date \n",
+ " Zip Code \n",
+ " Model Year \n",
+ " Fuel \n",
+ " Make \n",
+ " Light_Duty \n",
+ " Vehicles \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 494 \n",
+ " 12/3/2018 \n",
+ " 90002.0 \n",
+ " 2010 \n",
+ " Gasoline \n",
+ " Type_I \n",
+ " Yes \n",
+ " 11.0 \n",
+ " \n",
+ " \n",
+ " 495 \n",
+ " 12/4/2018 \n",
+ " 90002.0 \n",
+ " 2010 \n",
+ " Gasoline \n",
+ " Type_B \n",
+ " Yes \n",
+ " 58.0 \n",
+ " \n",
+ " \n",
+ " 496 \n",
+ " 12/5/2018 \n",
+ " 90002.0 \n",
+ " 2010 \n",
+ " Gasoline \n",
+ " Type_C \n",
+ " Yes \n",
+ " 45.0 \n",
+ " \n",
+ " \n",
+ " 497 \n",
+ " 12/6/2018 \n",
+ " 90002.0 \n",
+ " 2010 \n",
+ " Gasoline \n",
+ " Type_J \n",
+ " Yes \n",
+ " 82.0 \n",
+ " \n",
+ " \n",
+ " 498 \n",
+ " 12/7/2018 \n",
+ " 90002.0 \n",
+ " 2010 \n",
+ " Gasoline \n",
+ " Type_J \n",
+ " Yes \n",
+ " 12.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date Zip Code Model Year Fuel Make Light_Duty Vehicles\n",
+ "494 12/3/2018 90002.0 2010 Gasoline Type_I Yes 11.0\n",
+ "495 12/4/2018 90002.0 2010 Gasoline Type_B Yes 58.0\n",
+ "496 12/5/2018 90002.0 2010 Gasoline Type_C Yes 45.0\n",
+ "497 12/6/2018 90002.0 2010 Gasoline Type_J Yes 82.0\n",
+ "498 12/7/2018 90002.0 2010 Gasoline Type_J Yes 12.0"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Output the last five rows in the dataset.\n",
+ "df_transport.tail()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### What Are Our Data Quality Issues?\n",
+ "\n",
+ "1. **Data Quality Issue #1**: \n",
+ "> **Missing Values**:\n",
+ "Each feature column has multiple missing values. In fact, we have a total of 18 missing values.\n",
+ "2. **Data Quality Issue #2**: \n",
+ "> **Date DataType**: Date is shown as an \"object\" datatype and should be a datetime. In addition, Date is in one column. Our business requirement is to see the Date parsed out to year, month, and day. \n",
+ "3. **Data Quality Issue #3**: \n",
+ "> **Model Year**: We are only interested in years greater than 2006, not \"<2006\".\n",
+ "4. **Data Quality Issue #4**: \n",
+ "> **Categorical Columns**: The feature column \"Light_Duty\" is categorical and has a \"Yes/No\" choice. We cannot feed values like this into a machine learning model. In addition, we need to \"one-hot encode the remaining \"string\"/\"object\" columns.\n",
+ "5. **Data Quality Issue #5**: \n",
+ "> **Temporal Features**: How do we handle year, month, and day?\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Data Quality Issue #1: \n",
+ "##### Resolving Missing Values"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Most algorithms do not accept missing values. Yet, when we see missing values in our dataset, there is always a tendency to just \"drop all the rows\" with missing values. Although Pandas will fill in the blank space with “NaN\", we should \"handle\" them in some way.\n",
+ "\n",
+ "While all the methods to handle missing values is beyond the scope of this lab, there are a few methods you should consider. For numeric columns, use the \"mean\" values to fill in the missing numeric values. For categorical columns, use the \"mode\" (or most frequent values) to fill in missing categorical values. \n",
+ "\n",
+ "In this lab, we use the .apply and Lambda functions to fill every column with its own most frequent value. You'll learn more about Lambda functions later in the lab."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let's check again for missing values by showing how many rows contain NaN values for each feature column."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Date 2\n",
+ "Zip Code 2\n",
+ "Model Year 2\n",
+ "Fuel 2\n",
+ "Make 3\n",
+ "Light_Duty 3\n",
+ "Vehicles 3\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# The isnull() method is used to check and manage NULL values in a data frame.\n",
+ "# TODO 1a\n",
"df_transport.isnull().sum()"
]
},
@@ -1093,23 +1101,23 @@
"execution_count": 19,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "Date 0\n",
- "Zip Code 0\n",
- "Model Year 0\n",
- "Fuel 0\n",
- "Make 0\n",
- "Light_Duty 0\n",
- "Vehicles 0\n",
- "dtype: int64"
- ]
- },
- "execution_count": 20,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/plain": [
+ "Date 0\n",
+ "Zip Code 0\n",
+ "Model Year 0\n",
+ "Fuel 0\n",
+ "Make 0\n",
+ "Light_Duty 0\n",
+ "Vehicles 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# The isnull() method is used to check and manage NULL values in a data frame.\n",
@@ -1142,26 +1150,26 @@
"execution_count": 21,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "RangeIndex: 499 entries, 0 to 498\n",
- "Data columns (total 7 columns):\n",
- " # Column Non-Null Count Dtype \n",
- "--- ------ -------------- ----- \n",
- " 0 Date 499 non-null datetime64[ns]\n",
- " 1 Zip Code 499 non-null float64 \n",
- " 2 Model Year 499 non-null object \n",
- " 3 Fuel 499 non-null object \n",
- " 4 Make 499 non-null object \n",
- " 5 Light_Duty 499 non-null object \n",
- " 6 Vehicles 499 non-null float64 \n",
- "dtypes: datetime64[ns](1), float64(2), object(4)\n",
- "memory usage: 27.4+ KB\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 499 entries, 0 to 498\n",
+ "Data columns (total 7 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 Date 499 non-null datetime64[ns]\n",
+ " 1 Zip Code 499 non-null float64 \n",
+ " 2 Model Year 499 non-null object \n",
+ " 3 Fuel 499 non-null object \n",
+ " 4 Make 499 non-null object \n",
+ " 5 Light_Duty 499 non-null object \n",
+ " 6 Vehicles 499 non-null float64 \n",
+ "dtypes: datetime64[ns](1), float64(2), object(4)\n",
+ "memory usage: 27.4+ KB\n"
+ ]
+ }
],
"source": [
"# Date is now converted and will display the concise summary of an dataframe.\n",
@@ -1174,29 +1182,29 @@
"execution_count": 22,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\n",
- "RangeIndex: 499 entries, 0 to 498\n",
- "Data columns (total 10 columns):\n",
- " # Column Non-Null Count Dtype \n",
- "--- ------ -------------- ----- \n",
- " 0 Date 499 non-null datetime64[ns]\n",
- " 1 Zip Code 499 non-null float64 \n",
- " 2 Model Year 499 non-null object \n",
- " 3 Fuel 499 non-null object \n",
- " 4 Make 499 non-null object \n",
- " 5 Light_Duty 499 non-null object \n",
- " 6 Vehicles 499 non-null float64 \n",
- " 7 year 499 non-null int64 \n",
- " 8 month 499 non-null int64 \n",
- " 9 day 499 non-null int64 \n",
- "dtypes: datetime64[ns](1), float64(2), int64(3), object(4)\n",
- "memory usage: 39.1+ KB\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 499 entries, 0 to 498\n",
+ "Data columns (total 10 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 Date 499 non-null datetime64[ns]\n",
+ " 1 Zip Code 499 non-null float64 \n",
+ " 2 Model Year 499 non-null object \n",
+ " 3 Fuel 499 non-null object \n",
+ " 4 Make 499 non-null object \n",
+ " 5 Light_Duty 499 non-null object \n",
+ " 6 Vehicles 499 non-null float64 \n",
+ " 7 year 499 non-null int64 \n",
+ " 8 month 499 non-null int64 \n",
+ " 9 day 499 non-null int64 \n",
+ "dtypes: datetime64[ns](1), float64(2), int64(3), object(4)\n",
+ "memory usage: 39.1+ KB\n"
+ ]
+ }
],
"source": [
"# Now we will parse Date into three columns that is year, month, and day.\n",
@@ -1223,151 +1231,151 @@
"execution_count": 23,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " Date \n",
- " Zip Code \n",
- " Model Year \n",
- " Fuel \n",
- " Make \n",
- " Light_Duty \n",
- " Vehicles \n",
- " year \n",
- " day \n",
- " \n",
- " \n",
- " month \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 1 \n",
- " 2019-01-01 \n",
- " 90001.0 \n",
- " 2016 \n",
- " Gasoline \n",
- " Type_G \n",
- " Yes \n",
- " 18.0 \n",
- " 2019 \n",
- " 1 \n",
- " \n",
- " \n",
- " 2 \n",
- " 2019-02-01 \n",
- " 90001.0 \n",
- " 2017 \n",
- " Gasoline \n",
- " Type_D \n",
- " Yes \n",
- " 13.0 \n",
- " 2019 \n",
- " 1 \n",
- " \n",
- " \n",
- " 3 \n",
- " 2019-03-01 \n",
- " 90001.0 \n",
- " 2018 \n",
- " Gasoline \n",
- " Type_C \n",
- " Yes \n",
- " 32.0 \n",
- " 2019 \n",
- " 1 \n",
- " \n",
- " \n",
- " 10 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2006 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 1.0 \n",
- " 2018 \n",
- " 1 \n",
- " \n",
- " \n",
- " 11 \n",
- " 2018-11-01 \n",
- " 90001.0 \n",
- " 2007 \n",
- " Gasoline \n",
- " Type_M \n",
- " Yes \n",
- " 15.0 \n",
- " 2018 \n",
- " 1 \n",
- " \n",
- " \n",
- " 12 \n",
- " 2018-12-02 \n",
- " 90001.0 \n",
- " 2015 \n",
- " Gasoline \n",
- " Type_G \n",
- " Yes \n",
- " 19.0 \n",
- " 2018 \n",
- " 2 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Date Zip Code Model Year Fuel Make Light_Duty \\\n",
- "month \n",
- "1 2019-01-01 90001.0 2016 Gasoline Type_G Yes \n",
- "2 2019-02-01 90001.0 2017 Gasoline Type_D Yes \n",
- "3 2019-03-01 90001.0 2018 Gasoline Type_C Yes \n",
- "10 2018-10-01 90000.0 2006 Gasoline OTHER/UNK Yes \n",
- "11 2018-11-01 90001.0 2007 Gasoline Type_M Yes \n",
- "12 2018-12-02 90001.0 2015 Gasoline Type_G Yes \n",
- "\n",
- " Vehicles year day \n",
- "month \n",
- "1 18.0 2019 1 \n",
- "2 13.0 2019 1 \n",
- "3 32.0 2019 1 \n",
- "10 1.0 2018 1 \n",
- "11 15.0 2018 1 \n",
- "12 19.0 2018 2 "
- ]
- },
- "execution_count": 24,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Date \n",
+ " Zip Code \n",
+ " Model Year \n",
+ " Fuel \n",
+ " Make \n",
+ " Light_Duty \n",
+ " Vehicles \n",
+ " year \n",
+ " day \n",
+ " \n",
+ " \n",
+ " month \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2019-01-01 \n",
+ " 90001.0 \n",
+ " 2016 \n",
+ " Gasoline \n",
+ " Type_G \n",
+ " Yes \n",
+ " 18.0 \n",
+ " 2019 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 2019-02-01 \n",
+ " 90001.0 \n",
+ " 2017 \n",
+ " Gasoline \n",
+ " Type_D \n",
+ " Yes \n",
+ " 13.0 \n",
+ " 2019 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2019-03-01 \n",
+ " 90001.0 \n",
+ " 2018 \n",
+ " Gasoline \n",
+ " Type_C \n",
+ " Yes \n",
+ " 32.0 \n",
+ " 2019 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2006 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 11 \n",
+ " 2018-11-01 \n",
+ " 90001.0 \n",
+ " 2007 \n",
+ " Gasoline \n",
+ " Type_M \n",
+ " Yes \n",
+ " 15.0 \n",
+ " 2018 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 12 \n",
+ " 2018-12-02 \n",
+ " 90001.0 \n",
+ " 2015 \n",
+ " Gasoline \n",
+ " Type_G \n",
+ " Yes \n",
+ " 19.0 \n",
+ " 2018 \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date Zip Code Model Year Fuel Make Light_Duty \\\n",
+ "month \n",
+ "1 2019-01-01 90001.0 2016 Gasoline Type_G Yes \n",
+ "2 2019-02-01 90001.0 2017 Gasoline Type_D Yes \n",
+ "3 2019-03-01 90001.0 2018 Gasoline Type_C Yes \n",
+ "10 2018-10-01 90000.0 2006 Gasoline OTHER/UNK Yes \n",
+ "11 2018-11-01 90001.0 2007 Gasoline Type_M Yes \n",
+ "12 2018-12-02 90001.0 2015 Gasoline Type_G Yes \n",
+ "\n",
+ " Vehicles year day \n",
+ "month \n",
+ "1 18.0 2019 1 \n",
+ "2 13.0 2019 1 \n",
+ "3 32.0 2019 1 \n",
+ "10 1.0 2018 1 \n",
+ "11 15.0 2018 1 \n",
+ "12 19.0 2018 2 "
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Here, we are creating a new dataframe called \"grouped_data\" and grouping by on the column \"Make\"\n",
@@ -1410,7 +1418,7 @@
},
{
"data": {
- "image/png": "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\n",
+ "image/png": "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",
"text/plain": [
""
]
@@ -1454,104 +1462,104 @@
"execution_count": 25,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " date \n",
- " zipcode \n",
- " modelyear \n",
- " fuel \n",
- " make \n",
- " lightduty \n",
- " vehicles \n",
- " year \n",
- " month \n",
- " day \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2006 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " \n",
- " \n",
- " 1 \n",
- " 2018-10-01 \n",
- " 90001.0 \n",
- " 2014 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " Yes \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " date zipcode modelyear fuel make lightduty vehicles \\\n",
- "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK Yes 1.0 \n",
- "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK Yes 1.0 \n",
- "\n",
- " year month day \n",
- "0 2018 10 1 \n",
- "1 2018 10 1 "
- ]
- },
- "execution_count": 26,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# Let's remove all the spaces for feature columns by renaming them.\n",
- "# TODO 3a\n",
- "df_transport.rename(columns = { 'Date': 'date', 'Zip Code':'zipcode', 'Model Year': 'modelyear', 'Fuel': 'fuel', 'Make': 'make', 'Light_Duty': 'lightduty', 'Vehicles': 'vehicles'}, inplace = True) \n",
- "\n",
- "# Output the first two rows.\n",
- "df_transport.head(2)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- " **Note:** Next we create a copy of the dataframe to avoid the \"SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame\" warning. Run the cell to remove the value '<2006' from the modelyear feature column. "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 26,
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " zipcode \n",
+ " modelyear \n",
+ " fuel \n",
+ " make \n",
+ " lightduty \n",
+ " vehicles \n",
+ " year \n",
+ " month \n",
+ " day \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2006 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2018-10-01 \n",
+ " 90001.0 \n",
+ " 2014 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " Yes \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date zipcode modelyear fuel make lightduty vehicles \\\n",
+ "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK Yes 1.0 \n",
+ "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK Yes 1.0 \n",
+ "\n",
+ " year month day \n",
+ "0 2018 10 1 \n",
+ "1 2018 10 1 "
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Let's remove all the spaces for feature columns by renaming them.\n",
+ "# TODO 3a\n",
+ "df_transport.rename(columns = { 'Date': 'date', 'Zip Code':'zipcode', 'Model Year': 'modelyear', 'Fuel': 'fuel', 'Make': 'make', 'Light_Duty': 'lightduty', 'Vehicles': 'vehicles'}, inplace = True) \n",
+ "\n",
+ "# Output the first two rows.\n",
+ "df_transport.head(2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ " **Note:** Next we create a copy of the dataframe to avoid the \"SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame\" warning. Run the cell to remove the value '<2006' from the modelyear feature column. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
@@ -1565,30 +1573,30 @@
"execution_count": 27,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "2007 53\n",
- "2008 45\n",
- "2006 36\n",
- "2010 34\n",
- "2014 31\n",
- "2015 30\n",
- "2017 29\n",
- "2016 29\n",
- "2013 27\n",
- "2009 25\n",
- "2012 25\n",
- "2011 24\n",
- "2018 23\n",
- "2019 5\n",
- "Name: modelyear, dtype: int64"
- ]
- },
- "execution_count": 28,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/plain": [
+ "2007 53\n",
+ "2008 45\n",
+ "2006 36\n",
+ "2010 34\n",
+ "2014 31\n",
+ "2015 30\n",
+ "2017 29\n",
+ "2016 29\n",
+ "2013 27\n",
+ "2009 25\n",
+ "2012 25\n",
+ "2011 24\n",
+ "2018 23\n",
+ "2019 5\n",
+ "Name: modelyear, dtype: int64"
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Here we will confirm that the modelyear value '<2006' has been removed by doing a value count.\n",
@@ -1616,18 +1624,18 @@
"execution_count": 28,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "Yes 374\n",
- "No 42\n",
- "Name: lightduty, dtype: int64"
- ]
- },
- "execution_count": 29,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/plain": [
+ "Yes 374\n",
+ "No 42\n",
+ "Name: lightduty, dtype: int64"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Lets count the number of \"Yes\" and\"No's\" in the 'lightduty' feature column.\n",
@@ -1639,18 +1647,18 @@
"execution_count": 29,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/plain": [
- "1 374\n",
- "0 42\n",
- "Name: lightduty, dtype: int64"
- ]
- },
- "execution_count": 30,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/plain": [
+ "1 374\n",
+ "0 42\n",
+ "Name: lightduty, dtype: int64"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Let's convert the Yes to 1 and No to 0.\n",
@@ -1664,129 +1672,129 @@
"execution_count": 30,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " date \n",
- " zipcode \n",
- " modelyear \n",
- " fuel \n",
- " make \n",
- " lightduty \n",
- " vehicles \n",
- " year \n",
- " month \n",
- " day \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2006 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " \n",
- " \n",
- " 1 \n",
- " 2018-10-01 \n",
- " 90001.0 \n",
- " 2014 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " \n",
- " \n",
- " 3 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2017 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " \n",
- " \n",
- " 16 \n",
- " 2018-10-09 \n",
- " 90001.0 \n",
- " 2006 \n",
- " Diesel and Diesel Hybrid \n",
- " Type_C \n",
- " 0 \n",
- " 16.0 \n",
- " 2018 \n",
- " 10 \n",
- " 9 \n",
- " \n",
- " \n",
- " 17 \n",
- " 2018-10-10 \n",
- " 90001.0 \n",
- " 2006 \n",
- " Diesel and Diesel Hybrid \n",
- " OTHER/UNK \n",
- " 0 \n",
- " 23.0 \n",
- " 2018 \n",
- " 10 \n",
- " 10 \n",
- " \n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " date zipcode modelyear fuel make \\\n",
- "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK \n",
- "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK \n",
- "3 2018-10-01 90000.0 2017 Gasoline OTHER/UNK \n",
- "16 2018-10-09 90001.0 2006 Diesel and Diesel Hybrid Type_C \n",
- "17 2018-10-10 90001.0 2006 Diesel and Diesel Hybrid OTHER/UNK \n",
- "\n",
- " lightduty vehicles year month day \n",
- "0 1 1.0 2018 10 1 \n",
- "1 1 1.0 2018 10 1 \n",
- "3 1 1.0 2018 10 1 \n",
- "16 0 16.0 2018 10 9 \n",
- "17 0 23.0 2018 10 10 "
- ]
- },
- "execution_count": 31,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " zipcode \n",
+ " modelyear \n",
+ " fuel \n",
+ " make \n",
+ " lightduty \n",
+ " vehicles \n",
+ " year \n",
+ " month \n",
+ " day \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2006 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2018-10-01 \n",
+ " 90001.0 \n",
+ " 2014 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2017 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " 16 \n",
+ " 2018-10-09 \n",
+ " 90001.0 \n",
+ " 2006 \n",
+ " Diesel and Diesel Hybrid \n",
+ " Type_C \n",
+ " 0 \n",
+ " 16.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 9 \n",
+ " \n",
+ " \n",
+ " 17 \n",
+ " 2018-10-10 \n",
+ " 90001.0 \n",
+ " 2006 \n",
+ " Diesel and Diesel Hybrid \n",
+ " OTHER/UNK \n",
+ " 0 \n",
+ " 23.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 10 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date zipcode modelyear fuel make \\\n",
+ "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK \n",
+ "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK \n",
+ "3 2018-10-01 90000.0 2017 Gasoline OTHER/UNK \n",
+ "16 2018-10-09 90001.0 2006 Diesel and Diesel Hybrid Type_C \n",
+ "17 2018-10-10 90001.0 2006 Diesel and Diesel Hybrid OTHER/UNK \n",
+ "\n",
+ " lightduty vehicles year month day \n",
+ "0 1 1.0 2018 10 1 \n",
+ "1 1 1.0 2018 10 1 \n",
+ "3 1 1.0 2018 10 1 \n",
+ "16 0 16.0 2018 10 9 \n",
+ "17 0 23.0 2018 10 10 "
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Confirm that \"lightduty\" has been converted.\n",
@@ -1816,219 +1824,219 @@
"execution_count": 31,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " zipcode \n",
- " modelyear_2007 \n",
- " modelyear_2008 \n",
- " modelyear_2009 \n",
- " modelyear_2010 \n",
- " modelyear_2011 \n",
- " modelyear_2012 \n",
- " modelyear_2013 \n",
- " modelyear_2014 \n",
- " modelyear_2015 \n",
- " ... \n",
- " make_Type_P \n",
- " make_Type_Q \n",
- " make_Type_R \n",
- " make_Type_S \n",
- " make_Type_T \n",
- " make_Type_U \n",
- " make_Type_V \n",
- " make_Type_W \n",
- " make_Type_X \n",
- " make_Type_Y \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 90000.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 1 \n",
- " 90001.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 1 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 3 \n",
- " 90000.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 16 \n",
- " 90001.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 17 \n",
- " 90001.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- "
\n",
- "
5 rows × 49 columns
\n",
- "
"
- ],
- "text/plain": [
- " zipcode modelyear_2007 modelyear_2008 modelyear_2009 modelyear_2010 \\\n",
- "0 90000.0 0 0 0 0 \n",
- "1 90001.0 0 0 0 0 \n",
- "3 90000.0 0 0 0 0 \n",
- "16 90001.0 0 0 0 0 \n",
- "17 90001.0 0 0 0 0 \n",
- "\n",
- " modelyear_2011 modelyear_2012 modelyear_2013 modelyear_2014 \\\n",
- "0 0 0 0 0 \n",
- "1 0 0 0 1 \n",
- "3 0 0 0 0 \n",
- "16 0 0 0 0 \n",
- "17 0 0 0 0 \n",
- "\n",
- " modelyear_2015 ... make_Type_P make_Type_Q make_Type_R make_Type_S \\\n",
- "0 0 ... 0 0 0 0 \n",
- "1 0 ... 0 0 0 0 \n",
- "3 0 ... 0 0 0 0 \n",
- "16 0 ... 0 0 0 0 \n",
- "17 0 ... 0 0 0 0 \n",
- "\n",
- " make_Type_T make_Type_U make_Type_V make_Type_W make_Type_X \\\n",
- "0 0 0 0 0 0 \n",
- "1 0 0 0 0 0 \n",
- "3 0 0 0 0 0 \n",
- "16 0 0 0 0 0 \n",
- "17 0 0 0 0 0 \n",
- "\n",
- " make_Type_Y \n",
- "0 0 \n",
- "1 0 \n",
- "3 0 \n",
- "16 0 \n",
- "17 0 \n",
- "\n",
- "[5 rows x 49 columns]"
- ]
- },
- "execution_count": 32,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " zipcode \n",
+ " modelyear_2007 \n",
+ " modelyear_2008 \n",
+ " modelyear_2009 \n",
+ " modelyear_2010 \n",
+ " modelyear_2011 \n",
+ " modelyear_2012 \n",
+ " modelyear_2013 \n",
+ " modelyear_2014 \n",
+ " modelyear_2015 \n",
+ " ... \n",
+ " make_Type_P \n",
+ " make_Type_Q \n",
+ " make_Type_R \n",
+ " make_Type_S \n",
+ " make_Type_T \n",
+ " make_Type_U \n",
+ " make_Type_V \n",
+ " make_Type_W \n",
+ " make_Type_X \n",
+ " make_Type_Y \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 90000.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 90001.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 90000.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 16 \n",
+ " 90001.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 17 \n",
+ " 90001.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 49 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " zipcode modelyear_2007 modelyear_2008 modelyear_2009 modelyear_2010 \\\n",
+ "0 90000.0 0 0 0 0 \n",
+ "1 90001.0 0 0 0 0 \n",
+ "3 90000.0 0 0 0 0 \n",
+ "16 90001.0 0 0 0 0 \n",
+ "17 90001.0 0 0 0 0 \n",
+ "\n",
+ " modelyear_2011 modelyear_2012 modelyear_2013 modelyear_2014 \\\n",
+ "0 0 0 0 0 \n",
+ "1 0 0 0 1 \n",
+ "3 0 0 0 0 \n",
+ "16 0 0 0 0 \n",
+ "17 0 0 0 0 \n",
+ "\n",
+ " modelyear_2015 ... make_Type_P make_Type_Q make_Type_R make_Type_S \\\n",
+ "0 0 ... 0 0 0 0 \n",
+ "1 0 ... 0 0 0 0 \n",
+ "3 0 ... 0 0 0 0 \n",
+ "16 0 ... 0 0 0 0 \n",
+ "17 0 ... 0 0 0 0 \n",
+ "\n",
+ " make_Type_T make_Type_U make_Type_V make_Type_W make_Type_X \\\n",
+ "0 0 0 0 0 0 \n",
+ "1 0 0 0 0 0 \n",
+ "3 0 0 0 0 0 \n",
+ "16 0 0 0 0 0 \n",
+ "17 0 0 0 0 0 \n",
+ "\n",
+ " make_Type_Y \n",
+ "0 0 \n",
+ "1 0 \n",
+ "3 0 \n",
+ "16 0 \n",
+ "17 0 \n",
+ "\n",
+ "[5 rows x 49 columns]"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Making dummy variables for categorical data with more inputs. \n",
@@ -2043,212 +2051,212 @@
"execution_count": 32,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " date \n",
- " zipcode \n",
- " modelyear \n",
- " fuel \n",
- " make \n",
- " lightduty \n",
- " vehicles \n",
- " year \n",
- " month \n",
- " day \n",
- " ... \n",
- " make_Type_P \n",
- " make_Type_Q \n",
- " make_Type_R \n",
- " make_Type_S \n",
- " make_Type_T \n",
- " make_Type_U \n",
- " make_Type_V \n",
- " make_Type_W \n",
- " make_Type_X \n",
- " make_Type_Y \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2006 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 1 \n",
- " 2018-10-01 \n",
- " 90001.0 \n",
- " 2014 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 3 \n",
- " 2018-10-01 \n",
- " 90000.0 \n",
- " 2017 \n",
- " Gasoline \n",
- " OTHER/UNK \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 16 \n",
- " 2018-10-09 \n",
- " 90001.0 \n",
- " 2006 \n",
- " Diesel and Diesel Hybrid \n",
- " Type_C \n",
- " 0 \n",
- " 16.0 \n",
- " 2018 \n",
- " 10 \n",
- " 9 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 17 \n",
- " 2018-10-10 \n",
- " 90001.0 \n",
- " 2006 \n",
- " Diesel and Diesel Hybrid \n",
- " OTHER/UNK \n",
- " 0 \n",
- " 23.0 \n",
- " 2018 \n",
- " 10 \n",
- " 10 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- "
\n",
- "
5 rows × 59 columns
\n",
- "
"
- ],
- "text/plain": [
- " date zipcode modelyear fuel make \\\n",
- "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK \n",
- "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK \n",
- "3 2018-10-01 90000.0 2017 Gasoline OTHER/UNK \n",
- "16 2018-10-09 90001.0 2006 Diesel and Diesel Hybrid Type_C \n",
- "17 2018-10-10 90001.0 2006 Diesel and Diesel Hybrid OTHER/UNK \n",
- "\n",
- " lightduty vehicles year month day ... make_Type_P make_Type_Q \\\n",
- "0 1 1.0 2018 10 1 ... 0 0 \n",
- "1 1 1.0 2018 10 1 ... 0 0 \n",
- "3 1 1.0 2018 10 1 ... 0 0 \n",
- "16 0 16.0 2018 10 9 ... 0 0 \n",
- "17 0 23.0 2018 10 10 ... 0 0 \n",
- "\n",
- " make_Type_R make_Type_S make_Type_T make_Type_U make_Type_V \\\n",
- "0 0 0 0 0 0 \n",
- "1 0 0 0 0 0 \n",
- "3 0 0 0 0 0 \n",
- "16 0 0 0 0 0 \n",
- "17 0 0 0 0 0 \n",
- "\n",
- " make_Type_W make_Type_X make_Type_Y \n",
- "0 0 0 0 \n",
- "1 0 0 0 \n",
- "3 0 0 0 \n",
- "16 0 0 0 \n",
- "17 0 0 0 \n",
- "\n",
- "[5 rows x 59 columns]"
- ]
- },
- "execution_count": 33,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " date \n",
+ " zipcode \n",
+ " modelyear \n",
+ " fuel \n",
+ " make \n",
+ " lightduty \n",
+ " vehicles \n",
+ " year \n",
+ " month \n",
+ " day \n",
+ " ... \n",
+ " make_Type_P \n",
+ " make_Type_Q \n",
+ " make_Type_R \n",
+ " make_Type_S \n",
+ " make_Type_T \n",
+ " make_Type_U \n",
+ " make_Type_V \n",
+ " make_Type_W \n",
+ " make_Type_X \n",
+ " make_Type_Y \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2006 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 2018-10-01 \n",
+ " 90001.0 \n",
+ " 2014 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 2018-10-01 \n",
+ " 90000.0 \n",
+ " 2017 \n",
+ " Gasoline \n",
+ " OTHER/UNK \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 16 \n",
+ " 2018-10-09 \n",
+ " 90001.0 \n",
+ " 2006 \n",
+ " Diesel and Diesel Hybrid \n",
+ " Type_C \n",
+ " 0 \n",
+ " 16.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 9 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 17 \n",
+ " 2018-10-10 \n",
+ " 90001.0 \n",
+ " 2006 \n",
+ " Diesel and Diesel Hybrid \n",
+ " OTHER/UNK \n",
+ " 0 \n",
+ " 23.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 10 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 59 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " date zipcode modelyear fuel make \\\n",
+ "0 2018-10-01 90000.0 2006 Gasoline OTHER/UNK \n",
+ "1 2018-10-01 90001.0 2014 Gasoline OTHER/UNK \n",
+ "3 2018-10-01 90000.0 2017 Gasoline OTHER/UNK \n",
+ "16 2018-10-09 90001.0 2006 Diesel and Diesel Hybrid Type_C \n",
+ "17 2018-10-10 90001.0 2006 Diesel and Diesel Hybrid OTHER/UNK \n",
+ "\n",
+ " lightduty vehicles year month day ... make_Type_P make_Type_Q \\\n",
+ "0 1 1.0 2018 10 1 ... 0 0 \n",
+ "1 1 1.0 2018 10 1 ... 0 0 \n",
+ "3 1 1.0 2018 10 1 ... 0 0 \n",
+ "16 0 16.0 2018 10 9 ... 0 0 \n",
+ "17 0 23.0 2018 10 10 ... 0 0 \n",
+ "\n",
+ " make_Type_R make_Type_S make_Type_T make_Type_U make_Type_V \\\n",
+ "0 0 0 0 0 0 \n",
+ "1 0 0 0 0 0 \n",
+ "3 0 0 0 0 0 \n",
+ "16 0 0 0 0 0 \n",
+ "17 0 0 0 0 0 \n",
+ "\n",
+ " make_Type_W make_Type_X make_Type_Y \n",
+ "0 0 0 0 \n",
+ "1 0 0 0 \n",
+ "3 0 0 0 \n",
+ "16 0 0 0 \n",
+ "17 0 0 0 \n",
+ "\n",
+ "[5 rows x 59 columns]"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Merging (concatenate) original data frame with 'dummy' dataframe.\n",
@@ -2273,212 +2281,212 @@
"execution_count": 34,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " lightduty \n",
- " vehicles \n",
- " year \n",
- " month \n",
- " day \n",
- " modelyear_2007 \n",
- " modelyear_2008 \n",
- " modelyear_2009 \n",
- " modelyear_2010 \n",
- " modelyear_2011 \n",
- " ... \n",
- " make_Type_P \n",
- " make_Type_Q \n",
- " make_Type_R \n",
- " make_Type_S \n",
- " make_Type_T \n",
- " make_Type_U \n",
- " make_Type_V \n",
- " make_Type_W \n",
- " make_Type_X \n",
- " make_Type_Y \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0 \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 1 \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 3 \n",
- " 1 \n",
- " 1.0 \n",
- " 2018 \n",
- " 10 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 16 \n",
- " 0 \n",
- " 16.0 \n",
- " 2018 \n",
- " 10 \n",
- " 9 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- " 17 \n",
- " 0 \n",
- " 23.0 \n",
- " 2018 \n",
- " 10 \n",
- " 10 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " \n",
- " \n",
- "
\n",
- "
5 rows × 53 columns
\n",
- "
"
- ],
- "text/plain": [
- " lightduty vehicles year month day modelyear_2007 modelyear_2008 \\\n",
- "0 1 1.0 2018 10 1 0 0 \n",
- "1 1 1.0 2018 10 1 0 0 \n",
- "3 1 1.0 2018 10 1 0 0 \n",
- "16 0 16.0 2018 10 9 0 0 \n",
- "17 0 23.0 2018 10 10 0 0 \n",
- "\n",
- " modelyear_2009 modelyear_2010 modelyear_2011 ... make_Type_P \\\n",
- "0 0 0 0 ... 0 \n",
- "1 0 0 0 ... 0 \n",
- "3 0 0 0 ... 0 \n",
- "16 0 0 0 ... 0 \n",
- "17 0 0 0 ... 0 \n",
- "\n",
- " make_Type_Q make_Type_R make_Type_S make_Type_T make_Type_U \\\n",
- "0 0 0 0 0 0 \n",
- "1 0 0 0 0 0 \n",
- "3 0 0 0 0 0 \n",
- "16 0 0 0 0 0 \n",
- "17 0 0 0 0 0 \n",
- "\n",
- " make_Type_V make_Type_W make_Type_X make_Type_Y \n",
- "0 0 0 0 0 \n",
- "1 0 0 0 0 \n",
- "3 0 0 0 0 \n",
- "16 0 0 0 0 \n",
- "17 0 0 0 0 \n",
- "\n",
- "[5 rows x 53 columns]"
- ]
- },
- "execution_count": 35,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " lightduty \n",
+ " vehicles \n",
+ " year \n",
+ " month \n",
+ " day \n",
+ " modelyear_2007 \n",
+ " modelyear_2008 \n",
+ " modelyear_2009 \n",
+ " modelyear_2010 \n",
+ " modelyear_2011 \n",
+ " ... \n",
+ " make_Type_P \n",
+ " make_Type_Q \n",
+ " make_Type_R \n",
+ " make_Type_S \n",
+ " make_Type_T \n",
+ " make_Type_U \n",
+ " make_Type_V \n",
+ " make_Type_W \n",
+ " make_Type_X \n",
+ " make_Type_Y \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1 \n",
+ " 1.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 16 \n",
+ " 0 \n",
+ " 16.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 9 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ " 17 \n",
+ " 0 \n",
+ " 23.0 \n",
+ " 2018 \n",
+ " 10 \n",
+ " 10 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 53 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " lightduty vehicles year month day modelyear_2007 modelyear_2008 \\\n",
+ "0 1 1.0 2018 10 1 0 0 \n",
+ "1 1 1.0 2018 10 1 0 0 \n",
+ "3 1 1.0 2018 10 1 0 0 \n",
+ "16 0 16.0 2018 10 9 0 0 \n",
+ "17 0 23.0 2018 10 10 0 0 \n",
+ "\n",
+ " modelyear_2009 modelyear_2010 modelyear_2011 ... make_Type_P \\\n",
+ "0 0 0 0 ... 0 \n",
+ "1 0 0 0 ... 0 \n",
+ "3 0 0 0 ... 0 \n",
+ "16 0 0 0 ... 0 \n",
+ "17 0 0 0 ... 0 \n",
+ "\n",
+ " make_Type_Q make_Type_R make_Type_S make_Type_T make_Type_U \\\n",
+ "0 0 0 0 0 0 \n",
+ "1 0 0 0 0 0 \n",
+ "3 0 0 0 0 0 \n",
+ "16 0 0 0 0 0 \n",
+ "17 0 0 0 0 0 \n",
+ "\n",
+ " make_Type_V make_Type_W make_Type_X make_Type_Y \n",
+ "0 0 0 0 0 \n",
+ "1 0 0 0 0 \n",
+ "3 0 0 0 0 \n",
+ "16 0 0 0 0 \n",
+ "17 0 0 0 0 \n",
+ "\n",
+ "[5 rows x 53 columns]"
+ ]
+ },
+ "execution_count": 35,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# Confirm that 'zipcode','modelyear', 'fuel', and 'make' have been dropped.\n",
@@ -2502,16 +2510,16 @@
"execution_count": 35,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Unique values of month: [10 11 12 1 2 3]\n",
- "Unique values of day: [ 1 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31\n",
- " 2 3 4 5 6 7 8]\n",
- "Unique values of year: [2018 2019]\n"
- ]
- }
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Unique values of month: [10 11 12 1 2 3]\n",
+ "Unique values of day: [ 1 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31\n",
+ " 2 3 4 5 6 7 8]\n",
+ "Unique values of year: [2018 2019]\n"
+ ]
+ }
],
"source": [
"# Let's print the unique values for \"month\", \"day\" and \"year\" in our dataset. \n",
@@ -2551,184 +2559,184 @@
"execution_count": 37,
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " lightduty \n",
- " vehicles \n",
- " modelyear_2007 \n",
- " modelyear_2008 \n",
- " modelyear_2009 \n",
- " modelyear_2010 \n",
- " modelyear_2011 \n",
- " modelyear_2012 \n",
- " modelyear_2013 \n",
- " modelyear_2014 \n",
- " ... \n",
- " make_Type_T \n",
- " make_Type_U \n",
- " make_Type_V \n",
- " make_Type_W \n",
- " make_Type_X \n",
- " make_Type_Y \n",
- " day_sin \n",
- " day_cos \n",
- " month_sin \n",
- " month_cos \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 495 \n",
- " 1 \n",
- " 58.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0.724793 \n",
- " 0.688967 \n",
- " -0.5 \n",
- " 0.866025 \n",
- " \n",
- " \n",
- " 496 \n",
- " 1 \n",
- " 45.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0.848644 \n",
- " 0.528964 \n",
- " -0.5 \n",
- " 0.866025 \n",
- " \n",
- " \n",
- " 497 \n",
- " 1 \n",
- " 82.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0.937752 \n",
- " 0.347305 \n",
- " -0.5 \n",
- " 0.866025 \n",
- " \n",
- " \n",
- " 498 \n",
- " 1 \n",
- " 12.0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 1 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " ... \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0 \n",
- " 0.988468 \n",
- " 0.151428 \n",
- " -0.5 \n",
- " 0.866025 \n",
- " \n",
- " \n",
- "
\n",
- "
4 rows × 54 columns
\n",
- "
"
- ],
- "text/plain": [
- " lightduty vehicles modelyear_2007 modelyear_2008 modelyear_2009 \\\n",
- "495 1 58.0 0 0 0 \n",
- "496 1 45.0 0 0 0 \n",
- "497 1 82.0 0 0 0 \n",
- "498 1 12.0 0 0 0 \n",
- "\n",
- " modelyear_2010 modelyear_2011 modelyear_2012 modelyear_2013 \\\n",
- "495 1 0 0 0 \n",
- "496 1 0 0 0 \n",
- "497 1 0 0 0 \n",
- "498 1 0 0 0 \n",
- "\n",
- " modelyear_2014 ... make_Type_T make_Type_U make_Type_V make_Type_W \\\n",
- "495 0 ... 0 0 0 0 \n",
- "496 0 ... 0 0 0 0 \n",
- "497 0 ... 0 0 0 0 \n",
- "498 0 ... 0 0 0 0 \n",
- "\n",
- " make_Type_X make_Type_Y day_sin day_cos month_sin month_cos \n",
- "495 0 0 0.724793 0.688967 -0.5 0.866025 \n",
- "496 0 0 0.848644 0.528964 -0.5 0.866025 \n",
- "497 0 0 0.937752 0.347305 -0.5 0.866025 \n",
- "498 0 0 0.988468 0.151428 -0.5 0.866025 \n",
- "\n",
- "[4 rows x 54 columns]"
- ]
- },
- "execution_count": 38,
- "metadata": {},
- "output_type": "execute_result"
- }
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " lightduty \n",
+ " vehicles \n",
+ " modelyear_2007 \n",
+ " modelyear_2008 \n",
+ " modelyear_2009 \n",
+ " modelyear_2010 \n",
+ " modelyear_2011 \n",
+ " modelyear_2012 \n",
+ " modelyear_2013 \n",
+ " modelyear_2014 \n",
+ " ... \n",
+ " make_Type_T \n",
+ " make_Type_U \n",
+ " make_Type_V \n",
+ " make_Type_W \n",
+ " make_Type_X \n",
+ " make_Type_Y \n",
+ " day_sin \n",
+ " day_cos \n",
+ " month_sin \n",
+ " month_cos \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 495 \n",
+ " 1 \n",
+ " 58.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0.724793 \n",
+ " 0.688967 \n",
+ " -0.5 \n",
+ " 0.866025 \n",
+ " \n",
+ " \n",
+ " 496 \n",
+ " 1 \n",
+ " 45.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0.848644 \n",
+ " 0.528964 \n",
+ " -0.5 \n",
+ " 0.866025 \n",
+ " \n",
+ " \n",
+ " 497 \n",
+ " 1 \n",
+ " 82.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0.937752 \n",
+ " 0.347305 \n",
+ " -0.5 \n",
+ " 0.866025 \n",
+ " \n",
+ " \n",
+ " 498 \n",
+ " 1 \n",
+ " 12.0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 1 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " ... \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0 \n",
+ " 0.988468 \n",
+ " 0.151428 \n",
+ " -0.5 \n",
+ " 0.866025 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
4 rows × 54 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " lightduty vehicles modelyear_2007 modelyear_2008 modelyear_2009 \\\n",
+ "495 1 58.0 0 0 0 \n",
+ "496 1 45.0 0 0 0 \n",
+ "497 1 82.0 0 0 0 \n",
+ "498 1 12.0 0 0 0 \n",
+ "\n",
+ " modelyear_2010 modelyear_2011 modelyear_2012 modelyear_2013 \\\n",
+ "495 1 0 0 0 \n",
+ "496 1 0 0 0 \n",
+ "497 1 0 0 0 \n",
+ "498 1 0 0 0 \n",
+ "\n",
+ " modelyear_2014 ... make_Type_T make_Type_U make_Type_V make_Type_W \\\n",
+ "495 0 ... 0 0 0 0 \n",
+ "496 0 ... 0 0 0 0 \n",
+ "497 0 ... 0 0 0 0 \n",
+ "498 0 ... 0 0 0 0 \n",
+ "\n",
+ " make_Type_X make_Type_Y day_sin day_cos month_sin month_cos \n",
+ "495 0 0 0.724793 0.688967 -0.5 0.866025 \n",
+ "496 0 0 0.848644 0.528964 -0.5 0.866025 \n",
+ "497 0 0 0.937752 0.347305 -0.5 0.866025 \n",
+ "498 0 0 0.988468 0.151428 -0.5 0.866025 \n",
+ "\n",
+ "[4 rows x 54 columns]"
+ ]
+ },
+ "execution_count": 38,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
],
"source": [
"# scroll left to see the converted month and day coluumns.\n",
From b07839faaa8d8ea6453e5f085599aea4f5b96522 Mon Sep 17 00:00:00 2001
From: hemantsinalkar-ssk
<87474238+hemantsinalkar-ssk@users.noreply.github.com>
Date: Thu, 3 Oct 2024 16:54:00 +0530
Subject: [PATCH 2/3] - Updated the cell in code format
---
.../launching_into_ml/labs/improve_data_quality.ipynb | 6 ++++--
.../launching_into_ml/solutions/improve_data_quality.ipynb | 4 +++-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb b/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb
index 02889af0ba..0f02fcf271 100644
--- a/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb
+++ b/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb
@@ -38,10 +38,12 @@
]
},
{
- "cell_type": "markdown",
+ "cell_type": "code",
+ "execution_count": null,
"metadata": {},
+ "outputs": [],
"source": [
- "Install TensorFlow Libraries\n",
+ "# Install TensorFlow Libraries\n",
"!pip install tensorflow"
]
},
diff --git a/courses/machine_learning/deepdive2/launching_into_ml/solutions/improve_data_quality.ipynb b/courses/machine_learning/deepdive2/launching_into_ml/solutions/improve_data_quality.ipynb
index 9d6c877338..3f63bf6966 100644
--- a/courses/machine_learning/deepdive2/launching_into_ml/solutions/improve_data_quality.ipynb
+++ b/courses/machine_learning/deepdive2/launching_into_ml/solutions/improve_data_quality.ipynb
@@ -39,8 +39,10 @@
]
},
{
- "cell_type": "markdown",
+ "cell_type": "code",
+ "execution_count": null,
"metadata": {},
+ "outputs": [],
"source": [
"# Install TensorFlow Libraries\n",
"!pip install tensorflow"
From 83a9a4aa9dd74daf47796d3652e77b3cd1917da5 Mon Sep 17 00:00:00 2001
From: hemantsinalkar-ssk
<87474238+hemantsinalkar-ssk@users.noreply.github.com>
Date: Thu, 3 Oct 2024 17:28:37 +0530
Subject: [PATCH 3/3] - Added comment for describing the cell
---
.../deepdive2/launching_into_ml/labs/improve_data_quality.ipynb | 1 +
1 file changed, 1 insertion(+)
diff --git a/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb b/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb
index 0f02fcf271..535a330cb4 100644
--- a/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb
+++ b/courses/machine_learning/deepdive2/launching_into_ml/labs/improve_data_quality.ipynb
@@ -34,6 +34,7 @@
"metadata": {},
"outputs": [],
"source": [
+ "# Use the chown command to change the ownership of the repository to user\n",
"!sudo chown -R jupyter:jupyter /home/jupyter/training-data-analyst"
]
},