mpg/eda.ipynb
2022-08-01 09:32:07 -04:00

1996 lines
152 KiB
Text

{
"cells": [
{
"cell_type": "markdown",
"id": "807a5642-e420-4208-9ccb-bcc442617ad0",
"metadata": {},
"source": [
"[Cleaning](clean.ipynb)"
]
},
{
"cell_type": "markdown",
"id": "04ed2aa6-7b64-4c2d-b007-594e31ecdae8",
"metadata": {},
"source": [
"# EDA"
]
},
{
"cell_type": "markdown",
"id": "682a6d42-8ce0-42fb-9892-b6a46beb0b9b",
"metadata": {},
"source": [
"Import and define some functions"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "5ffa8b01-0b17-4ad8-8e85-f2656da50c9e",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:10.964571Z",
"iopub.status.busy": "2022-08-01T04:20:10.964037Z",
"iopub.status.idle": "2022-08-01T04:20:11.911635Z",
"shell.execute_reply": "2022-08-01T04:20:11.911048Z",
"shell.execute_reply.started": "2022-08-01T04:20:10.964486Z"
},
"tags": []
},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"from os.path import exists\n",
"import matplotlib.pyplot as plt\n",
"from IPython.display import display, Markdown\n",
"\n",
"sns.set_theme(style='darkgrid')\n",
"\n",
"df = pd.read_csv('data/clean.csv')\n",
"y = df.mpg\n",
"\n",
"def show_plots(filenames):\n",
" for j in range(0,len(filenames),2):\n",
" if (len(filenames)-j)>1:\n",
" display(Markdown(f'![]({filenames[j]})![]({filenames[j+1]})'))\n",
" else:\n",
" display(Markdown(f'![]({filenames[j]})'))\n",
"\n",
"def make_plots(df, y):\n",
" filenames = []\n",
" \n",
" for col in df.columns:\n",
" filename = 'img/%s_joint.png' % col\n",
" filenames.append(filename)\n",
" if not exists(filename):\n",
" sns.jointplot(x=df[col],y=y,kind='reg',\n",
" joint_kws={'scatter_kws':dict(alpha=0.3)})\n",
" plt.suptitle(f'{col} vs mpg')\n",
" plt.subplots_adjust(top=.93)\n",
" plt.savefig(filename,facecolor='white',transparent=False)\n",
" plt.close()\n",
" \n",
" show_plots(filenames)"
]
},
{
"cell_type": "markdown",
"id": "416a9d7e-e2ad-41f0-a674-d13c01f41896",
"metadata": {},
"source": [
"## A bit on engines:\n",
"\n",
"* A most basic description of an engine is that it's an air pump\n",
"* Horsepower = (Torque * RPM) / 5252\n",
"* Torque peak is where an engine is operating most efficiently as far as air flow, applied science in action. (Fluid dynamics, resonance)\n",
"* Operating above or below the torque peak reduces efficiency and efficiency == fuel economy\n",
"* Torque peaks normally occur below 5252rpm, and horsepower peaks above that, so long as the engine can actually rev that high. On a dyno sheet (measuring torque and horsepower vs rpm) you'll see the torque/horsepower lines cross at 5252rpm\n",
"* As an engine spins faster, the power output increases until combustion is so inefficient and it produces so little torque that spinning faster produces no more power, if it holds together that long\n",
"\n",
"Basically an engine that makes lots of power at high rpm but relatively little low end torque (mazda rotary), is going to have poor fuel economy because it spends most of its time outside of its efficiency range. In contrast, diesel engines typically turn lower rpms and create all kinds of torque down low. So not only do they start off making more torque but they are less likely to stray very far from torque peak. This is also why horsepower numbers on a diesel appear low, because they can't rev as high. There's more to it but this should be enough to provide context"
]
},
{
"cell_type": "markdown",
"id": "7af7dcdd-9618-4e81-88c8-d2c2cde0fdc2",
"metadata": {},
"source": [
"So I'm only interested in a few things:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "3e633f5f-8a7f-4776-a855-f22fcb87e88d",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:11.913047Z",
"iopub.status.busy": "2022-08-01T04:20:11.912844Z",
"iopub.status.idle": "2022-08-01T04:20:11.923117Z",
"shell.execute_reply": "2022-08-01T04:20:11.922526Z",
"shell.execute_reply.started": "2022-08-01T04:20:11.913032Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/markdown": [
"![](img/cylinders_joint.png)![](img/displacement_joint.png)"
],
"text/plain": [
"<IPython.core.display.Markdown object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/markdown": [
"![](img/horsepower_joint.png)![](img/weight_joint.png)"
],
"text/plain": [
"<IPython.core.display.Markdown object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"make_plots(df[['cylinders','displacement',\n",
" 'horsepower','weight',]],y)"
]
},
{
"cell_type": "markdown",
"id": "b0f65dd4-16b6-4222-8758-71e2ecac473e",
"metadata": {},
"source": [
"As the number of cylinders, displacement, horsepower, or weight increase, MPG goes down. There are some outliers, we'll get to that in a minute"
]
},
{
"cell_type": "markdown",
"id": "61b1b79e-46c2-4e7b-b565-84d1e2045777",
"metadata": {},
"source": [
"There are some other things I'd like to see:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "7342da99-d04a-4f4f-ad3c-06840144ec48",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:11.924056Z",
"iopub.status.busy": "2022-08-01T04:20:11.923876Z",
"iopub.status.idle": "2022-08-01T04:20:11.935974Z",
"shell.execute_reply": "2022-08-01T04:20:11.935279Z",
"shell.execute_reply.started": "2022-08-01T04:20:11.924034Z"
},
"tags": []
},
"outputs": [],
"source": [
"new_features = pd.DataFrame()\n",
"new_features['efficiency'] = df.horsepower / df.displacement\n",
"new_features['load'] = df.displacement / df.weight\n",
"new_features['bore_size'] = df.displacement / df.cylinders\n",
"new_features['grunt'] = new_features.bore_size * new_features.efficiency * df.horsepower\n",
"# new_features['grunt'] = (df.horsepower / new_features.bore_size) * new_features.efficiency"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "9fa0bf3e-d45b-4698-afac-e549db0de148",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:11.936853Z",
"iopub.status.busy": "2022-08-01T04:20:11.936679Z",
"iopub.status.idle": "2022-08-01T04:20:12.329795Z",
"shell.execute_reply": "2022-08-01T04:20:12.329065Z",
"shell.execute_reply.started": "2022-08-01T04:20:11.936838Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/markdown": [
"![](img/efficiency_joint.png)![](img/load_joint.png)"
],
"text/plain": [
"<IPython.core.display.Markdown object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/markdown": [
"![](img/bore_size_joint.png)![](img/grunt_joint.png)"
],
"text/plain": [
"<IPython.core.display.Markdown object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"make_plots(new_features,y)"
]
},
{
"cell_type": "markdown",
"id": "5cbe16d7-24ef-4ceb-acd1-0dcecfdc96c2",
"metadata": {},
"source": [
"* Efficiency (HP per cubic inch) is a rough measure of engine tech/efficiency, as this increases so does MPG\n",
"* Load is a metric of how hard the engine has to work compared to its size. Engines that work hard use more fuel and a small engine working really hard can use more fuel than a big engine that's not doing much\n",
"* Bore_size is an attempt to describe cylinder bore diameter which gives insight on torque curve\n",
"* Grunt is an attempt to describe the power curve of an engine, or more specifically the presence/absence of low rpm torque output"
]
},
{
"cell_type": "markdown",
"id": "dd05abcd-9ac9-4821-b575-ffbf8544db3c",
"metadata": {},
"source": [
"Merge new with the old"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "89cea145-4b6e-457b-9970-578144c1c364",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.331981Z",
"iopub.status.busy": "2022-08-01T04:20:12.331135Z",
"iopub.status.idle": "2022-08-01T04:20:12.338040Z",
"shell.execute_reply": "2022-08-01T04:20:12.337017Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.331935Z"
},
"tags": []
},
"outputs": [],
"source": [
"merged = df.join(new_features)\n",
"del new_features\n",
"del df"
]
},
{
"cell_type": "markdown",
"id": "d39b59e4-e596-4fc9-b886-1e6d314f597e",
"metadata": {},
"source": [
"# What's all that on the edges?\n",
"<hr>"
]
},
{
"cell_type": "markdown",
"id": "fe7ee071-8aa4-4a8d-9e8e-480f3b9da9da",
"metadata": {},
"source": [
"## Rotaries"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "dbbfdab6-1cca-4329-a2ae-9258678ab0b1",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.339782Z",
"iopub.status.busy": "2022-08-01T04:20:12.339317Z",
"iopub.status.idle": "2022-08-01T04:20:12.367167Z",
"shell.execute_reply": "2022-08-01T04:20:12.365967Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.339751Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>mpg</th>\n",
" <th>cylinders</th>\n",
" <th>displacement</th>\n",
" <th>horsepower</th>\n",
" <th>weight</th>\n",
" <th>acceleration</th>\n",
" <th>model_year</th>\n",
" <th>origin</th>\n",
" <th>car_name</th>\n",
" <th>efficiency</th>\n",
" <th>load</th>\n",
" <th>bore_size</th>\n",
" <th>grunt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>71</th>\n",
" <td>19.0</td>\n",
" <td>3</td>\n",
" <td>70.0</td>\n",
" <td>97.0</td>\n",
" <td>2330.0</td>\n",
" <td>13.5</td>\n",
" <td>72</td>\n",
" <td>3</td>\n",
" <td>mazda rx2 coupe</td>\n",
" <td>1.385714</td>\n",
" <td>0.030043</td>\n",
" <td>23.333333</td>\n",
" <td>3136.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>111</th>\n",
" <td>18.0</td>\n",
" <td>3</td>\n",
" <td>70.0</td>\n",
" <td>90.0</td>\n",
" <td>2124.0</td>\n",
" <td>13.5</td>\n",
" <td>73</td>\n",
" <td>3</td>\n",
" <td>maxda rx3</td>\n",
" <td>1.285714</td>\n",
" <td>0.032957</td>\n",
" <td>23.333333</td>\n",
" <td>2700.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>243</th>\n",
" <td>21.5</td>\n",
" <td>3</td>\n",
" <td>80.0</td>\n",
" <td>110.0</td>\n",
" <td>2720.0</td>\n",
" <td>13.5</td>\n",
" <td>77</td>\n",
" <td>3</td>\n",
" <td>mazda rx-4</td>\n",
" <td>1.375000</td>\n",
" <td>0.029412</td>\n",
" <td>26.666667</td>\n",
" <td>4033.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>334</th>\n",
" <td>23.7</td>\n",
" <td>3</td>\n",
" <td>70.0</td>\n",
" <td>100.0</td>\n",
" <td>2420.0</td>\n",
" <td>12.5</td>\n",
" <td>80</td>\n",
" <td>3</td>\n",
" <td>mazda rx-7 gs</td>\n",
" <td>1.428571</td>\n",
" <td>0.028926</td>\n",
" <td>23.333333</td>\n",
" <td>3333.333333</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mpg cylinders displacement horsepower weight acceleration \\\n",
"71 19.0 3 70.0 97.0 2330.0 13.5 \n",
"111 18.0 3 70.0 90.0 2124.0 13.5 \n",
"243 21.5 3 80.0 110.0 2720.0 13.5 \n",
"334 23.7 3 70.0 100.0 2420.0 12.5 \n",
"\n",
" model_year origin car_name efficiency load bore_size \\\n",
"71 72 3 mazda rx2 coupe 1.385714 0.030043 23.333333 \n",
"111 73 3 maxda rx3 1.285714 0.032957 23.333333 \n",
"243 77 3 mazda rx-4 1.375000 0.029412 26.666667 \n",
"334 80 3 mazda rx-7 gs 1.428571 0.028926 23.333333 \n",
"\n",
" grunt \n",
"71 3136.333333 \n",
"111 2700.000000 \n",
"243 4033.333333 \n",
"334 3333.333333 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wankels = merged[merged.efficiency>1]\n",
"wankels"
]
},
{
"cell_type": "markdown",
"id": "d1f1bf61-6c9b-498e-a5de-6fbe6bb719d3",
"metadata": {},
"source": [
"These are the Mazda rotaries, otherwise known as [Wankel Engines](https://en.wikipedia.org/wiki/Wankel_engine)\n",
"\n",
"Efficient power for their size because they can rev to 7000rpm or so, and that's where they make peak power"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "5eda8f40-bff6-4715-ba54-b083c74b039d",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.371148Z",
"iopub.status.busy": "2022-08-01T04:20:12.370520Z",
"iopub.status.idle": "2022-08-01T04:20:12.488456Z",
"shell.execute_reply": "2022-08-01T04:20:12.488016Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.371118Z"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAELCAYAAADTK53JAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgi0lEQVR4nO3de7xmc93/8dfew6BmHNpGcu6m+ZQYx0kqiSipkEhOQ6QopHT7yR1NSiRKisgppxluyohG7twRisgxp7fzmWw7hxnhzuz9++P7vVhzufa+rr332qc17+fjsR97X+v6ru/6XN+11md913eta+22np4ezMysetpHOgAzMxsaTvBmZhXlBG9mVlFO8GZmFeUEb2ZWUU7wZmYVtdBIB7Cgi4hfAY9L+vZIxzKSIuIzwPHAUsBGwL+A84DVgP8CVgeekPS9JvVcBpwn6cyhjbh1EXEk8A9Jx5VU38PAFyVd0eC9X5G3p4jYCDhVUpSx3LrlzAWmSHqw7LpHu4i4AfiCpDtHOpZmnODr5J1nOWA5Sc8Wpt8KrAW8U9LDIxJcnRzr24F5wFzg98C+kua2OG/DJDEUcuLZCfi/wuQHJK2V/z6GFPvFufxpwFWS1unPciR9ooRwSxMRk4BppAPVsJJ0DVB6cs91TxiKeseIY4DDgc+OdCDNeIimsYeAHWsvImJNYLGRC6dPn84729rAOsC3hmOhETFuALMdLWlC4WetwnsrA3f28Xqs2h2YLenlRm9GhDtZJRuGNv0tsElEvGOIlzNo3rgaO5vU6/pZfr0bcBbw/VqBiPhkfr0q8AJwmqTp+b2fk3bsmkWB70uaHhHrAKcB7wJmAz2FOpfKy96AtG7+DOwt6fFmAUt6OiIuJyX6Wn1bAUcCywO3AvtIujsizgZWAi6JiHnA4ZKOjogLSMMjiwG35fJ35rp+BbxMSrwbA9Mj4pvA8pJey2U+Cxwq6fUYmomIRYAuYBxwW0Q8DTySl/GhiDgOWBc4hMJQVkRsDXwX+A+gE/iqpN9HxFXAOZJOzeX2AP4TWBa4AfiSpEfyez3APsCBwNLADNJZRE9+fy/gG8AKwGPALsBHgfdLer33FhE/A+ZJOqDBR/wEcHqh7EeAc0jb1teBP0TEbsBBwF7AksD/ktb7P/M8u5K2tQnAj/vRth/JbbFCfv0w8HPStr0y6YxvN0mv5Pc/lZezCnBXjuH2XuruAd4l6f6I2JLUq10ReBH4iaRjGsyzKnAK6Uy4B7ictN6ej4iDgfUlbVco/1OgTdL+EbFE/uxbAt3AGcB3JM2LiN1z291A2ldPjIgzeltWrntd0n64Wm6HbuC+wvbVa1tIeiUibgI+BoyaocBG3INv7Hpg8Yh4T+6p7kDaKYteIu0oSwKfBPaJiG0AJO1b66UCHwKeAy6OiPHALFISfxtwAfOf5rWTNtyVSQn4ZdIO2VRErEBKJvfn15OBmcABwCTSweSSiBgvaVfgUXLvX9LRuZrLSAeeZYCbgXPrFrMTcAQwkZSguoDNC+/vkj9byyS9WjjdX0vSqpI2Ba4hJdsJku6t+6zvIx1w/5PU/h8GHq6vO6+PQ4BtcxtcQ2qTok8BU0mJ4HPAx/O82wPTSet4cWCr/HnPAbaIiCVzuYVI20dvn3tNQHXTliWt/5WBLwH7A9uQDmrLkbaXE3L9qwO/AHbN73WQDjgD9TlgC+CdwBRyRyQnvNOBL+dlnAz8Nh+AmzkN+LKkicAawB97KddG6nAsB7yHdECYnt+bCWwZEYvneMblWGfk988EXiMl5HVIyfWLhbo3AB4kbbtH9LWsvB9eBPyKtB5mAp+pVdRiW9xN2mZGNffge1frxf8JuAd4ovimpKsKL2+PiJmkHXRWbWIef50F7Cfploj4MLAwcFzuJV4YEd8o1NkF/Low/xHAlU3inJV7UxNIO9Z38vQdgN9J+kOu6xjga8AHgKsa1IOkYk9zOvBcRCwh6YU8+WJJf85/vxIRZ5KS+mUR8TZScvxKH7F+MyL2Lby+WNJuTT5fI3sCp9c+G3XrpuDLwJGS7gaIiB8Ah0TEyrVePHBU7tU9HxFXks6Afk9KHkdLujGXu79WaURcDWxP6iFuATwr6aZeYlgSmFM3rZvU+3w11/dl0sHs8fx6OvBo7rlvB1wq6er83qHAvgzc8ZKezHVdwhtnfHsBJ0v6a359ZkQcAryftA/05d/A6hFxm6TnSAeoN5F0P2+0Y2dE/Ji8vUp6JCJuJh3ozgI2Bf4l6fqIeDup87JkHup6KSJ+Qjo4npzre1JS7Yz7tbychsvKn2mh3BY9wG/yhdOaVtpiDuAhmjHsbOBqUk/nrPo3I2ID4ChSj2U8sAipR157f2HgQmCGpPPy5OVId4IUn/D2SGGetwA/ISWNpfLkiRExTtK8XuLcRtIVEbExqbezNPB8XtbrdUvqjojHSMM1b5J7TEeQEtckUhIi11dL8I/VzXYOcHdETCD1tq6R9FQvcQIcU9LdQiuSzkiaWRn4aUQcW5jWRmqDWts8XXjvX6QDZW0ZD/RS75mkoZ1TaH7W8hzpjKeoszYsUojzoojoLkybR7qAvhyFdpf0UkR09bG8Zuo/73KFGHaLiP0K748vvN+XzwLfBo6KiNuBgyVdV18oIpYh3Sm1EalN2pn/YDCDdO3rLNLZYq33vjKpY/RUxOvXjNuZf3ucb9tssqxG+2Fx/lbaYiJpPxvVnOB7kXsUD5HG/PZsUGQGafjkE3lM7jhSMqz5GekoX0xoTwHLR0RbYeNaiTcSyYGkux42yGPqawO3kJJSs3j/lMfJjyH1gp4kDQ8AEBFtpKRV6+3WP0Z0J2BrYDPScMcSpB2iuOz55pH0RERcRzq93ZU0lDAcHiNd+2il3BGS6oeaBruMWcAvImIN0hDPQX3UczswGbixMK2+7R8D9iicHb0uIp4iDTHUXr+FNGxQtlpbHdHfGfNZzta5U7Mv8N+kba3ekaTPPkVSVx5CKw5BXgAcm4cbPwNsWIjtVWDp2vWeBurbtK9lNdoPiwf0VtriPbx52HbU8Rh83/YENpX0UoP3JgL/zMn9faQECbx+yr0xsJOkYq/sOtLp4/4RsVBEbAu8r67Ol0nDBW/jjVPKVh0HbJ4PDP8NfDIiPpp3vANJO8lfctl/kC5QFpf9Kmmc+S3AD1pc5lmkBLcmaVxzOJwGfCF/tvaIWD4i3t2g3EnAtyLivQARsUQeW2/FqaQhpfUioi0iVouIlSFdZCOfnQE3SHq0j3pmk7aFvpwEHFGrPyImRbqITF7OpyLiQ3ns+HCGZr89Bdg7IjbIn/etEfHJiKg/+5hPRIyPiJ3zUN6/SRdZezvbnEi6nff5iFiedA3ldZI6ScOHZwAP1YbW8lnh/5CS/+J5na+az1p709eyrssx7pv3w62Zfz/ssy3yWPx6wB8Y5Zzg+yDpAUl/6+XtrwCHR8Qc4DBSQq3ZkZQ8n4yIufnnEEn/R7rgtzupd7wD8JvCfMeR7mB5lnSh9/f9jLeTlHAPlSTS8MHPcn2fJl1Urd2HfiTw7Yh4PtLdMGeRhi2eIN01cH2Li72IPMTQy4Gw6KBCe8yNiGeblG9I0g3AF0jDWS+QxkVXblDuIuCHwHkR8SJwB2kst5VlXEAasppBOhObRbogV3Mm6aDW7KLyWaSLh33dZvtT0q13/5O3p+tJFw3JdzF9NcfxFGm7aXpXVX/l7XwvUi/3OdL49e4tzr4r8HBu471J210j3yXdEfUC8Dvm3/ZrZpDOImfUTZ9GGia5K8d3IX2Pgfe6rMJ+uCdpmGUX4FJSB6eVttiK9B2NJ/tY/qjQ5n/4YYMVEQ+Q7qIYli9NjQYRsRLp4vuykl5sUvYHwDMq6ZusVr6I+CtwkqQzWiy7p6Q7hj6ywXGCt0GJdO/7D4HJdcNRlRUR7aR7sheXtMdIx2P9l4d3RDq73Zk0TPYfTW4SGHN8kdUGLNKXilYHdl2AkvtbSdcvHiHd7WRjU5CGVSeQLq5uV7XkDu7Bm5lVli+ymplV1GgZolmE9HXxp+j9FiszM5vfONLdRDeS7wIqGi0JfirpOSFmZtZ/GwHX1k8cLQn+KYDnnnuJ7u7RfU2go2MCXV1NH7duLXJ7lsdtWa6x0J7t7W0stdRbIefQeqMlwc8D6O7uGfUJHhgTMY4lbs/yuC3LNYbas+HQti+ymplVlBO8mVlFOcGbmVWUE7yZWUU5wZuZVZQTvJlZRTnBm5lV1Gi5D97MbMAmLr4Yiy5SfjqbNKnPf2jVb6+8+hpzXny51Dr70rRFIuIY0j/VXQVYs6+H3Ef6j7i3ACdK+mZZQZqZ9WXRRRbi0wdePNJhNHXJsVszZxiX18oQzSzgw7zxX+gbiohxwMm5vJmZjbCmPXhJ1wKkznmfDib9X8MJ+cfMzEZQKYNWETEF+DiwCXDoQOvp6Bgbx4Wyx+UWdG7P8rgtR7/hXEeDTvARsTBwCvAFSfNa6On3qqtr7qh/uM+kSRPp7BzOUbRqc3uWZ0Fuy7F0YCtzHbW3t/XZMS6jB/8OYFVgdk7uSwJtEbG4pC+VUP+A+cq6mS3IBp39JD0KLF17HRHTgQmj4S4aX1k3swVZK7dJHg9sCywLXBERXZLeGxGzgcMk/W2ogzSrGp9d2nBo5S6a/YH9G0zfspfy0wcfllm1+ezShoMfVWBmVlFO8GZmFeUEb2ZWUU7wZmYV5QRvZlZRTvBmZhXlBG9mVlFO8GZmFeUEb2ZWUU7wZmYV5QRvZlZR/qfb1jI/IMtsbHGCt5b5AVlmY4uHaMzMKsoJ3sysopzgzcwqygnezKyinODNzCrKCd7MrKKc4M3MKqrpffARcQzwWWAVYE1JdzQocyjweeC1/HOIpMvLDdXMzPqjlR78LODDwCN9lLkBmCppLWAP4PyIWGzw4ZmZ2UA17cFLuhYgIvoqU+yt3w60AR3A44OMz8zMBmgoHlUwDXhAUr+Te0fHhCEIZ2wo+3ksCzq3Z3ncluUazvYsNcFHxMbA94DNBzJ/V9dcurt7SotnLG2YnZ2j/+kpbs/yuC3LtaC2Z3t7W58d49ISfERsCJwDbC1JZdVrZmYDU8ptkhExFTgf2E7SzWXUaWZmg9M0wUfE8RHxOLACcEVE3Jmnz46I9XOxE4HFgJMj4tb8s+aQRW1mZk21chfN/sD+DaZvWfh7aslxmZnZIPmbrGZmFeUEb2ZWUU7wZmYV5QRvZlZRTvBmZhXlBG9mVlFO8GZmFeUEb2ZWUU7wZmYV5QRvZlZRTvBmZhXlBG9mVlFO8GZmFeUEb2ZWUU7wZmYV5QRvZlZRTvBmZhXlBG9mVlFO8GZmFeUEb2ZWUU3/6XZEHAN8FlgFWFPSHQ3KjAOOB7YAeoCjJJ1abqhmZtYfrfTgZwEfBh7po8zOwGrAu4ANgekRscpggzMzs4FrmuAlXSvpsSbFdgBOkdQtqZN0UNi+hPjMzGyAmg7RtGgl5u/hPwqs2N9KOjomlBTO2DNp0sSRDqFS3J7lcVuWazjbs6wEX4qurrl0d/eUVt9Y2jA7O+eMdAhNuT3L47Ys14Lanu3tbX12jMu6i+ZRYOXC65WAZsM6ZmY2hMrqwV8A7BURvwE6gG1IF2bNzGyENO3BR8TxEfE4sAJwRUTcmafPjoj1c7GzgQeB+4DrgcMlPThEMZuZWQua9uAl7Q/s32D6loW/5wH7lBuamZkNhr/JamZWUU7wZmYV5QRvZlZRTvBmZhXlBG9mVlFO8GZmFeUEb2ZWUU7wZmYV5QRvZlZRTvBmZhXlBG9mVlFO8GZmFeUEb2ZWUU7wZmYV5QRvZlZRTvBmZhXlBG9mVlFO8GZmFeUEb2ZWUU7wZmYV1fSfbgNExGTgTKAD6AKmSbqvrswywBnAisB44I/A/pJeKzViMzNrSas9+JOAEyRNBk4ATm5Q5hDgbklTgDWB9YBtS4nSzMz6rWmCzz3zdYGZedJMYN2ImFRXtAeYGBHtwCKkXvwTJcZqZmb90MoQzYrAE5LmAUiaFxFP5umdhXLfA34NPAW8Ffi5pD/3J5iOjgn9KV4pkyZNHOkQKsXtWR63ZbmGsz1bGoNv0fbA7cBHgYnAZRGxnaQLW62gq2su3d09pQU0ljbMzs45Ix1CU27P8rgty7Wgtmd7e1ufHeNWxuAfA5aPiHEA+fdyeXrRfsC5krolvQBcDGwyoKjNzGzQmiZ4Sc8AtwI75kk7ArdI6qwr+hCwBUBEjAc2A+4oLVIzM+uXVu+i2RvYLyLuJfXU9waIiNkRsX4ucwCwUUT8nXRAuBc4pdRozcysZS2NwUu6B9igwfQtC38/AGxeXmhmZjYY/iarmVlFOcGbmVWUE7yZWUU5wZuZVZQTvJlZRTnBm5lVlBO8mVlFOcGbmVWUE7yZWUU5wZuZVZQTvJlZRTnBm5lVlBO8mVlFOcGbmVWUE7yZWUU5wZuZVZQTvJlZRTnBm5lVlBO8mVlFOcGbmVVUS/90OyImA2cCHUAXME3SfQ3KfQ44FGgDeoDNJP2jvHDNzKxVLSV44CTgBEnnRMQuwMnApsUCEbE+MB3YVNLTEbEE8GqZwY60Te66ks3vuKL8im/6CUv8e1759ZZt4XH84IFnRzqK5sZCe7otyzUE7fmHNTbjytU3KbXO4dZ0iCYilgHWBWbmSTOBdSNiUl3RrwPHSHoaQNILkl4pM1gzM2tdKz34FYEnJM0DkDQvIp7M0zsL5VYHHoqIq4EJwG+AIyT1tBpMR8eElgMfCVeuvsmQHNEvOXZrxpde69A45MCLRzqEpsZKe7otyzUW2hNg0qSJw7asVodoWq1rCrA5MB74PfAocFarFXR1zaW7u+XjQVPD2ZCD1dk5Z6RDaMrtWR63ZbkW1PZsb2/rs2Pcyl00jwHLR8Q4gPx7uTy96BHgQkmvSpoDXAy8b0BRm5nZoDVN8JKeAW4FdsyTdgRukdRZV3QG8LGIaIuIhYGPAreVGKuZmfVDq/fB7w3sFxH3Avvl10TE7Hz3DMB5wDPAXaQDwp3AaaVGa2ZmLWtpDF7SPcAGDaZvWfi7G/hG/jEzsxHmb7KamVWUE7yZWUU5wZuZVZQTvJlZRTnBm5lVlBO8mVlFOcGbmVWUE7yZWUU5wZuZVZQTvJlZRTnBm5lVlBO8mVlFOcGbmVWUE7yZWUU5wZuZVZQTvJlZRTnBm5lVlBO8mVlFOcGbmVWUE7yZWUW19E+3I2IycCbQAXQB0yTd10vZAG4BTpT0zbICNTOz/mm1B38ScIKkycAJwMmNCkXEuPzerFKiMzOzAWua4CNiGWBdYGaeNBNYNyImNSh+MHApcG9pEZqZ2YC0MkSzIvCEpHkAkuZFxJN5emetUERMAT4ObAIcOpBgOjomDGS2Spg0aeJIh1Apbs/yuC3LNZzt2dIYfDMRsTBwCvCFfAAYUD1dXXPp7u4pIyRgbG2YnZ1zRjqEptye5XFblmtBbc/29rY+O8atjME/Biyfx9dr4+zL5ek17wBWBWZHxMPAAcBeEfHLgYVtZmaD1bQHL+mZiLgV2BE4J/++RVJnocyjwNK11xExHZjgu2jMzEZOq3fR7A3sFxH3Avvl10TE7IhYf6iCMzOzgWtpDF7SPcAGDaZv2Uv56YMLy8zMBsvfZDUzqygneDOzinKCNzOrKCd4M7OKcoI3M6soJ3gzs4pygjczqygneDOzinKCNzOrKCd4M7OKcoI3M6soJ3gzs4pygjczqygneDOzinKCNzOrKCd4M7OKcoI3M6soJ3gzs4pygjczqygneDOzimrpn25HxGTgTKAD6AKmSbqvrsyhwOeB1/LPIZIuLzdcMzNrVas9+JOAEyRNBk4ATm5Q5gZgqqS1gD2A8yNisXLCNDOz/mqa4CNiGWBdYGaeNBNYNyImFctJulzSv/LL24E2Uo/fzMxGQCtDNCsCT0iaByBpXkQ8mad39jLPNOABSY/3J5iOjgn9KV4pkyZNHOkQKsXtWR63ZbmGsz1bGoPvj4jYGPgesHl/5+3qmkt3d09psYylDbOzc85Ih9CU27M8bstyLajt2d7e1mfHuJUx+MeA5SNiHED+vVyePp+I2BA4B9hGkgYUsZmZlaJpgpf0DHArsGOetCNwi6T5hmciYipwPrCdpJtLjtPMzPqp1SGavYEzI+Iw4DnSGDsRMRs4TNLfgBOBxYCTI6I2366S/l5uyGZm1oqWEryke4ANGkzfsvD31BLjMjOzQfI3Wc3MKsoJ3sysopzgzcwqygnezKyinODNzCrKCd7MrKKc4M3MKsoJ3sysopzgzcwqygnezKyinODNzCrKCd7MrKKc4M3MKsoJ3sysopzgzcwqygnezKyinODNzCrKCd7MrKKc4M3MKsoJ3sysolr6p9sRMRk4E+gAuoBpku6rKzMOOB7YAugBjpJ0arnhmplZq1rtwZ8EnCBpMnACcHKDMjsDqwHvAjYEpkfEKmUEaWZm/de0Bx8RywDrApvnSTOBn0fEJEmdhaI7AKdI6gY6I2IWsD3woxbiGAfQ3t7Wj9Bbs8xSi5Ve51AYis8+FNye5XFblmtBbM9CXeMavd/W09PTZwURsR5wlqT3FqbdBewi6ebCtL8De0i6Mb8+CFhB0v4txPkh4JoWypmZ2ZttBFxbP7GlMfhhcCMpwKeAeSMci5nZWDEOeAcph75JKwn+MWD5iBgnaV6+mLpcnl70KLByYUErAY+0GOSrNDj6mJlZUw/09kbTi6ySngFuBXbMk3YEbqkbfwe4ANgrItojYhKwDfDrgURrZmaD1+pdNHsD+0XEvcB++TURMTsi1s9lzgYeBO4DrgcOl/RgyfGamVmLml5kNTOzscnfZDUzqygneDOzinKCNzOrKCd4M7OKGi1fdBoyEXEVcIykS4eo/kOBzwOv5Z9DJF0+FMuqmojoASZKmjtE9Z9I+pZ0N/Bv4GBJ/zsUyxopQ71997HcAG4BTpT0zeFc9mAMd3tFxFnAlMKkKcA2kn47HMt3D76JfF9/Xw+PuAGYKmktYA/g/IgYGw/FGOMiolkH5VuSpkhaG/giad2MjQerDJMWtu9G84wjPXBw1pAENYr1t70kTZO0dt4GdwOeA4atAzgiPfjcc/s26ctQHcBewGakRw0vDGwv6e6IWJb0cLPFgUWB30k6KNfxW9K3ZQHeBnRJWiciVgfOyPXcleerLfdAUm97IeAVYB9JtzaIbzrpyZgTgFWBwyLiaGB9SS9ExK+ApyUdXNdbvx1oy5/p8Qb1fgqYnmPrBnaTdHtEbAEcSfracSfwZUn3R8TuwKckbZfnf/11/ntn4MUcaxewq6QnctmDgO3yZ30C2EvS029eG/PFV8Z6OQ14QdI3IuLtwF9JPZZbI2Jb4AfAP4HZdcs+FwhgEeB+0nONnmsQ41XAX4ANgFci4npgHUnbRsRbSAfcgyTNlvRCYdYlSI+xHnJV2r57+YgHA5fm+Sf0s3neZAFor5o9gXMlvdpLO+wLfA14nrR/fFXS0vmBjzOAt+eiV0j6epNlASPbg39e0lTg/wEXA9dKWgc4C/ivWhng05LWA9YG1s/JEElb5aPixrnc4Xmes0mnjesCPwemFpZ5lqSpeTmHkh6D3JsPA1+UtKaki3Jcp0XENGAyaYOsNw14QFKj5D4ZOBXYMff23w88lFfe2cDOkqaQVuS5fcRV9CHSkNBawJ+An+Zl7ULaIN+f22E2cGyLdQ5qvQD7AptFxDbAOcDRObkvA5wCbC3pA8D/1S33a5LWl7QmcGdefm/WAD4u6ZPAEcCEiNiPtL5nS3r94BERh0fEA6Te5vaShuuLH1XcvomIKcDHgZ+02A6tqmR71UTEeGAn4PRe3p8CfAv4QG6HJQpv7ww8kpe9ZuGzNTWSCf78/PtmoEfS7/Lrm0jJCVKP9kcRcVuevgZpxQIQEQsDvwHOkHRRRCyey5wNIOl64O+FZa4XEVdHxB3Aj4t1NTBb0rOF10eQegbHAp+X9FqxcERsDHyPNx7pUG/zXOd9ObZXJc0h9URvk3RXLncGsHZETOwjtpprJSn/fSqwaf57K1IP6OaIuBX4KrBKC/XBINeLpJeBz5GS+4uSTszzvB+4uRDvL+uWOy0ibspPJd2JvtfNjFr7Kz2eehfSzrE6cEixoKTDJK1KOps5Ou9ow6FS23chnlOAvSWV/VDAyrVXnW2ARxudIWQfycuoPQLmjMJ71wMfi4gf5VGAlq9ZjWSCfyX/nkd62BiF17Who28ASwEb5N7tLAqnWKSN7U5Jxd5Ewx5a3rEvBA6QtAbp9G+RPuKrb8QlSKeAr5JOI4t1b0hKaNsUEli93sbt2nqLmXTRtriOFu2lXH09bcD3lcf+JK0h6YN9zFtUxnpZnTR0tGxhnLzXccuI2AjYB9gi91C+Td+ftX7dvJM05LUU8JZGM0j6I+nUfs0+6i3TmN++I6IjIm7NP+eTnlq4KjA7Ih4GDiA9f6r+YD0QVWyvoj3opfee9ZoHJF1HOvjcBOwKXNlHPfMZ7RdZlwSekvRKRCwPbF17I4+LLUXayACQ9CJwB6kHSES8jzd26EVJG0rtKZhf6WcsZ5B6ybsBM2s97IiYSup9bKfC8/EbuBzYMiLeledbJNdxHanH/u5cbjfSw9zmkJ4SNyWXHU/qhRZ9sFYfsDtvrPjfAl+JiKUKy1qrn5+3L0vS+3p5J3Ac6VT5fuD7+a3rgHUK8X6xrr4XgK6IWIS0M7Qkf8ZzSWOp55HPDCKirdCmRHpm0jKk5yWNFksyirdvSV2FTsIOkh6VtLSkVSStQlrPp0j6Uj+XNVBLMobaqxDbCqTHoc/oo76rSPlh6fx6t8L87ySdDZ9HOsitFxEt5e7RnuCPJyWxW4BfAMVb3L4DvJs8DFE4Yk4jPRjtZtLFmuvh9ZV9GHBjRFwNvNRqEBFxALAY8EOl2+wu4I0hhhPzeycXjt5v6iXmoZm9SHdy3EZKeKvkU7JdgRkRcTtpuGGXPM91wBWkjfRS4O66av8EfDfXtynpAg2SziYlvT/lOm8CWu3Bt6LheskHofNJtyPeR9pptoqITyg9lfRLwCUR8RfS2UnNZaSD2T35774OlPVOB06XdC1pbHLZiNib1CP6ZUTckYepfgZ8Tg0u3I6gsbB9jyZjtb12Ay6R9M/eCki6DTgauC4iriF1eGo3CXwEuCVvx5eRhsi6W4nVDxsbo6LuDhszG9vyWcCc/Pd0YDVJuwymzsp/0cnMbIw4KiI+CIwnDSUOeujLPXgzs4oa7WPwZmY2QE7wZmYV5QRvZlZRTvBmZhXlBG9mVlFO8GZmFfX/AcIEQ4XQ/ZIFAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"wankels.efficiency.plot(kind='bar')\n",
"plt.xticks(np.arange(4),wankels.car_name)\n",
"pd.Series([merged['efficiency'].mean() for i in range(len(wankels))]).plot(kind='line',color='red')\n",
"plt.title('Mazda Rotary Efficiency (red line is average)');"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "1476617f-8097-4294-8c42-fb86ff96c1d0",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.489303Z",
"iopub.status.busy": "2022-08-01T04:20:12.489077Z",
"iopub.status.idle": "2022-08-01T04:20:12.574526Z",
"shell.execute_reply": "2022-08-01T04:20:12.574107Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.489288Z"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"wankels.mpg.plot(kind='bar')\n",
"plt.xticks(np.arange(4),wankels.car_name)\n",
"pd.Series([merged['mpg'].mean() for i in range(len(wankels))]).plot(kind='line',color='red')\n",
"plt.title('Mazda Rotary MPG (red line is average)');"
]
},
{
"cell_type": "markdown",
"id": "4f793604-5c51-44b7-9cb6-301151304400",
"metadata": {},
"source": [
"## Diesels"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "c7aece22-1e78-4a48-b969-f1207ba09aad",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.575478Z",
"iopub.status.busy": "2022-08-01T04:20:12.575129Z",
"iopub.status.idle": "2022-08-01T04:20:12.588438Z",
"shell.execute_reply": "2022-08-01T04:20:12.587822Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.575463Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>mpg</th>\n",
" <th>cylinders</th>\n",
" <th>displacement</th>\n",
" <th>horsepower</th>\n",
" <th>weight</th>\n",
" <th>acceleration</th>\n",
" <th>model_year</th>\n",
" <th>origin</th>\n",
" <th>car_name</th>\n",
" <th>efficiency</th>\n",
" <th>load</th>\n",
" <th>bore_size</th>\n",
" <th>grunt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>244</th>\n",
" <td>43.1</td>\n",
" <td>4</td>\n",
" <td>90.0</td>\n",
" <td>48.0</td>\n",
" <td>1985.0</td>\n",
" <td>21.5</td>\n",
" <td>78</td>\n",
" <td>2</td>\n",
" <td>volkswagen rabbit custom diesel</td>\n",
" <td>0.533333</td>\n",
" <td>0.045340</td>\n",
" <td>22.500000</td>\n",
" <td>576.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>325</th>\n",
" <td>44.3</td>\n",
" <td>4</td>\n",
" <td>90.0</td>\n",
" <td>48.0</td>\n",
" <td>2085.0</td>\n",
" <td>21.7</td>\n",
" <td>80</td>\n",
" <td>2</td>\n",
" <td>vw rabbit c (diesel)</td>\n",
" <td>0.533333</td>\n",
" <td>0.043165</td>\n",
" <td>22.500000</td>\n",
" <td>576.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>326</th>\n",
" <td>43.4</td>\n",
" <td>4</td>\n",
" <td>90.0</td>\n",
" <td>48.0</td>\n",
" <td>2335.0</td>\n",
" <td>23.7</td>\n",
" <td>80</td>\n",
" <td>2</td>\n",
" <td>vw dasher (diesel)</td>\n",
" <td>0.533333</td>\n",
" <td>0.038544</td>\n",
" <td>22.500000</td>\n",
" <td>576.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>327</th>\n",
" <td>36.4</td>\n",
" <td>5</td>\n",
" <td>121.0</td>\n",
" <td>67.0</td>\n",
" <td>2950.0</td>\n",
" <td>19.9</td>\n",
" <td>80</td>\n",
" <td>2</td>\n",
" <td>audi 5000s (diesel)</td>\n",
" <td>0.553719</td>\n",
" <td>0.041017</td>\n",
" <td>24.200000</td>\n",
" <td>897.800000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>358</th>\n",
" <td>28.1</td>\n",
" <td>4</td>\n",
" <td>141.0</td>\n",
" <td>80.0</td>\n",
" <td>3230.0</td>\n",
" <td>20.4</td>\n",
" <td>81</td>\n",
" <td>2</td>\n",
" <td>peugeot 505s turbo diesel</td>\n",
" <td>0.567376</td>\n",
" <td>0.043653</td>\n",
" <td>35.250000</td>\n",
" <td>1600.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>359</th>\n",
" <td>30.7</td>\n",
" <td>6</td>\n",
" <td>145.0</td>\n",
" <td>76.0</td>\n",
" <td>3160.0</td>\n",
" <td>19.6</td>\n",
" <td>81</td>\n",
" <td>2</td>\n",
" <td>volvo diesel</td>\n",
" <td>0.524138</td>\n",
" <td>0.045886</td>\n",
" <td>24.166667</td>\n",
" <td>962.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>386</th>\n",
" <td>38.0</td>\n",
" <td>6</td>\n",
" <td>262.0</td>\n",
" <td>85.0</td>\n",
" <td>3015.0</td>\n",
" <td>17.0</td>\n",
" <td>82</td>\n",
" <td>1</td>\n",
" <td>oldsmobile cutlass ciera (diesel)</td>\n",
" <td>0.324427</td>\n",
" <td>0.086899</td>\n",
" <td>43.666667</td>\n",
" <td>1204.166667</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mpg cylinders displacement horsepower weight acceleration \\\n",
"244 43.1 4 90.0 48.0 1985.0 21.5 \n",
"325 44.3 4 90.0 48.0 2085.0 21.7 \n",
"326 43.4 4 90.0 48.0 2335.0 23.7 \n",
"327 36.4 5 121.0 67.0 2950.0 19.9 \n",
"358 28.1 4 141.0 80.0 3230.0 20.4 \n",
"359 30.7 6 145.0 76.0 3160.0 19.6 \n",
"386 38.0 6 262.0 85.0 3015.0 17.0 \n",
"\n",
" model_year origin car_name efficiency \\\n",
"244 78 2 volkswagen rabbit custom diesel 0.533333 \n",
"325 80 2 vw rabbit c (diesel) 0.533333 \n",
"326 80 2 vw dasher (diesel) 0.533333 \n",
"327 80 2 audi 5000s (diesel) 0.553719 \n",
"358 81 2 peugeot 505s turbo diesel 0.567376 \n",
"359 81 2 volvo diesel 0.524138 \n",
"386 82 1 oldsmobile cutlass ciera (diesel) 0.324427 \n",
"\n",
" load bore_size grunt \n",
"244 0.045340 22.500000 576.000000 \n",
"325 0.043165 22.500000 576.000000 \n",
"326 0.038544 22.500000 576.000000 \n",
"327 0.041017 24.200000 897.800000 \n",
"358 0.043653 35.250000 1600.000000 \n",
"359 0.045886 24.166667 962.666667 \n",
"386 0.086899 43.666667 1204.166667 "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"diesels = merged[merged.car_name.str.contains('diesel')]\n",
"diesels"
]
},
{
"cell_type": "markdown",
"id": "79979a1e-de58-4610-8878-6f374f500d1c",
"metadata": {},
"source": [
"All of the diesels get higher than average MPG"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "92f0bf1a-af7b-4a26-b422-8ca01fdfde1b",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.590154Z",
"iopub.status.busy": "2022-08-01T04:20:12.589539Z",
"iopub.status.idle": "2022-08-01T04:20:12.714518Z",
"shell.execute_reply": "2022-08-01T04:20:12.713877Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.590124Z"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png": "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husfxQWl6f4Z/cIsAJ4cpq9B3j+LnkypREREROOScERERETjknBERERE45JwREREROOScERERETjknBERERE45JwREREROOScERERETjknBERERE45JwREREROOScERERETjknBERERE45JwREREROOScERERETj8vP0EX0YM2bZwQ5hSBs7dtRghzCkNdo/i49svo1+ePa5mUyf9sygxhDDQxKOiD7sddiFPPpE/pjG0DPpzscAOPiAswY1jnOO2YHpgxpBDBeZUomIiIjGJeGIiIiIxmVKpSGS3g88ZPuaDuWTga2Bx+qu/7N9eC17BXASsBEwEzjQ9m/mdl4/45oILGH7wnl7RnPEfZ3t4+bn/A517gFsZ3tHSdsDm9n+4kDV39LOFODonr6MiIgFJwlHc94PXAe0TTiqIzpcuA8EptteU9JawBWS1rQ9Yy7n9cdEYFlgnhMOSSPns81+s302cHbT7URExII1LBMOSd3A14F3AWOAg22fWcs2AY4AlquHf8X2ufWT/dG231yP6719OPAh4HFgCrBVS9nuwL6U/noS+JRt1wvwkcC7a1sXAP9JGYHYHtha0seBb9s+ZR6e4oeA3QFs/1XSdcB7gP+bS798FfgI8CzQDWxp+58t5esCnwRGSNoaOB24ulO/1MfHAlcAE4DDalXrSboIeC1wOfBp289LWgn4IfA6oAs4qt3zlrQE8D1K8vMgcEdL2R7U0Y663anv3wYcR5kWXBw4zPbPJC0HfBt4E7AUcCmwv+1ZffVdREQ0aziv4Zht+22UC/sJkl4laXnKBW9n2xsB2wHH1/0dSXpfPXY94K3AWi1lmwE7AZvXOo8CflKL9wbWBzas/20A7G37t5RP6UfYXr+PZGN/SbdK+rWktVv2rwbc27J9H+Xi3vE8SStQRkY2sL0+sDkwo+UcbN9a++eUGtcRffVLtS5wmu23tExFbEIZwXkjsHrtB4DvArfZfhMlGTxS0jpt6twHGA+sQ+n3jds1PJe+/0/gO/W5rgOcX/d/G7jM9saU1+ZVwJ79eJ4REdGgYTnCUZ0IUD/t3gC8hbLeYTxwvqSe47qBNedS15bAGbafApB0MnBoLXsfJRH5Y62zC1ihlm0NTLb9fD3vJODfgf/pR/yHAA/bni1pN+ACSWv045N42/OAaYCBn0q6APiN7YG4W+2vtq/qte/nPdM7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fsskjQLG2r7M9leB2yhTQL3dSlnD0uNSYNu6DgNgrw5P5w/AWpL+tYhU0gRJXZLGA9Nsnw7sD2wkaQRwNrBvne6h9u16HepfG7i5Q1lERDQsIxwD63zgo5RFnw8A11HXY9i+StJFlAv13cCfgdfU804A3kRZ8/EAZdpgfD/aO1nSSsBsypTH9rZn1rKjgMmS/kZJRPZumQKZ5zJJqwJn1oRoBHAD8Ms2MV0JjJc02vaTtm+RNAn4vaRHgHPbPZG6sHZ74ChJx1KmpO6i3CkzEThAUs8o0SdtzwZOlbQicFmdUhkB/ID2icU2wJl99GVERDSoq7u7e7BjiIWMpC8Dz9r+zmDHAiBpDHAJMMH28/08bRxwd77aPIaqSWeUG64O3unwuRwZA+mcY3bIlEoHLVMq44F7XlK+oAOKRcK3GVrrJdYAPjUPyUZERAywTKnEgLP9HOUW1yHB9rWDHUNExKIuUyoR7Y2jrLWJGJomTiz/TpkymFEschbEz9MvrFMqGeGI6MPjj89g9uwk5e0M1z+KC0rT/TP6hfJ1O08O09cg759FT9ZwREREROOScERERETjknBERERE45JwREREROOScERERETjknBERERE45JwREREROOScERERETjknBERERE45JwREREROOScERERETjknBERERE45JwREREROOScERERETj8vP0EX0YM2bZwQ5hSBs7dtRghzCkNdo/i49svo2GDefYm9Z03zz73EymT3um0TZ6S8IR0Ye9DruQR59YsP9TRvTHpDsfA+DgA84a5EhiODrnmB2YvoDbzJRKRERENC4JR0RERDQuCccwJqlb0nwtMpD0NUlHD3RMte71JbUd55U0TtJj9fHKki5tKIZ/PT9J20o6vol2IiKif5JwxHyT1GkN0DeBI+Z2vu2HbG85sFG1bec84M2SXtd0WxER0V4WjTZI0qHAK23vV7fHAH8BVqv/bmD7UUnnAd223yvpVcCNtldpU98HgEnAP4DzepX9LyBgSeBvwJ62n5AkYDLwCmAkMNl2z8jGKrXtNYA7gf+w/bSkJYDDgS2AJYBbgU/ZniFpMjAdWAsYC2zUK47VANm+qmXfp4H9gIeBKS37xwHX2V6xbm9CSVSWq4d8xfa5tU9OA1aq+y9q6dMvATtS3ssPAp+w/UjvvgPOAPYEDmlTFhERDcsIR7NOBj7c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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"diesels.mpg.plot(kind='barh')\n",
"plt.yticks(np.arange(len(diesels)),diesels.car_name)\n",
"plt.axvline(merged.mpg.mean(),color='red')\n",
"plt.title('Diesel MPG (red line is average)');"
]
},
{
"cell_type": "markdown",
"id": "df9d8d17-46ec-4ce8-950e-aa1a24d98d7f",
"metadata": {},
"source": [
"# Interesting"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "0fb1ed64-bba6-463c-9a0f-84af360515b5",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.715450Z",
"iopub.status.busy": "2022-08-01T04:20:12.715284Z",
"iopub.status.idle": "2022-08-01T04:20:12.726019Z",
"shell.execute_reply": "2022-08-01T04:20:12.725441Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.715435Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>mpg</th>\n",
" <th>cylinders</th>\n",
" <th>displacement</th>\n",
" <th>horsepower</th>\n",
" <th>weight</th>\n",
" <th>acceleration</th>\n",
" <th>model_year</th>\n",
" <th>origin</th>\n",
" <th>car_name</th>\n",
" <th>efficiency</th>\n",
" <th>load</th>\n",
" <th>bore_size</th>\n",
" <th>grunt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>386</th>\n",
" <td>38.0</td>\n",
" <td>6</td>\n",
" <td>262.0</td>\n",
" <td>85.0</td>\n",
" <td>3015.0</td>\n",
" <td>17.0</td>\n",
" <td>82</td>\n",
" <td>1</td>\n",
" <td>oldsmobile cutlass ciera (diesel)</td>\n",
" <td>0.324427</td>\n",
" <td>0.086899</td>\n",
" <td>43.666667</td>\n",
" <td>1204.166667</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mpg cylinders displacement horsepower weight acceleration \\\n",
"386 38.0 6 262.0 85.0 3015.0 17.0 \n",
"\n",
" model_year origin car_name efficiency \\\n",
"386 82 1 oldsmobile cutlass ciera (diesel) 0.324427 \n",
"\n",
" load bore_size grunt \n",
"386 0.086899 43.666667 1204.166667 "
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"merged.iloc[np.where((merged.mpg>35) & (merged.displacement > 250))]"
]
},
{
"cell_type": "markdown",
"id": "1e1ec508-df30-42c6-a63f-aea36c12d2e8",
"metadata": {},
"source": [
"This is an interesting engine. In fact, [these cars are rumored to be the reason why diesel cars are so unpopular in North America](https://www.autotrader.com/car-news/when-diesel-was-dreadful-oldsmobile-diesels-259997). [Here is a more technical write-up](https://www.dieselworldmag.com/diesel-engines/oldsmobile-350-v8)"
]
},
{
"cell_type": "markdown",
"id": "b9858dee-1de0-46ab-b46d-baa4cafc0efc",
"metadata": {},
"source": [
"<hr>"
]
},
{
"cell_type": "markdown",
"id": "d8625227-6fca-4e92-ba0c-271bbea53c23",
"metadata": {},
"source": [
"Big lazy engines in big heavy cars don't have to have poor MPG!"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "c0c4f183-ef44-42ee-b64c-a75c63450d7b",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.727961Z",
"iopub.status.busy": "2022-08-01T04:20:12.727510Z",
"iopub.status.idle": "2022-08-01T04:20:12.755277Z",
"shell.execute_reply": "2022-08-01T04:20:12.754339Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.727919Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>mpg</th>\n",
" <th>cylinders</th>\n",
" <th>displacement</th>\n",
" <th>horsepower</th>\n",
" <th>weight</th>\n",
" <th>acceleration</th>\n",
" <th>model_year</th>\n",
" <th>origin</th>\n",
" <th>car_name</th>\n",
" <th>efficiency</th>\n",
" <th>load</th>\n",
" <th>bore_size</th>\n",
" <th>grunt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>298</th>\n",
" <td>23.0</td>\n",
" <td>8</td>\n",
" <td>350.0</td>\n",
" <td>125.0</td>\n",
" <td>3900.0</td>\n",
" <td>17.4</td>\n",
" <td>79</td>\n",
" <td>1</td>\n",
" <td>cadillac eldorado</td>\n",
" <td>0.357143</td>\n",
" <td>0.089744</td>\n",
" <td>43.75</td>\n",
" <td>1953.125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>363</th>\n",
" <td>26.6</td>\n",
" <td>8</td>\n",
" <td>350.0</td>\n",
" <td>105.0</td>\n",
" <td>3725.0</td>\n",
" <td>19.0</td>\n",
" <td>81</td>\n",
" <td>1</td>\n",
" <td>oldsmobile cutlass ls</td>\n",
" <td>0.300000</td>\n",
" <td>0.093960</td>\n",
" <td>43.75</td>\n",
" <td>1378.125</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mpg cylinders displacement horsepower weight acceleration \\\n",
"298 23.0 8 350.0 125.0 3900.0 17.4 \n",
"363 26.6 8 350.0 105.0 3725.0 19.0 \n",
"\n",
" model_year origin car_name efficiency load \\\n",
"298 79 1 cadillac eldorado 0.357143 0.089744 \n",
"363 81 1 oldsmobile cutlass ls 0.300000 0.093960 \n",
"\n",
" bore_size grunt \n",
"298 43.75 1953.125 \n",
"363 43.75 1378.125 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"merged.iloc[np.where((merged.mpg>20) & (merged.displacement > 340))]"
]
},
{
"cell_type": "markdown",
"id": "2ccec1cb-db88-430c-a118-351da41a23c1",
"metadata": {},
"source": [
"But some still do"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "8f51f87e-fb76-4c8a-b4bc-05f147fc8efa",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.756201Z",
"iopub.status.busy": "2022-08-01T04:20:12.756022Z",
"iopub.status.idle": "2022-08-01T04:20:12.770660Z",
"shell.execute_reply": "2022-08-01T04:20:12.769833Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.756186Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>mpg</th>\n",
" <th>cylinders</th>\n",
" <th>displacement</th>\n",
" <th>horsepower</th>\n",
" <th>weight</th>\n",
" <th>acceleration</th>\n",
" <th>model_year</th>\n",
" <th>origin</th>\n",
" <th>car_name</th>\n",
" <th>efficiency</th>\n",
" <th>load</th>\n",
" <th>bore_size</th>\n",
" <th>grunt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>14.0</td>\n",
" <td>8</td>\n",
" <td>455.0</td>\n",
" <td>225.0</td>\n",
" <td>3086.0</td>\n",
" <td>10.0</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>buick estate wagon (sw)</td>\n",
" <td>0.494505</td>\n",
" <td>0.14744</td>\n",
" <td>56.875</td>\n",
" <td>6328.125</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mpg cylinders displacement horsepower weight acceleration \\\n",
"13 14.0 8 455.0 225.0 3086.0 10.0 \n",
"\n",
" model_year origin car_name efficiency load \\\n",
"13 70 1 buick estate wagon (sw) 0.494505 0.14744 \n",
"\n",
" bore_size grunt \n",
"13 56.875 6328.125 "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"merged[merged.load>0.14]"
]
},
{
"cell_type": "markdown",
"id": "4415be3a-f8fb-47f1-b39d-2c60a3495a1d",
"metadata": {},
"source": [
"Big car, big engine, terrible MPG.. That weight is way off"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "7d556866-da6d-48dd-b37a-e59c3155085d",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.772414Z",
"iopub.status.busy": "2022-08-01T04:20:12.771774Z",
"iopub.status.idle": "2022-08-01T04:20:12.776947Z",
"shell.execute_reply": "2022-08-01T04:20:12.776094Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.772385Z"
},
"tags": []
},
"outputs": [],
"source": [
"merged.at[13,'weight'] = 5000\n",
"merged['load'] = merged.displacement / merged.weight"
]
},
{
"cell_type": "markdown",
"id": "146d6761-455a-407f-b627-24c13586a88f",
"metadata": {},
"source": [
"## What vehicles have the Highest MPG?"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "558d450a-2649-4005-bbe8-5f8cc509f965",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.778488Z",
"iopub.status.busy": "2022-08-01T04:20:12.778076Z",
"iopub.status.idle": "2022-08-01T04:20:12.930503Z",
"shell.execute_reply": "2022-08-01T04:20:12.929878Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.778459Z"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"top_mpg = merged.sort_values('mpg').tail(10)\n",
"\n",
"fig, ax = plt.subplots(figsize = (6,5))\n",
"ax.barh(top_mpg.car_name,top_mpg.mpg)\n",
"for i in ax.patches:\n",
" plt.text(i.get_width()+0.2, i.get_y()+0.5,\n",
" str(round((i.get_width()), 2)),\n",
" fontsize = 10, fontweight ='bold',\n",
" color ='grey')\n",
"ax.set_title('Top 10 MPG (red line is average)')\n",
"plt.axvline(merged.mpg.mean(),color='red')\n",
"plt.show();"
]
},
{
"cell_type": "markdown",
"id": "260484cb-5145-4c0f-8952-8f6ba652c8a5",
"metadata": {},
"source": [
"In more detail:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "38935e91-3877-47a3-96d6-cd54e2704bdb",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.931405Z",
"iopub.status.busy": "2022-08-01T04:20:12.931238Z",
"iopub.status.idle": "2022-08-01T04:20:12.947214Z",
"shell.execute_reply": "2022-08-01T04:20:12.946618Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.931389Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>mpg</th>\n",
" <th>cylinders</th>\n",
" <th>displacement</th>\n",
" <th>horsepower</th>\n",
" <th>weight</th>\n",
" <th>acceleration</th>\n",
" <th>model_year</th>\n",
" <th>origin</th>\n",
" <th>car_name</th>\n",
" <th>efficiency</th>\n",
" <th>load</th>\n",
" <th>bore_size</th>\n",
" <th>grunt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>322</th>\n",
" <td>46.6</td>\n",
" <td>4</td>\n",
" <td>86.0</td>\n",
" <td>65.0</td>\n",
" <td>2110.0</td>\n",
" <td>17.9</td>\n",
" <td>80</td>\n",
" <td>3</td>\n",
" <td>mazda glc</td>\n",
" <td>0.755814</td>\n",
" <td>0.040758</td>\n",
" <td>21.50</td>\n",
" <td>1056.2500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>329</th>\n",
" <td>44.6</td>\n",
" <td>4</td>\n",
" <td>91.0</td>\n",
" <td>67.0</td>\n",
" <td>1850.0</td>\n",
" <td>13.8</td>\n",
" <td>80</td>\n",
" <td>3</td>\n",
" <td>honda civic 1500 gl</td>\n",
" <td>0.736264</td>\n",
" <td>0.049189</td>\n",
" <td>22.75</td>\n",
" <td>1122.2500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>325</th>\n",
" <td>44.3</td>\n",
" <td>4</td>\n",
" <td>90.0</td>\n",
" <td>48.0</td>\n",
" <td>2085.0</td>\n",
" <td>21.7</td>\n",
" <td>80</td>\n",
" <td>2</td>\n",
" <td>vw rabbit c (diesel)</td>\n",
" <td>0.533333</td>\n",
" <td>0.043165</td>\n",
" <td>22.50</td>\n",
" <td>576.0000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>393</th>\n",
" <td>44.0</td>\n",
" <td>4</td>\n",
" <td>97.0</td>\n",
" <td>52.0</td>\n",
" <td>2130.0</td>\n",
" <td>24.6</td>\n",
" <td>82</td>\n",
" <td>2</td>\n",
" <td>vw pickup</td>\n",
" <td>0.536082</td>\n",
" <td>0.045540</td>\n",
" <td>24.25</td>\n",
" <td>676.0000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>326</th>\n",
" <td>43.4</td>\n",
" <td>4</td>\n",
" <td>90.0</td>\n",
" <td>48.0</td>\n",
" <td>2335.0</td>\n",
" <td>23.7</td>\n",
" <td>80</td>\n",
" <td>2</td>\n",
" <td>vw dasher (diesel)</td>\n",
" <td>0.533333</td>\n",
" <td>0.038544</td>\n",
" <td>22.50</td>\n",
" <td>576.0000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>244</th>\n",
" <td>43.1</td>\n",
" <td>4</td>\n",
" <td>90.0</td>\n",
" <td>48.0</td>\n",
" <td>1985.0</td>\n",
" <td>21.5</td>\n",
" <td>78</td>\n",
" <td>2</td>\n",
" <td>volkswagen rabbit custom diesel</td>\n",
" <td>0.533333</td>\n",
" <td>0.045340</td>\n",
" <td>22.50</td>\n",
" <td>576.0000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>309</th>\n",
" <td>41.5</td>\n",
" <td>4</td>\n",
" <td>98.0</td>\n",
" <td>76.0</td>\n",
" <td>2144.0</td>\n",
" <td>14.7</td>\n",
" <td>80</td>\n",
" <td>2</td>\n",
" <td>vw rabbit</td>\n",
" <td>0.775510</td>\n",
" <td>0.045709</td>\n",
" <td>24.50</td>\n",
" <td>1444.0000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>330</th>\n",
" <td>40.9</td>\n",
" <td>4</td>\n",
" <td>85.0</td>\n",
" <td>53.5</td>\n",
" <td>1835.0</td>\n",
" <td>17.3</td>\n",
" <td>80</td>\n",
" <td>2</td>\n",
" <td>renault lecar deluxe</td>\n",
" <td>0.629412</td>\n",
" <td>0.046322</td>\n",
" <td>21.25</td>\n",
" <td>715.5625</td>\n",
" </tr>\n",
" <tr>\n",
" <th>324</th>\n",
" <td>40.8</td>\n",
" <td>4</td>\n",
" <td>85.0</td>\n",
" <td>65.0</td>\n",
" <td>2110.0</td>\n",
" <td>19.2</td>\n",
" <td>80</td>\n",
" <td>3</td>\n",
" <td>datsun 210</td>\n",
" <td>0.764706</td>\n",
" <td>0.040284</td>\n",
" <td>21.25</td>\n",
" <td>1056.2500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>247</th>\n",
" <td>39.4</td>\n",
" <td>4</td>\n",
" <td>85.0</td>\n",
" <td>70.0</td>\n",
" <td>2070.0</td>\n",
" <td>18.6</td>\n",
" <td>78</td>\n",
" <td>3</td>\n",
" <td>datsun b210 gx</td>\n",
" <td>0.823529</td>\n",
" <td>0.041063</td>\n",
" <td>21.25</td>\n",
" <td>1225.0000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mpg cylinders displacement horsepower weight acceleration \\\n",
"322 46.6 4 86.0 65.0 2110.0 17.9 \n",
"329 44.6 4 91.0 67.0 1850.0 13.8 \n",
"325 44.3 4 90.0 48.0 2085.0 21.7 \n",
"393 44.0 4 97.0 52.0 2130.0 24.6 \n",
"326 43.4 4 90.0 48.0 2335.0 23.7 \n",
"244 43.1 4 90.0 48.0 1985.0 21.5 \n",
"309 41.5 4 98.0 76.0 2144.0 14.7 \n",
"330 40.9 4 85.0 53.5 1835.0 17.3 \n",
"324 40.8 4 85.0 65.0 2110.0 19.2 \n",
"247 39.4 4 85.0 70.0 2070.0 18.6 \n",
"\n",
" model_year origin car_name efficiency \\\n",
"322 80 3 mazda glc 0.755814 \n",
"329 80 3 honda civic 1500 gl 0.736264 \n",
"325 80 2 vw rabbit c (diesel) 0.533333 \n",
"393 82 2 vw pickup 0.536082 \n",
"326 80 2 vw dasher (diesel) 0.533333 \n",
"244 78 2 volkswagen rabbit custom diesel 0.533333 \n",
"309 80 2 vw rabbit 0.775510 \n",
"330 80 2 renault lecar deluxe 0.629412 \n",
"324 80 3 datsun 210 0.764706 \n",
"247 78 3 datsun b210 gx 0.823529 \n",
"\n",
" load bore_size grunt \n",
"322 0.040758 21.50 1056.2500 \n",
"329 0.049189 22.75 1122.2500 \n",
"325 0.043165 22.50 576.0000 \n",
"393 0.045540 24.25 676.0000 \n",
"326 0.038544 22.50 576.0000 \n",
"244 0.045340 22.50 576.0000 \n",
"309 0.045709 24.50 1444.0000 \n",
"330 0.046322 21.25 715.5625 \n",
"324 0.040284 21.25 1056.2500 \n",
"247 0.041063 21.25 1225.0000 "
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"merged.sort_values('mpg',ascending=False).head(10)"
]
},
{
"cell_type": "markdown",
"id": "15d5a2c5-cb01-4a54-8ce4-375018ebc79a",
"metadata": {},
"source": [
"## What vehicles have the lowest MPG?"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "65588fe3-762f-42b0-9427-feb64275b792",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:12.948105Z",
"iopub.status.busy": "2022-08-01T04:20:12.947948Z",
"iopub.status.idle": "2022-08-01T04:20:13.102377Z",
"shell.execute_reply": "2022-08-01T04:20:13.101717Z",
"shell.execute_reply.started": "2022-08-01T04:20:12.948090Z"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"low_mpg = merged.sort_values('mpg', ascending=False).tail(10)\n",
"\n",
"fig, ax = plt.subplots(figsize = (6,5))\n",
"ax.barh(low_mpg.car_name,low_mpg.mpg)\n",
"for i in ax.patches:\n",
" plt.text(i.get_width()+0.2, i.get_y()+0.5,\n",
" str(round((i.get_width()), 2)),\n",
" fontsize = 10, fontweight ='bold',\n",
" color ='grey')\n",
"ax.set_title('Bottom 10 MPG (red line is average)')\n",
"plt.axvline(merged.mpg.mean(),color='red')\n",
"plt.show();"
]
},
{
"cell_type": "markdown",
"id": "3d1c5be8-b63f-496e-a2cd-475a47e7a542",
"metadata": {},
"source": [
"In more detail:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "1497a48c-42a3-447e-b1fb-e3a5b78902da",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:13.103850Z",
"iopub.status.busy": "2022-08-01T04:20:13.103446Z",
"iopub.status.idle": "2022-08-01T04:20:13.131408Z",
"shell.execute_reply": "2022-08-01T04:20:13.130488Z",
"shell.execute_reply.started": "2022-08-01T04:20:13.103820Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>mpg</th>\n",
" <th>cylinders</th>\n",
" <th>displacement</th>\n",
" <th>horsepower</th>\n",
" <th>weight</th>\n",
" <th>acceleration</th>\n",
" <th>model_year</th>\n",
" <th>origin</th>\n",
" <th>car_name</th>\n",
" <th>efficiency</th>\n",
" <th>load</th>\n",
" <th>bore_size</th>\n",
" <th>grunt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>9.0</td>\n",
" <td>8</td>\n",
" <td>304.0</td>\n",
" <td>193.0</td>\n",
" <td>4732.0</td>\n",
" <td>18.5</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>hi 1200d</td>\n",
" <td>0.634868</td>\n",
" <td>0.064243</td>\n",
" <td>38.000</td>\n",
" <td>4656.125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>10.0</td>\n",
" <td>8</td>\n",
" <td>307.0</td>\n",
" <td>200.0</td>\n",
" <td>4376.0</td>\n",
" <td>15.0</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>chevy c20</td>\n",
" <td>0.651466</td>\n",
" <td>0.070155</td>\n",
" <td>38.375</td>\n",
" <td>5000.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>10.0</td>\n",
" <td>8</td>\n",
" <td>360.0</td>\n",
" <td>215.0</td>\n",
" <td>4615.0</td>\n",
" <td>14.0</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>ford f250</td>\n",
" <td>0.597222</td>\n",
" <td>0.078007</td>\n",
" <td>45.000</td>\n",
" <td>5778.125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>11.0</td>\n",
" <td>8</td>\n",
" <td>318.0</td>\n",
" <td>210.0</td>\n",
" <td>4382.0</td>\n",
" <td>13.5</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>dodge d200</td>\n",
" <td>0.660377</td>\n",
" <td>0.072570</td>\n",
" <td>39.750</td>\n",
" <td>5512.500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>103</th>\n",
" <td>11.0</td>\n",
" <td>8</td>\n",
" <td>400.0</td>\n",
" <td>150.0</td>\n",
" <td>4997.0</td>\n",
" <td>14.0</td>\n",
" <td>73</td>\n",
" <td>1</td>\n",
" <td>chevrolet impala</td>\n",
" <td>0.375000</td>\n",
" <td>0.080048</td>\n",
" <td>50.000</td>\n",
" <td>2812.500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67</th>\n",
" <td>11.0</td>\n",
" <td>8</td>\n",
" <td>429.0</td>\n",
" <td>208.0</td>\n",
" <td>4633.0</td>\n",
" <td>11.0</td>\n",
" <td>72</td>\n",
" <td>1</td>\n",
" <td>mercury marquis</td>\n",
" <td>0.484848</td>\n",
" <td>0.092597</td>\n",
" <td>53.625</td>\n",
" <td>5408.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>124</th>\n",
" <td>11.0</td>\n",
" <td>8</td>\n",
" <td>350.0</td>\n",
" <td>180.0</td>\n",
" <td>3664.0</td>\n",
" <td>11.0</td>\n",
" <td>73</td>\n",
" <td>1</td>\n",
" <td>oldsmobile omega</td>\n",
" <td>0.514286</td>\n",
" <td>0.095524</td>\n",
" <td>43.750</td>\n",
" <td>4050.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>12.0</td>\n",
" <td>8</td>\n",
" <td>383.0</td>\n",
" <td>180.0</td>\n",
" <td>4955.0</td>\n",
" <td>11.5</td>\n",
" <td>71</td>\n",
" <td>1</td>\n",
" <td>dodge monaco (sw)</td>\n",
" <td>0.469974</td>\n",
" <td>0.077296</td>\n",
" <td>47.875</td>\n",
" <td>4050.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>12.0</td>\n",
" <td>8</td>\n",
" <td>455.0</td>\n",
" <td>225.0</td>\n",
" <td>4951.0</td>\n",
" <td>11.0</td>\n",
" <td>73</td>\n",
" <td>1</td>\n",
" <td>buick electra 225 custom</td>\n",
" <td>0.494505</td>\n",
" <td>0.091901</td>\n",
" <td>56.875</td>\n",
" <td>6328.125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90</th>\n",
" <td>12.0</td>\n",
" <td>8</td>\n",
" <td>429.0</td>\n",
" <td>198.0</td>\n",
" <td>4952.0</td>\n",
" <td>11.5</td>\n",
" <td>73</td>\n",
" <td>1</td>\n",
" <td>mercury marquis brougham</td>\n",
" <td>0.461538</td>\n",
" <td>0.086632</td>\n",
" <td>53.625</td>\n",
" <td>4900.500</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" mpg cylinders displacement horsepower weight acceleration \\\n",
"28 9.0 8 304.0 193.0 4732.0 18.5 \n",
"26 10.0 8 307.0 200.0 4376.0 15.0 \n",
"25 10.0 8 360.0 215.0 4615.0 14.0 \n",
"27 11.0 8 318.0 210.0 4382.0 13.5 \n",
"103 11.0 8 400.0 150.0 4997.0 14.0 \n",
"67 11.0 8 429.0 208.0 4633.0 11.0 \n",
"124 11.0 8 350.0 180.0 3664.0 11.0 \n",
"42 12.0 8 383.0 180.0 4955.0 11.5 \n",
"95 12.0 8 455.0 225.0 4951.0 11.0 \n",
"90 12.0 8 429.0 198.0 4952.0 11.5 \n",
"\n",
" model_year origin car_name efficiency load \\\n",
"28 70 1 hi 1200d 0.634868 0.064243 \n",
"26 70 1 chevy c20 0.651466 0.070155 \n",
"25 70 1 ford f250 0.597222 0.078007 \n",
"27 70 1 dodge d200 0.660377 0.072570 \n",
"103 73 1 chevrolet impala 0.375000 0.080048 \n",
"67 72 1 mercury marquis 0.484848 0.092597 \n",
"124 73 1 oldsmobile omega 0.514286 0.095524 \n",
"42 71 1 dodge monaco (sw) 0.469974 0.077296 \n",
"95 73 1 buick electra 225 custom 0.494505 0.091901 \n",
"90 73 1 mercury marquis brougham 0.461538 0.086632 \n",
"\n",
" bore_size grunt \n",
"28 38.000 4656.125 \n",
"26 38.375 5000.000 \n",
"25 45.000 5778.125 \n",
"27 39.750 5512.500 \n",
"103 50.000 2812.500 \n",
"67 53.625 5408.000 \n",
"124 43.750 4050.000 \n",
"42 47.875 4050.000 \n",
"95 56.875 6328.125 \n",
"90 53.625 4900.500 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"merged.sort_values('mpg').head(10)"
]
},
{
"cell_type": "markdown",
"id": "15d0d27b-5f92-4648-ad5c-35cc811430b3",
"metadata": {},
"source": [
"## Some stats"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "8710cba8-6b7e-4219-98b9-b7d5a1b4f4b9",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:13.132876Z",
"iopub.status.busy": "2022-08-01T04:20:13.132574Z",
"iopub.status.idle": "2022-08-01T04:20:13.142096Z",
"shell.execute_reply": "2022-08-01T04:20:13.141321Z",
"shell.execute_reply.started": "2022-08-01T04:20:13.132851Z"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean MPG: 23.51\n",
"Mean Weight: 2975.41\n",
"Mean Horsepower: 104.12\n",
"efficiency mean: 0.61\n",
"load mean: 0.06\n",
"bore_size mean: 33.36\n",
"grunt mean: 2060.50\n"
]
}
],
"source": [
"print(f'''Mean MPG: {y.mean():.2f}\n",
"Mean Weight: {merged.weight.mean():.2f}\n",
"Mean Horsepower: {merged.horsepower.mean():.2f}''')\n",
"\n",
"for col in merged.columns[9:]:\n",
" print(f'{col} mean: {merged[col].mean():.2f}')"
]
},
{
"cell_type": "markdown",
"id": "0213061d-29c8-4f47-9128-705253bc6320",
"metadata": {},
"source": [
"Check Correlation"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "7205bdab-a7df-41b4-9ec0-c1c9e2fe1c03",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:13.143792Z",
"iopub.status.busy": "2022-08-01T04:20:13.143335Z",
"iopub.status.idle": "2022-08-01T04:20:13.153208Z",
"shell.execute_reply": "2022-08-01T04:20:13.152547Z",
"shell.execute_reply.started": "2022-08-01T04:20:13.143758Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"weight -0.832707\n",
"displacement -0.804456\n",
"horsepower -0.777897\n",
"cylinders -0.776090\n",
"bore_size -0.773403\n",
"load -0.724271\n",
"grunt -0.644081\n",
"acceleration 0.420414\n",
"efficiency 0.509309\n",
"origin 0.563833\n",
"model_year 0.580091\n",
"mpg 1.000000\n",
"dtype: float64"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"merged.corrwith(y).sort_values()"
]
},
{
"cell_type": "markdown",
"id": "d8889b56-a87c-4901-b654-aaf5a4b9fb14",
"metadata": {},
"source": [
"<hr>\n",
"Math says to use weight, displacement, horsepower, cylinders...\n",
"\n",
"While I agree that these are the most important features, there's more to it than just these numbers. Like how a stew is not just a sum of its ingredients."
]
},
{
"cell_type": "markdown",
"id": "27e89d6b-7603-403c-8235-e9bad49040b3",
"metadata": {},
"source": [
"I'll test both"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "52d0ffbf-55aa-49b9-b99f-8160bf09cc79",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:13.154483Z",
"iopub.status.busy": "2022-08-01T04:20:13.154106Z",
"iopub.status.idle": "2022-08-01T04:20:13.159628Z",
"shell.execute_reply": "2022-08-01T04:20:13.158886Z",
"shell.execute_reply.started": "2022-08-01T04:20:13.154458Z"
},
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['mpg', 'cylinders', 'displacement', 'horsepower', 'weight',\n",
" 'acceleration', 'model_year', 'origin', 'car_name', 'efficiency',\n",
" 'load', 'bore_size', 'grunt'],\n",
" dtype='object')"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"merged.columns"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "6a4a9e48-57a1-48b6-b289-58bc43584112",
"metadata": {
"execution": {
"iopub.execute_input": "2022-08-01T04:20:13.163437Z",
"iopub.status.busy": "2022-08-01T04:20:13.163108Z",
"iopub.status.idle": "2022-08-01T04:20:13.175359Z",
"shell.execute_reply": "2022-08-01T04:20:13.174579Z",
"shell.execute_reply.started": "2022-08-01T04:20:13.163422Z"
},
"tags": []
},
"outputs": [],
"source": [
"y.to_csv('data/y.csv',index=False)\n",
"\n",
"merged[[\\\n",
" 'horsepower',\n",
" 'bore_size',\n",
" 'grunt',\n",
" 'load',\n",
" ]].to_csv('data/X_engineered.csv',index=False)\n",
"\n",
"merged[[\\\n",
" 'horsepower',\n",
" 'weight',\n",
" 'displacement',\n",
" 'cylinders',\n",
" ]].to_csv('data/X_straight.csv',index=False)"
]
},
{
"cell_type": "markdown",
"id": "4802d1fd-079c-4053-88f2-b5dca7cf8dae",
"metadata": {},
"source": [
"[Modeling](model.ipynb)"
]
}
],
"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.10.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}