{
"cells": [
{
"cell_type": "markdown",
"id": "3bb08fc8-478b-4e45-815d-37f3f4c61980",
"metadata": {},
"source": [
"Q1&Q2"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "6cd49f10-acc6-4e3f-abde-8189d08df382",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "d8f20c68-8080-443b-939a-60d78523d0d2",
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv('https://raw.githubusercontent.com/DataTalksClub/machine-learning-zoomcamp/main/cohorts/2026/data/car_fuel_efficiency_2026.csv')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "281b9e52-be95-43ef-bbfb-8e8598a44c01",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" model_year | \n",
" origin | \n",
" fuel_type | \n",
" drivetrain | \n",
" num_doors | \n",
" engine_displacement | \n",
" num_cylinders | \n",
" horsepower | \n",
" vehicle_weight | \n",
" acceleration | \n",
" fuel_efficiency_mpg | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2006 | \n",
" Europe | \n",
" Gasoline | \n",
" Front-wheel drive | \n",
" 4 | \n",
" 2180 | \n",
" 6 | \n",
" 243.0 | \n",
" 3870 | \n",
" NaN | \n",
" 31.9 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2008 | \n",
" Europe | \n",
" Diesel | \n",
" Front-wheel drive | \n",
" 4 | \n",
" 2390 | \n",
" 6 | \n",
" 272.0 | \n",
" 4210 | \n",
" NaN | \n",
" 31.3 | \n",
"
\n",
" \n",
" | 2 | \n",
" 1996 | \n",
" Asia | \n",
" Gasoline | \n",
" Front-wheel drive | \n",
" 5 | \n",
" 2320 | \n",
" 6 | \n",
" 267.0 | \n",
" 4240 | \n",
" 17.3 | \n",
" 27.5 | \n",
"
\n",
" \n",
" | 3 | \n",
" 1989 | \n",
" Europe | \n",
" Gasoline | \n",
" Front-wheel drive | \n",
" 4 | \n",
" 2130 | \n",
" 6 | \n",
" 258.0 | \n",
" 4490 | \n",
" 18.7 | \n",
" 28.5 | \n",
"
\n",
" \n",
" | 4 | \n",
" 1994 | \n",
" USA | \n",
" Diesel | \n",
" Front-wheel drive | \n",
" 3 | \n",
" 2580 | \n",
" 7 | \n",
" 304.0 | \n",
" 4510 | \n",
" 17.5 | \n",
" 31.0 | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 9995 | \n",
" 2005 | \n",
" USA | \n",
" Gasoline | \n",
" All-wheel drive | \n",
" 4 | \n",
" 2470 | \n",
" 6 | \n",
" 271.0 | \n",
" 4690 | \n",
" 18.9 | \n",
" 27.4 | \n",
"
\n",
" \n",
" | 9996 | \n",
" 1993 | \n",
" Asia | \n",
" Gasoline | \n",
" All-wheel drive | \n",
" 2 | \n",
" 2300 | \n",
" 6 | \n",
" 244.0 | \n",
" 4370 | \n",
" 19.0 | \n",
" 30.0 | \n",
"
\n",
" \n",
" | 9997 | \n",
" 2014 | \n",
" USA | \n",
" Gasoline | \n",
" All-wheel drive | \n",
" 3 | \n",
" 2480 | \n",
" 6 | \n",
" 267.0 | \n",
" 4590 | \n",
" 18.4 | \n",
" 28.1 | \n",
"
\n",
" \n",
" | 9998 | \n",
" 2004 | \n",
" USA | \n",
" Hybrid | \n",
" Rear-wheel drive | \n",
" 5 | \n",
" 2180 | \n",
" 6 | \n",
" 270.0 | \n",
" 4450 | \n",
" 20.9 | \n",
" 32.2 | \n",
"
\n",
" \n",
" | 9999 | \n",
" 2011 | \n",
" USA | \n",
" Diesel | \n",
" Front-wheel drive | \n",
" 4 | \n",
" 2380 | \n",
" 6 | \n",
" 295.0 | \n",
" 4370 | \n",
" 17.6 | \n",
" 30.2 | \n",
"
\n",
" \n",
"
\n",
"
10000 rows × 11 columns
\n",
"
"
],
"text/plain": [
" model_year origin fuel_type drivetrain num_doors \\\n",
"0 2006 Europe Gasoline Front-wheel drive 4 \n",
"1 2008 Europe Diesel Front-wheel drive 4 \n",
"2 1996 Asia Gasoline Front-wheel drive 5 \n",
"3 1989 Europe Gasoline Front-wheel drive 4 \n",
"4 1994 USA Diesel Front-wheel drive 3 \n",
"... ... ... ... ... ... \n",
"9995 2005 USA Gasoline All-wheel drive 4 \n",
"9996 1993 Asia Gasoline All-wheel drive 2 \n",
"9997 2014 USA Gasoline All-wheel drive 3 \n",
"9998 2004 USA Hybrid Rear-wheel drive 5 \n",
"9999 2011 USA Diesel Front-wheel drive 4 \n",
"\n",
" engine_displacement num_cylinders horsepower vehicle_weight \\\n",
"0 2180 6 243.0 3870 \n",
"1 2390 6 272.0 4210 \n",
"2 2320 6 267.0 4240 \n",
"3 2130 6 258.0 4490 \n",
"4 2580 7 304.0 4510 \n",
"... ... ... ... ... \n",
"9995 2470 6 271.0 4690 \n",
"9996 2300 6 244.0 4370 \n",
"9997 2480 6 267.0 4590 \n",
"9998 2180 6 270.0 4450 \n",
"9999 2380 6 295.0 4370 \n",
"\n",
" acceleration fuel_efficiency_mpg \n",
"0 NaN 31.9 \n",
"1 NaN 31.3 \n",
"2 17.3 27.5 \n",
"3 18.7 28.5 \n",
"4 17.5 31.0 \n",
"... ... ... \n",
"9995 18.9 27.4 \n",
"9996 19.0 30.0 \n",
"9997 18.4 28.1 \n",
"9998 20.9 32.2 \n",
"9999 17.6 30.2 \n",
"\n",
"[10000 rows x 11 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "b66bfc97-12f3-4c0b-850b-6ac6706c3216",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'3.0.5'"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.__version__"
]
},
{
"cell_type": "markdown",
"id": "b8ed4c1f-8610-4887-8d16-781cfb647dfc",
"metadata": {},
"source": [
"Q3"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "e826c965-371d-458f-aba8-fd05893457bc",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" model_year | \n",
" origin | \n",
" drivetrain | \n",
" num_doors | \n",
" engine_displacement | \n",
" num_cylinders | \n",
" horsepower | \n",
" vehicle_weight | \n",
" acceleration | \n",
" fuel_efficiency_mpg | \n",
"
\n",
" \n",
" | fuel_type | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | Diesel | \n",
" 2053 | \n",
" 2053 | \n",
" 2053 | \n",
" 2053 | \n",
" 2053 | \n",
" 2053 | \n",
" 1896 | \n",
" 2053 | \n",
" 2004 | \n",
" 2053 | \n",
"
\n",
" \n",
" | Gasoline | \n",
" 6913 | \n",
" 6913 | \n",
" 6913 | \n",
" 6913 | \n",
" 6913 | \n",
" 6913 | \n",
" 6285 | \n",
" 6913 | \n",
" 6728 | \n",
" 6913 | \n",
"
\n",
" \n",
" | Hybrid | \n",
" 1034 | \n",
" 1034 | \n",
" 1034 | \n",
" 1034 | \n",
" 1034 | \n",
" 1034 | \n",
" 942 | \n",
" 1034 | \n",
" 1004 | \n",
" 1034 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" model_year origin drivetrain num_doors engine_displacement \\\n",
"fuel_type \n",
"Diesel 2053 2053 2053 2053 2053 \n",
"Gasoline 6913 6913 6913 6913 6913 \n",
"Hybrid 1034 1034 1034 1034 1034 \n",
"\n",
" num_cylinders horsepower vehicle_weight acceleration \\\n",
"fuel_type \n",
"Diesel 2053 1896 2053 2004 \n",
"Gasoline 6913 6285 6913 6728 \n",
"Hybrid 1034 942 1034 1004 \n",
"\n",
" fuel_efficiency_mpg \n",
"fuel_type \n",
"Diesel 2053 \n",
"Gasoline 6913 \n",
"Hybrid 1034 "
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.groupby('fuel_type').count()"
]
},
{
"cell_type": "markdown",
"id": "3a61b1e9-a3df-40fb-9b0e-f63d32f88200",
"metadata": {},
"source": [
"Q4"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "c27719b7-65d6-4743-94ba-12932a28f508",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"model_year 0\n",
"origin 0\n",
"fuel_type 0\n",
"drivetrain 0\n",
"num_doors 0\n",
"engine_displacement 0\n",
"num_cylinders 0\n",
"horsepower 877\n",
"vehicle_weight 0\n",
"acceleration 264\n",
"fuel_efficiency_mpg 0\n",
"dtype: int64"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.isnull().sum()"
]
},
{
"cell_type": "markdown",
"id": "68c925f4-cb7a-4877-bf59-2f99a2709653",
"metadata": {},
"source": [
"Q5"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "a7532e19-7987-4f08-a713-c78887f078ff",
"metadata": {},
"outputs": [],
"source": [
"df1 = df[\n",
" df['origin'] == 'Asia'\n",
" ]"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "1dd7aabe-bd9b-43df-98d2-36ef5fde8c43",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"np.float64(41.2)"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df1['fuel_efficiency_mpg'].max()"
]
},
{
"cell_type": "markdown",
"id": "6286e54b-2d9f-4c72-ab5a-cbb0fd5e2087",
"metadata": {},
"source": [
"Q6"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "59c53489-dae9-4bb0-87b9-526f21c20061",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"np.float64(254.0)"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['horsepower'].median()"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "cd0b0eec-1b66-4a02-9537-0115483191ea",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"np.float64(252.0)"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fill_value = df['horsepower'].mode()[0]\n",
"fill_value"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "49172227-3382-4b5a-9efc-050751e0ff33",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"horsepower\n",
"252.0 174\n",
"246.0 168\n",
"256.0 168\n",
"259.0 165\n",
"253.0 165\n",
" ... \n",
"322.0 1\n",
"330.0 1\n",
"175.0 1\n",
"178.0 1\n",
"320.0 1\n",
"Name: count, Length: 153, dtype: int64"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['horsepower'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "23498bcf-1e37-4ae8-8197-2c83b57cf078",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" model_year | \n",
" origin | \n",
" fuel_type | \n",
" drivetrain | \n",
" num_doors | \n",
" engine_displacement | \n",
" num_cylinders | \n",
" horsepower | \n",
" vehicle_weight | \n",
" acceleration | \n",
" fuel_efficiency_mpg | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 2006 | \n",
" Europe | \n",
" Gasoline | \n",
" Front-wheel drive | \n",
" 4 | \n",
" 2180 | \n",
" 6 | \n",
" 243.0 | \n",
" 3870 | \n",
" NaN | \n",
" 31.9 | \n",
"
\n",
" \n",
" | 1 | \n",
" 2008 | \n",
" Europe | \n",
" Diesel | \n",
" Front-wheel drive | \n",
" 4 | \n",
" 2390 | \n",
" 6 | \n",
" 272.0 | \n",
" 4210 | \n",
" NaN | \n",
" 31.3 | \n",
"
\n",
" \n",
" | 2 | \n",
" 1996 | \n",
" Asia | \n",
" Gasoline | \n",
" Front-wheel drive | \n",
" 5 | \n",
" 2320 | \n",
" 6 | \n",
" 267.0 | \n",
" 4240 | \n",
" 17.3 | \n",
" 27.5 | \n",
"
\n",
" \n",
" | 3 | \n",
" 1989 | \n",
" Europe | \n",
" Gasoline | \n",
" Front-wheel drive | \n",
" 4 | \n",
" 2130 | \n",
" 6 | \n",
" 258.0 | \n",
" 4490 | \n",
" 18.7 | \n",
" 28.5 | \n",
"
\n",
" \n",
" | 4 | \n",
" 1994 | \n",
" USA | \n",
" Diesel | \n",
" Front-wheel drive | \n",
" 3 | \n",
" 2580 | \n",
" 7 | \n",
" 304.0 | \n",
" 4510 | \n",
" 17.5 | \n",
" 31.0 | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 9995 | \n",
" 2005 | \n",
" USA | \n",
" Gasoline | \n",
" All-wheel drive | \n",
" 4 | \n",
" 2470 | \n",
" 6 | \n",
" 271.0 | \n",
" 4690 | \n",
" 18.9 | \n",
" 27.4 | \n",
"
\n",
" \n",
" | 9996 | \n",
" 1993 | \n",
" Asia | \n",
" Gasoline | \n",
" All-wheel drive | \n",
" 2 | \n",
" 2300 | \n",
" 6 | \n",
" 244.0 | \n",
" 4370 | \n",
" 19.0 | \n",
" 30.0 | \n",
"
\n",
" \n",
" | 9997 | \n",
" 2014 | \n",
" USA | \n",
" Gasoline | \n",
" All-wheel drive | \n",
" 3 | \n",
" 2480 | \n",
" 6 | \n",
" 267.0 | \n",
" 4590 | \n",
" 18.4 | \n",
" 28.1 | \n",
"
\n",
" \n",
" | 9998 | \n",
" 2004 | \n",
" USA | \n",
" Hybrid | \n",
" Rear-wheel drive | \n",
" 5 | \n",
" 2180 | \n",
" 6 | \n",
" 270.0 | \n",
" 4450 | \n",
" 20.9 | \n",
" 32.2 | \n",
"
\n",
" \n",
" | 9999 | \n",
" 2011 | \n",
" USA | \n",
" Diesel | \n",
" Front-wheel drive | \n",
" 4 | \n",
" 2380 | \n",
" 6 | \n",
" 295.0 | \n",
" 4370 | \n",
" 17.6 | \n",
" 30.2 | \n",
"
\n",
" \n",
"
\n",
"
10000 rows × 11 columns
\n",
"
"
],
"text/plain": [
" model_year origin fuel_type drivetrain num_doors \\\n",
"0 2006 Europe Gasoline Front-wheel drive 4 \n",
"1 2008 Europe Diesel Front-wheel drive 4 \n",
"2 1996 Asia Gasoline Front-wheel drive 5 \n",
"3 1989 Europe Gasoline Front-wheel drive 4 \n",
"4 1994 USA Diesel Front-wheel drive 3 \n",
"... ... ... ... ... ... \n",
"9995 2005 USA Gasoline All-wheel drive 4 \n",
"9996 1993 Asia Gasoline All-wheel drive 2 \n",
"9997 2014 USA Gasoline All-wheel drive 3 \n",
"9998 2004 USA Hybrid Rear-wheel drive 5 \n",
"9999 2011 USA Diesel Front-wheel drive 4 \n",
"\n",
" engine_displacement num_cylinders horsepower vehicle_weight \\\n",
"0 2180 6 243.0 3870 \n",
"1 2390 6 272.0 4210 \n",
"2 2320 6 267.0 4240 \n",
"3 2130 6 258.0 4490 \n",
"4 2580 7 304.0 4510 \n",
"... ... ... ... ... \n",
"9995 2470 6 271.0 4690 \n",
"9996 2300 6 244.0 4370 \n",
"9997 2480 6 267.0 4590 \n",
"9998 2180 6 270.0 4450 \n",
"9999 2380 6 295.0 4370 \n",
"\n",
" acceleration fuel_efficiency_mpg \n",
"0 NaN 31.9 \n",
"1 NaN 31.3 \n",
"2 17.3 27.5 \n",
"3 18.7 28.5 \n",
"4 17.5 31.0 \n",
"... ... ... \n",
"9995 18.9 27.4 \n",
"9996 19.0 30.0 \n",
"9997 18.4 28.1 \n",
"9998 20.9 32.2 \n",
"9999 17.6 30.2 \n",
"\n",
"[10000 rows x 11 columns]"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.fillna({'horsepower':fill_value},inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "995389cd-664a-4a13-894c-b731fcee473b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"np.float64(252.0)"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['horsepower'].median()"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "218294aa-0672-4709-a067-116a7486c72d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"horsepower\n",
"252.0 1051\n",
"246.0 168\n",
"256.0 168\n",
"259.0 165\n",
"253.0 165\n",
" ... \n",
"322.0 1\n",
"330.0 1\n",
"175.0 1\n",
"178.0 1\n",
"320.0 1\n",
"Name: count, Length: 153, dtype: int64"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['horsepower'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "4890ebe4-91b2-47d5-a740-2e5676d4ec44",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"model_year 0\n",
"origin 0\n",
"fuel_type 0\n",
"drivetrain 0\n",
"num_doors 0\n",
"engine_displacement 0\n",
"num_cylinders 0\n",
"horsepower 0\n",
"vehicle_weight 0\n",
"acceleration 264\n",
"fuel_efficiency_mpg 0\n",
"dtype: int64"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.isnull().sum()"
]
},
{
"cell_type": "markdown",
"id": "f6922fae-b2f6-49b3-9443-1ceb726973a6",
"metadata": {},
"source": [
"Q7"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "f4584211-c115-4d50-95ed-446175545057",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" model_year | \n",
" origin | \n",
" fuel_type | \n",
" drivetrain | \n",
" num_doors | \n",
" engine_displacement | \n",
" num_cylinders | \n",
" horsepower | \n",
" vehicle_weight | \n",
" acceleration | \n",
" fuel_efficiency_mpg | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2 | \n",
" 1996 | \n",
" Asia | \n",
" Gasoline | \n",
" Front-wheel drive | \n",
" 5 | \n",
" 2320 | \n",
" 6 | \n",
" 267.0 | \n",
" 4240 | \n",
" 17.3 | \n",
" 27.5 | \n",
"
\n",
" \n",
" | 6 | \n",
" 1992 | \n",
" Asia | \n",
" Gasoline | \n",
" Front-wheel drive | \n",
" 2 | \n",
" 2270 | \n",
" 6 | \n",
" 250.0 | \n",
" 4310 | \n",
" 21.7 | \n",
" 26.8 | \n",
"
\n",
" \n",
" | 8 | \n",
" 1997 | \n",
" Asia | \n",
" Gasoline | \n",
" Rear-wheel drive | \n",
" 3 | \n",
" 2330 | \n",
" 6 | \n",
" 251.0 | \n",
" 4230 | \n",
" 19.5 | \n",
" 30.9 | \n",
"
\n",
" \n",
" | 10 | \n",
" 1978 | \n",
" Asia | \n",
" Gasoline | \n",
" All-wheel drive | \n",
" 3 | \n",
" 2410 | \n",
" 6 | \n",
" 252.0 | \n",
" 4420 | \n",
" 19.5 | \n",
" 26.8 | \n",
"
\n",
" \n",
" | 15 | \n",
" 2007 | \n",
" Asia | \n",
" Diesel | \n",
" Front-wheel drive | \n",
" 4 | \n",
" 2170 | \n",
" 5 | \n",
" 226.0 | \n",
" 3950 | \n",
" 18.0 | \n",
" 35.4 | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 9984 | \n",
" 2011 | \n",
" Asia | \n",
" Gasoline | \n",
" Front-wheel drive | \n",
" 3 | \n",
" 2410 | \n",
" 6 | \n",
" 256.0 | \n",
" 4610 | \n",
" 20.2 | \n",
" 32.4 | \n",
"
\n",
" \n",
" | 9987 | \n",
" 2004 | \n",
" Asia | \n",
" Diesel | \n",
" All-wheel drive | \n",
" 3 | \n",
" 2180 | \n",
" 6 | \n",
" 266.0 | \n",
" 4530 | \n",
" 18.6 | \n",
" 29.0 | \n",
"
\n",
" \n",
" | 9990 | \n",
" 1975 | \n",
" Asia | \n",
" Diesel | \n",
" Front-wheel drive | \n",
" 4 | \n",
" 1940 | \n",
" 6 | \n",
" 236.0 | \n",
" 3630 | \n",
" 19.7 | \n",
" 32.4 | \n",
"
\n",
" \n",
" | 9994 | \n",
" 1993 | \n",
" Asia | \n",
" Gasoline | \n",
" Rear-wheel drive | \n",
" 2 | \n",
" 2360 | \n",
" 6 | \n",
" 257.0 | \n",
" 4610 | \n",
" 22.2 | \n",
" 30.1 | \n",
"
\n",
" \n",
" | 9996 | \n",
" 1993 | \n",
" Asia | \n",
" Gasoline | \n",
" All-wheel drive | \n",
" 2 | \n",
" 2300 | \n",
" 6 | \n",
" 244.0 | \n",
" 4370 | \n",
" 19.0 | \n",
" 30.0 | \n",
"
\n",
" \n",
"
\n",
"
2994 rows × 11 columns
\n",
"
"
],
"text/plain": [
" model_year origin fuel_type drivetrain num_doors \\\n",
"2 1996 Asia Gasoline Front-wheel drive 5 \n",
"6 1992 Asia Gasoline Front-wheel drive 2 \n",
"8 1997 Asia Gasoline Rear-wheel drive 3 \n",
"10 1978 Asia Gasoline All-wheel drive 3 \n",
"15 2007 Asia Diesel Front-wheel drive 4 \n",
"... ... ... ... ... ... \n",
"9984 2011 Asia Gasoline Front-wheel drive 3 \n",
"9987 2004 Asia Diesel All-wheel drive 3 \n",
"9990 1975 Asia Diesel Front-wheel drive 4 \n",
"9994 1993 Asia Gasoline Rear-wheel drive 2 \n",
"9996 1993 Asia Gasoline All-wheel drive 2 \n",
"\n",
" engine_displacement num_cylinders horsepower vehicle_weight \\\n",
"2 2320 6 267.0 4240 \n",
"6 2270 6 250.0 4310 \n",
"8 2330 6 251.0 4230 \n",
"10 2410 6 252.0 4420 \n",
"15 2170 5 226.0 3950 \n",
"... ... ... ... ... \n",
"9984 2410 6 256.0 4610 \n",
"9987 2180 6 266.0 4530 \n",
"9990 1940 6 236.0 3630 \n",
"9994 2360 6 257.0 4610 \n",
"9996 2300 6 244.0 4370 \n",
"\n",
" acceleration fuel_efficiency_mpg \n",
"2 17.3 27.5 \n",
"6 21.7 26.8 \n",
"8 19.5 30.9 \n",
"10 19.5 26.8 \n",
"15 18.0 35.4 \n",
"... ... ... \n",
"9984 20.2 32.4 \n",
"9987 18.6 29.0 \n",
"9990 19.7 32.4 \n",
"9994 22.2 30.1 \n",
"9996 19.0 30.0 \n",
"\n",
"[2994 rows x 11 columns]"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df1 = df[\n",
" df['origin'] == 'Asia'\n",
"]\n",
"df1"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "4f4fb6c9-47c8-4452-a490-e77edbd827d3",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" vehicle_weight | \n",
" model_year | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2 | \n",
" 4240 | \n",
" 1996 | \n",
"
\n",
" \n",
" | 6 | \n",
" 4310 | \n",
" 1992 | \n",
"
\n",
" \n",
" | 8 | \n",
" 4230 | \n",
" 1997 | \n",
"
\n",
" \n",
" | 10 | \n",
" 4420 | \n",
" 1978 | \n",
"
\n",
" \n",
" | 15 | \n",
" 3950 | \n",
" 2007 | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 9984 | \n",
" 4610 | \n",
" 2011 | \n",
"
\n",
" \n",
" | 9987 | \n",
" 4530 | \n",
" 2004 | \n",
"
\n",
" \n",
" | 9990 | \n",
" 3630 | \n",
" 1975 | \n",
"
\n",
" \n",
" | 9994 | \n",
" 4610 | \n",
" 1993 | \n",
"
\n",
" \n",
" | 9996 | \n",
" 4370 | \n",
" 1993 | \n",
"
\n",
" \n",
"
\n",
"
2994 rows × 2 columns
\n",
"
"
],
"text/plain": [
" vehicle_weight model_year\n",
"2 4240 1996\n",
"6 4310 1992\n",
"8 4230 1997\n",
"10 4420 1978\n",
"15 3950 2007\n",
"... ... ...\n",
"9984 4610 2011\n",
"9987 4530 2004\n",
"9990 3630 1975\n",
"9994 4610 1993\n",
"9996 4370 1993\n",
"\n",
"[2994 rows x 2 columns]"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df2 = df1[['vehicle_weight','model_year']]\n",
"df2"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "168301d8-7bb7-4123-b4a8-e21e6820a91a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" vehicle_weight | \n",
" model_year | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2 | \n",
" 4240 | \n",
" 1996 | \n",
"
\n",
" \n",
" | 6 | \n",
" 4310 | \n",
" 1992 | \n",
"
\n",
" \n",
" | 8 | \n",
" 4230 | \n",
" 1997 | \n",
"
\n",
" \n",
" | 10 | \n",
" 4420 | \n",
" 1978 | \n",
"
\n",
" \n",
" | 15 | \n",
" 3950 | \n",
" 2007 | \n",
"
\n",
" \n",
" | 16 | \n",
" 4750 | \n",
" 2021 | \n",
"
\n",
" \n",
" | 22 | \n",
" 4450 | \n",
" 2019 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" vehicle_weight model_year\n",
"2 4240 1996\n",
"6 4310 1992\n",
"8 4230 1997\n",
"10 4420 1978\n",
"15 3950 2007\n",
"16 4750 2021\n",
"22 4450 2019"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df3 = df2.iloc[[0,1,2,3,4,5,6]]\n",
"df3"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "cf1c8d7b-bc81-4f1f-9f97-065ab34c270d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[4240, 1996],\n",
" [4310, 1992],\n",
" [4230, 1997],\n",
" [4420, 1978],\n",
" [3950, 2007],\n",
" [4750, 2021],\n",
" [4450, 2019]])"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X = df3.values\n",
"X"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "b57df929-9e2e-4689-9e30-70533a512826",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[131950500, 60750580],\n",
" [ 60750580, 28041424]])"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"XTX = X.T.dot(X)\n",
"XTX"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "3655f37f-7c9a-4cc9-95df-10407034d9ac",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "0ac21bd9-f29e-4777-ac4a-0e4ac3193356",
"metadata": {},
"outputs": [],
"source": [
"XTX_inv = np.linalg.inv(XTX)"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "2cc5606a-137b-4c1a-ba82-b919da4f3faa",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 2.96830537e-06, -6.43071025e-06],\n",
" [-6.43071025e-06, 1.39675281e-05]])"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"XTX_inv"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "541955b6-96b5-4954-850e-7f9a85d78f16",
"metadata": {},
"outputs": [],
"source": [
"y = np.array([1100,1300,800,900,1000,1100,1200])"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "511944f8-e17e-407d-b039-c25915c58efc",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([1100, 1300, 800, 900, 1000, 1100, 1200])"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "aa94144f-71c4-4ed5-b8b2-d56d8f21d15b",
"metadata": {},
"outputs": [],
"source": [
"w = XTX_inv.dot(X.T.dot(y))"
]
},
{
"cell_type": "code",
"execution_count": 61,
"id": "cb9f856b-a13f-497b-b006-69132c7fed78",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"np.float64(0.3691969690492593)"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"w.sum()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d147e0a8-d719-4592-99cb-bdbe404d2a2f",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.14.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}