{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### HW 1: Solutions "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__Total: 25 pts__"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Start date: Tuesday Sept. 3 \n",
"Due date: Tuesday Sept. 10"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you don't already have a version of anaconda installed, start by downloading anaconda and installing it (see for example [here](https://machinelearningmastery.com/setup-python-environment-machine-learning-deep-learning-anaconda/)). When working on the exercises below, keep in mind that there exists a rich python documentation online. Don't hesitate to check the documentation and examples related to the functions you want to use. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__1. (4pts) Numerical Linear Algebra: Numpy__\n",
"\n",
"- Start by building a 10 by 10 matrix of random Gaussian entries. Then compute the two largest eigenvalues of the matrix\n",
"- Reshape the matrix that you built above into a 2 by 50 array (call it $v$) first and into a single vector then (call it 'w'). Return the vector obtained by sorting the elements of $w$ in descending order\n",
"- Generate two random vectors (you can choose the distribution you use to generate the entries). Let us call those vectors $v1$ and $v2$. Stack those vectors vertically then horizontally. Store the respective results in two matrices $A$ and $B$.\n",
"- Do the same with two random arrays $C_1 \\in \\mathbb{R}^{n\\times n}$ and $C_2^{n\\times n}$. Store the results in the variables $Cv$ and $Ch$"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"from numpy import linalg as LA\n",
"\n",
"M = np.random.normal(0, 1, (10, 10))\n",
"w, v = LA.eig(M)\n",
"\n",
"\n",
"# Here since I didn't specify anything, you can either return the eigenvalue with the largest real part, \n",
"# the largest imaginary part, let numpy choose by just aplying sort to the vector of complex eigenvalues, \n",
"# or, what I decide to do here, return the eigenvalues with the largest modulus. \n",
"\n",
"indices = np.argsort(np.absolute(w))\n",
"indices = indices[::-1]\n",
"w = w[indices]\n",
"\n",
"\n",
"print \"first eigenvalue:\", w[0] \n",
"print \"second eigenvalue:\", w[1]\n",
"\n",
"M_reshape_v = np.reshape(M, (2, 50))\n",
"M_reshape_w = np.reshape(M, (1, 100))\n",
"M_reshape_w_sorted = np.sort(M_reshape_w)\n",
"M_reshape_w_sorted = M_reshape_w_sorted[:,::-1] # get the elements in descending order\n",
"\n",
"\n",
"# to change I decide to generate random integers between 0 and n\n",
"v1 = np.random.randint(10, size=(1, 10))\n",
"v2 = np.random.randint(10, size=(1, 10))\n",
"\n",
"vertical_stack = np.vstack((v1,v2))\n",
"horizontal_stack = np.hstack((v1,v2))\n",
"\n",
"C1 = np.random.randint(10, size = (10,10))\n",
"C2 = np.random.randint(10, size = (10,10))\n",
"\n",
"Cv = np.vstack((C1,C2))\n",
"Ch = np.hstack((C1,C2))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__2. (2pts) Towards multiclass classification: one-hot encoding__\n",
"\n",
"- Generate a vector (let us call it $v$) of integers taking values between 0 and 9. \n",
"- Then build the vector corresponding to the one-hot encoding of each entry in $v$ (a one-hot encoding represents each categorical variable (0 to 9 digits in your vector $v$ by using binary sequences in which only one entry (for example the one corresponding to the digit that is encoded) is non zero))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# you were free to choose the size you wanted\n",
"\n",
"vv = np.random.randint(9, size = (10,))\n",
"\n",
"# there are many valid approaches. One of them is to build a matrix of zeros and then put \n",
"# one at the column index corresponding to the number in vv\n",
"print(vv)\n",
"oneHotEncoding_vv = np.zeros((10,10))\n",
"\n",
"oneHotEncoding_vv[np.arange(10),vv] = 1\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__3. (6pt) Towards regression: sampling and matplolib__"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__3a. (2pts) One dimensional__ In this exercise, we will successively generate points according to a function, sample pairs (t,f) from that distribution and plot the results\n",
"\n",
"- Using the 'linspace' function from numpy, generate $1000$ pairs $(t, f(t) = \\frac{1}{1+e^{-t}})$ for values of $t$ between $-6$ and $6$. What does the function look like? \n",
"- Generate 100 random pairs $(t_i, f_i)$ from the plot. Then plot the points $(t_i,x_i)$ on top of the line $(t, f(t))$ using matplotlib (you can choose how you randomly generate the points)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# first generate te pairs\n",
"\n",
"t = np.linspace(-6.0, 6.0, num=1000)\n",
"f = np.reciprocal(1+np.exp(-t))\n",
"\n",
"# Then plot the function using pyplot\n",
"\n",
"import matplotlib.pyplot as plt\n",
"plt.plot(t, f)\n",
"plt.show()\n",
"\n",
"# As we want to sample without replacement, we can use the function 'sample' from random\n",
"\n",
"from random import sample \n",
"\n",
"sampleData = np.random.choice(t, 100)\n",
"f_sampleData = np.reciprocal(1+np.exp(-sampleData))\n",
"\n",
"# Then we use Scatter to plot the samples\n",
"\n",
"plt.scatter(sampleData, f_sampleData, c = 'red')\n",
"plt.plot(t, f)\n",
"plt.show()\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__3b. (4pts) The two dimensional hyperplane__\n",
"\n",
"- An extension of the previous case, we now want to generate triples $(x,y, t)$ according to the following hyperplane: \n",
"\n",
"$$t \\equiv\\pi(x, y) = x + y +1$$\n",
"\n",
"using _Axes3D_, _matplolib_ and _pyplot_, as well as the _meshgrid( )_ and _arrange( )_ functions from numpy and the _plot_surface( )_ and _scatter( )_ functions from pyplot,\n",
"\n",
"- Generate a regular grid of points $(x, y)$ covering the domain $[-20,20]\\times [-20,20]$. Let us say 200 by 200. \n",
"- As in the 1D case, we now want to generate noisy samples that are lying on the plane on average. Start by generating $(50\\times 50)$ triples $(x,y,\\pi(x,y))$ covering the domain $[-20,20]\\times [-20,20]$. \n",
"- Perturb the $50\\times 50$ pairs by adding to them a random gaussian noise of amplitude no larger than $0.1$\n",
"- Finally using the _scatter( )_ function from pyplot, plot the noisy samples on top of the plane. \n"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n46WpZxEwCWdnmRbCjMRHSaoJEmqMzcHtRz8MHEruhWEDh+TEpTzGLWv/nFA2hGlq2EQXPz30HaZT\nEzS4m/mTNR+msbEdTDB0jer6Kn49eB+RZITtni1URxrYH9+P0+lkNDJM0FWHYRqIQn6UWG/kILqp\nU+9qxCN7801/RJHdU89zb++PcMteJEHkyeHf4JW9XN/6bkxEukO7+Nc9f4du6JiY/G74IT5+weeJ\nZkP4HZW8q/0Wvrv3GyS1JAYGVY461ge2Afn7829ffzt/+9znmU3PYpgGH9v0sZKs43IozAE81zin\nBXlub4ljb8xSMhtM02R6epqBgYFiYGXTpk0lHbscC7lcCoJcyqRcwzDYuXMnkiTR3t5+XEVagTNR\n1bcUvSyWi8tiz/QeHJKjmJdrmAYvT77M6srVjCfGyWgZmr3NmJjUOhvYOb6Hq5riqJrI9prr2D3w\nTxwODWOz23h9wxvwSPUk0iomAm9YcR3bGy5nIjHGjw7+O/XuJkQEsrYsT439Dyk1jsvmpT/aAwI0\neJqxSQ4mk2Psnt7JH616Byktw7d2/m8MU6fe1UQoO81/dv8z7+n8GIooU+UMsqZ2PWvqNjAzO4uW\ny1FbV4eh6aQyGVZMtjEYO4xPDJDVMgxm+/hZ/Pu4FDd22cEnN/01bf5OBAQORfYiiwoSMqIg4LNV\nsG92F9e33YxgGtzb+yPsogOPwweYDEQP87knb8Vrq8AwDd7Q8nb+asvt7D0a1FvvvghFlTEMA7/b\nxtrAOu5+x92MJcbw2/3UuGpOfIJOgUgkcs71QoZzXJBhcVE4kYU8t8+E1+tlw4YN2Gy2YtewUlgs\nCLgUlFI+HQ6H6evrI5PJ0N7ePi8/diHKzVl+LVwWp7v/QvtqhsauiV1MJCeoddeyqXYTivTqD9tg\ndJDByCAem4f1NetxyPkiA0VU0M28xYcJGU0lmzOZiKSYiemEkmkkNY4gCiS1BN2zB7n96a8QdNXz\nxpbreVfLrWiKRm1lDQIiB0N7EEWZFm8bTtmO1+YnrsSQERCNfN8Gm2ijwd3MTGYauxonlo1Qa2vA\nLjkAE1mQ0IwsugmzqUnSWpIaZ764wqf4eX7iSUYSgyiijbVVF/D+rk+iSDZMPZ+29kDvzxmIH6bO\n3cjN6z7EPb13MJI4QkZK4zJdNHtWYRgmsUyEf95xO7c0/iVOux0jIZDJpXBILkRFJqWnSMUH+eRj\n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\nAABJRU5ErkJggg==\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"\n",
"x = np.linspace(-20, 20, 200)\n",
"y = np.linspace(-20, 20, 200)\n",
"xv, yv = np.meshgrid(x, y)\n",
"\n",
"tv = xv + yv + 1\n",
"\n",
"\n",
"tv = tv+ np.random.normal(0, .1, (200,200))\n",
"\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"\n",
"fig = plt.figure()\n",
"ax = fig.gca(projection='3d')\n",
"\n",
"# plot the plane\n",
"ax.plot_surface(xv, yv, tv, alpha=0.2)\n",
"\n",
"# Although this was not part of the erxercise, I downsample the points to get a clear picture\n",
"\n",
"x = np.linspace(-20, 20, 20)\n",
"y = np.linspace(-20, 20, 20)\n",
"xv2, yv2 = np.meshgrid(x, y)\n",
"\n",
"\n",
"# I also increased the variance a little to emphasize the noise\n",
"tv2 = xv2 + yv2 + 1 + np.random.normal(0, 1, (20,20))\n",
"\n",
"\n",
"ax.scatter(xv2.flatten() , yv2.flatten() , tv2.flatten(), color='green')\n",
"\n",
"plt.show()\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__4. (3pts) Getting started with Pandas and Kaggle datasets__"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__4a__ Download the car dataset on [Kaggle](https://www.kaggle.com/toramky/automobile-dataset/downloads/automobile-dataset.zip/2) and open this dataset with pandas. \n",
"\n",
"- Display a couple (5-10) of rows from the pandas data frame. \n",
"- Find the brand that has the highest average price across cars\n",
"- Sort the cars according to their horse power and return the corresponding panda frame. Display the first 10 lines from the frame.\n"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
audi
\n",
"
bmw
\n",
"
chevrolet
\n",
"
dodge
\n",
"
honda
\n",
"
jaguar
\n",
"
mazda
\n",
"
mercedes-benz
\n",
"
mitsubishi
\n",
"
nissan
\n",
"
peugot
\n",
"
plymouth
\n",
"
porsche
\n",
"
saab
\n",
"
subaru
\n",
"
toyota
\n",
"
volkswagen
\n",
"
volvo
\n",
"
\n",
" \n",
" \n",
"
\n",
"
averages
\n",
"
18246.25
\n",
"
18857.5
\n",
"
6007.0
\n",
"
7790.125
\n",
"
8184.692308
\n",
"
32250.0
\n",
"
9080.0
\n",
"
29726.4
\n",
"
7813.0
\n",
"
10415.666667
\n",
"
15758.571429
\n",
"
7163.333333
\n",
"
22018.0
\n",
"
15223.333333
\n",
"
8541.25
\n",
"
9696.645161
\n",
"
8738.125
\n",
"
18063.181818
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" audi bmw chevrolet dodge honda jaguar \\\n",
"averages 18246.25 18857.5 6007.0 7790.125 8184.692308 32250.0 \n",
"\n",
" mazda mercedes-benz mitsubishi nissan peugot \\\n",
"averages 9080.0 29726.4 7813.0 10415.666667 15758.571429 \n",
"\n",
" plymouth porsche saab subaru toyota \\\n",
"averages 7163.333333 22018.0 15223.333333 8541.25 9696.645161 \n",
"\n",
" volkswagen volvo \n",
"averages 8738.125 18063.181818 "
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# There are several ways to answer the question. I give one\n",
"\n",
"import pandas as pd\n",
"data = pd.read_csv(\"Automobile_data 3.csv\")\n",
"\n",
"# printing first 10 rows\n",
"data.head(10)\n",
"\n",
"# I remove the rows that do not contain a number for the price\n",
"data = data[(data.astype(str) != '?').all(axis=1)]\n",
"\n",
"\n",
" # returning the brands\n",
"Brand_names = data.make.unique()\n",
"\n",
"averages = np.zeros((Brand_names.size,))\n",
"k=0\n",
"\n",
"for i in Brand_names:\n",
" \n",
" tmp = data.loc[data['make'] == i]\n",
" tmp = tmp['price'].astype(int)\n",
" averages[k] = np.mean(tmp)\n",
" k += 1\n",
" \n",
"\n",
"columns = Brand_names\n",
"rows = [\"averages\"]\n",
"data = np.array([averages])\n",
"averageData = pd.DataFrame(data=data, index=rows, columns=columns)\n",
"\n",
"\n",
"averageData\n",
"\n",
"# The last one is one line\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
symboling
\n",
"
normalized-losses
\n",
"
make
\n",
"
fuel-type
\n",
"
aspiration
\n",
"
num-of-doors
\n",
"
body-style
\n",
"
drive-wheels
\n",
"
engine-location
\n",
"
wheel-base
\n",
"
...
\n",
"
engine-size
\n",
"
fuel-system
\n",
"
bore
\n",
"
stroke
\n",
"
compression-ratio
\n",
"
horsepower
\n",
"
peak-rpm
\n",
"
city-mpg
\n",
"
highway-mpg
\n",
"
price
\n",
"
\n",
" \n",
" \n",
"
\n",
"
18
\n",
"
2
\n",
"
121
\n",
"
chevrolet
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
88.4
\n",
"
...
\n",
"
61
\n",
"
2bbl
\n",
"
2.91
\n",
"
3.03
\n",
"
9.5
\n",
"
48
\n",
"
5100
\n",
"
47
\n",
"
53
\n",
"
5151
\n",
"
\n",
"
\n",
"
184
\n",
"
2
\n",
"
94
\n",
"
volkswagen
\n",
"
diesel
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
97.3
\n",
"
...
\n",
"
97
\n",
"
idi
\n",
"
3.01
\n",
"
3.4
\n",
"
23.0
\n",
"
52
\n",
"
4800
\n",
"
37
\n",
"
46
\n",
"
7995
\n",
"
\n",
"
\n",
"
182
\n",
"
2
\n",
"
122
\n",
"
volkswagen
\n",
"
diesel
\n",
"
std
\n",
"
two
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
97.3
\n",
"
...
\n",
"
97
\n",
"
idi
\n",
"
3.01
\n",
"
3.4
\n",
"
23.0
\n",
"
52
\n",
"
4800
\n",
"
37
\n",
"
46
\n",
"
7775
\n",
"
\n",
"
\n",
"
90
\n",
"
1
\n",
"
128
\n",
"
nissan
\n",
"
diesel
\n",
"
std
\n",
"
two
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
94.5
\n",
"
...
\n",
"
103
\n",
"
idi
\n",
"
2.99
\n",
"
3.47
\n",
"
21.9
\n",
"
55
\n",
"
4800
\n",
"
45
\n",
"
50
\n",
"
7099
\n",
"
\n",
"
\n",
"
159
\n",
"
0
\n",
"
91
\n",
"
toyota
\n",
"
diesel
\n",
"
std
\n",
"
four
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
95.7
\n",
"
...
\n",
"
110
\n",
"
idi
\n",
"
3.27
\n",
"
3.35
\n",
"
22.5
\n",
"
56
\n",
"
4500
\n",
"
38
\n",
"
47
\n",
"
7788
\n",
"
\n",
"
\n",
"
158
\n",
"
0
\n",
"
91
\n",
"
toyota
\n",
"
diesel
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
95.7
\n",
"
...
\n",
"
110
\n",
"
idi
\n",
"
3.27
\n",
"
3.35
\n",
"
22.5
\n",
"
56
\n",
"
4500
\n",
"
34
\n",
"
36
\n",
"
7898
\n",
"
\n",
"
\n",
"
30
\n",
"
2
\n",
"
137
\n",
"
honda
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
86.6
\n",
"
...
\n",
"
92
\n",
"
1bbl
\n",
"
2.91
\n",
"
3.41
\n",
"
9.6
\n",
"
58
\n",
"
4800
\n",
"
49
\n",
"
54
\n",
"
6479
\n",
"
\n",
"
\n",
"
32
\n",
"
1
\n",
"
101
\n",
"
honda
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
79
\n",
"
1bbl
\n",
"
2.91
\n",
"
3.07
\n",
"
10.1
\n",
"
60
\n",
"
5500
\n",
"
38
\n",
"
42
\n",
"
5399
\n",
"
\n",
"
\n",
"
153
\n",
"
0
\n",
"
77
\n",
"
toyota
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
wagon
\n",
"
fwd
\n",
"
front
\n",
"
95.7
\n",
"
...
\n",
"
92
\n",
"
2bbl
\n",
"
3.05
\n",
"
3.03
\n",
"
9.0
\n",
"
62
\n",
"
4800
\n",
"
31
\n",
"
37
\n",
"
6918
\n",
"
\n",
"
\n",
"
151
\n",
"
1
\n",
"
87
\n",
"
toyota
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
95.7
\n",
"
...
\n",
"
92
\n",
"
2bbl
\n",
"
3.05
\n",
"
3.03
\n",
"
9.0
\n",
"
62
\n",
"
4800
\n",
"
31
\n",
"
38
\n",
"
6338
\n",
"
\n",
"
\n",
"
155
\n",
"
0
\n",
"
91
\n",
"
toyota
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
wagon
\n",
"
4wd
\n",
"
front
\n",
"
95.7
\n",
"
...
\n",
"
92
\n",
"
2bbl
\n",
"
3.05
\n",
"
3.03
\n",
"
9.0
\n",
"
62
\n",
"
4800
\n",
"
27
\n",
"
32
\n",
"
8778
\n",
"
\n",
"
\n",
"
154
\n",
"
0
\n",
"
81
\n",
"
toyota
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
wagon
\n",
"
4wd
\n",
"
front
\n",
"
95.7
\n",
"
...
\n",
"
92
\n",
"
2bbl
\n",
"
3.05
\n",
"
3.03
\n",
"
9.0
\n",
"
62
\n",
"
4800
\n",
"
27
\n",
"
32
\n",
"
7898
\n",
"
\n",
"
\n",
"
150
\n",
"
1
\n",
"
87
\n",
"
toyota
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
95.7
\n",
"
...
\n",
"
92
\n",
"
2bbl
\n",
"
3.05
\n",
"
3.03
\n",
"
9.0
\n",
"
62
\n",
"
4800
\n",
"
35
\n",
"
39
\n",
"
5348
\n",
"
\n",
"
\n",
"
152
\n",
"
1
\n",
"
74
\n",
"
toyota
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
95.7
\n",
"
...
\n",
"
92
\n",
"
2bbl
\n",
"
3.05
\n",
"
3.03
\n",
"
9.0
\n",
"
62
\n",
"
4800
\n",
"
31
\n",
"
38
\n",
"
6488
\n",
"
\n",
"
\n",
"
118
\n",
"
1
\n",
"
119
\n",
"
plymouth
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
90
\n",
"
2bbl
\n",
"
2.97
\n",
"
3.23
\n",
"
9.4
\n",
"
68
\n",
"
5500
\n",
"
37
\n",
"
41
\n",
"
5572
\n",
"
\n",
"
\n",
"
52
\n",
"
1
\n",
"
104
\n",
"
mazda
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
93.1
\n",
"
...
\n",
"
91
\n",
"
2bbl
\n",
"
3.03
\n",
"
3.15
\n",
"
9.0
\n",
"
68
\n",
"
5000
\n",
"
31
\n",
"
38
\n",
"
6795
\n",
"
\n",
"
\n",
"
51
\n",
"
1
\n",
"
104
\n",
"
mazda
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
93.1
\n",
"
...
\n",
"
91
\n",
"
2bbl
\n",
"
3.03
\n",
"
3.15
\n",
"
9.0
\n",
"
68
\n",
"
5000
\n",
"
31
\n",
"
38
\n",
"
6095
\n",
"
\n",
"
\n",
"
120
\n",
"
1
\n",
"
154
\n",
"
plymouth
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
90
\n",
"
2bbl
\n",
"
2.97
\n",
"
3.23
\n",
"
9.4
\n",
"
68
\n",
"
5500
\n",
"
31
\n",
"
38
\n",
"
6229
\n",
"
\n",
"
\n",
"
53
\n",
"
1
\n",
"
113
\n",
"
mazda
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
93.1
\n",
"
...
\n",
"
91
\n",
"
2bbl
\n",
"
3.03
\n",
"
3.15
\n",
"
9.0
\n",
"
68
\n",
"
5000
\n",
"
31
\n",
"
38
\n",
"
6695
\n",
"
\n",
"
\n",
"
54
\n",
"
1
\n",
"
113
\n",
"
mazda
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
93.1
\n",
"
...
\n",
"
91
\n",
"
2bbl
\n",
"
3.08
\n",
"
3.15
\n",
"
9.0
\n",
"
68
\n",
"
5000
\n",
"
31
\n",
"
38
\n",
"
7395
\n",
"
\n",
"
\n",
"
76
\n",
"
2
\n",
"
161
\n",
"
mitsubishi
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
92
\n",
"
2bbl
\n",
"
2.97
\n",
"
3.23
\n",
"
9.4
\n",
"
68
\n",
"
5500
\n",
"
37
\n",
"
41
\n",
"
5389
\n",
"
\n",
"
\n",
"
78
\n",
"
2
\n",
"
161
\n",
"
mitsubishi
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
92
\n",
"
2bbl
\n",
"
2.97
\n",
"
3.23
\n",
"
9.4
\n",
"
68
\n",
"
5500
\n",
"
31
\n",
"
38
\n",
"
6669
\n",
"
\n",
"
\n",
"
50
\n",
"
1
\n",
"
104
\n",
"
mazda
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
93.1
\n",
"
...
\n",
"
91
\n",
"
2bbl
\n",
"
3.03
\n",
"
3.15
\n",
"
9.0
\n",
"
68
\n",
"
5000
\n",
"
30
\n",
"
31
\n",
"
5195
\n",
"
\n",
"
\n",
"
121
\n",
"
1
\n",
"
154
\n",
"
plymouth
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
90
\n",
"
2bbl
\n",
"
2.97
\n",
"
3.23
\n",
"
9.4
\n",
"
68
\n",
"
5500
\n",
"
31
\n",
"
38
\n",
"
6692
\n",
"
\n",
"
\n",
"
77
\n",
"
2
\n",
"
161
\n",
"
mitsubishi
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
92
\n",
"
2bbl
\n",
"
2.97
\n",
"
3.23
\n",
"
9.4
\n",
"
68
\n",
"
5500
\n",
"
31
\n",
"
38
\n",
"
6189
\n",
"
\n",
"
\n",
"
187
\n",
"
2
\n",
"
94
\n",
"
volkswagen
\n",
"
diesel
\n",
"
turbo
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
97.3
\n",
"
...
\n",
"
97
\n",
"
idi
\n",
"
3.01
\n",
"
3.4
\n",
"
23.0
\n",
"
68
\n",
"
4500
\n",
"
37
\n",
"
42
\n",
"
9495
\n",
"
\n",
"
\n",
"
122
\n",
"
1
\n",
"
154
\n",
"
plymouth
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
98
\n",
"
2bbl
\n",
"
2.97
\n",
"
3.23
\n",
"
9.4
\n",
"
68
\n",
"
5500
\n",
"
31
\n",
"
38
\n",
"
7609
\n",
"
\n",
"
\n",
"
26
\n",
"
1
\n",
"
148
\n",
"
dodge
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
90
\n",
"
2bbl
\n",
"
2.97
\n",
"
3.23
\n",
"
9.4
\n",
"
68
\n",
"
5500
\n",
"
31
\n",
"
38
\n",
"
7609
\n",
"
\n",
"
\n",
"
25
\n",
"
1
\n",
"
148
\n",
"
dodge
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
90
\n",
"
2bbl
\n",
"
2.97
\n",
"
3.23
\n",
"
9.4
\n",
"
68
\n",
"
5500
\n",
"
31
\n",
"
38
\n",
"
6692
\n",
"
\n",
"
\n",
"
24
\n",
"
1
\n",
"
148
\n",
"
dodge
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
93.7
\n",
"
...
\n",
"
90
\n",
"
2bbl
\n",
"
2.97
\n",
"
3.23
\n",
"
9.4
\n",
"
68
\n",
"
5500
\n",
"
31
\n",
"
38
\n",
"
6229
\n",
"
\n",
"
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
\n",
"
\n",
"
88
\n",
"
-1
\n",
"
137
\n",
"
mitsubishi
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
96.3
\n",
"
...
\n",
"
110
\n",
"
spdi
\n",
"
3.17
\n",
"
3.46
\n",
"
7.5
\n",
"
116
\n",
"
5500
\n",
"
23
\n",
"
30
\n",
"
9279
\n",
"
\n",
"
\n",
"
167
\n",
"
2
\n",
"
134
\n",
"
toyota
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hardtop
\n",
"
rwd
\n",
"
front
\n",
"
98.4
\n",
"
...
\n",
"
146
\n",
"
mpfi
\n",
"
3.62
\n",
"
3.5
\n",
"
9.3
\n",
"
116
\n",
"
4800
\n",
"
24
\n",
"
30
\n",
"
8449
\n",
"
\n",
"
\n",
"
65
\n",
"
0
\n",
"
118
\n",
"
mazda
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
104.9
\n",
"
...
\n",
"
140
\n",
"
mpfi
\n",
"
3.76
\n",
"
3.16
\n",
"
8.0
\n",
"
120
\n",
"
5000
\n",
"
19
\n",
"
27
\n",
"
18280
\n",
"
\n",
"
\n",
"
12
\n",
"
0
\n",
"
188
\n",
"
bmw
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
101.2
\n",
"
...
\n",
"
164
\n",
"
mpfi
\n",
"
3.31
\n",
"
3.19
\n",
"
9.0
\n",
"
121
\n",
"
4250
\n",
"
21
\n",
"
28
\n",
"
20970
\n",
"
\n",
"
\n",
"
13
\n",
"
0
\n",
"
188
\n",
"
bmw
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
101.2
\n",
"
...
\n",
"
164
\n",
"
mpfi
\n",
"
3.31
\n",
"
3.19
\n",
"
9.0
\n",
"
121
\n",
"
4250
\n",
"
21
\n",
"
28
\n",
"
21105
\n",
"
\n",
"
\n",
"
70
\n",
"
-1
\n",
"
93
\n",
"
mercedes-benz
\n",
"
diesel
\n",
"
turbo
\n",
"
four
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
115.6
\n",
"
...
\n",
"
183
\n",
"
idi
\n",
"
3.58
\n",
"
3.64
\n",
"
21.5
\n",
"
123
\n",
"
4350
\n",
"
22
\n",
"
25
\n",
"
31600
\n",
"
\n",
"
\n",
"
69
\n",
"
0
\n",
"
93
\n",
"
mercedes-benz
\n",
"
diesel
\n",
"
turbo
\n",
"
two
\n",
"
hardtop
\n",
"
rwd
\n",
"
front
\n",
"
106.7
\n",
"
...
\n",
"
183
\n",
"
idi
\n",
"
3.58
\n",
"
3.64
\n",
"
21.5
\n",
"
123
\n",
"
4350
\n",
"
22
\n",
"
25
\n",
"
28176
\n",
"
\n",
"
\n",
"
68
\n",
"
-1
\n",
"
93
\n",
"
mercedes-benz
\n",
"
diesel
\n",
"
turbo
\n",
"
four
\n",
"
wagon
\n",
"
rwd
\n",
"
front
\n",
"
110.0
\n",
"
...
\n",
"
183
\n",
"
idi
\n",
"
3.58
\n",
"
3.64
\n",
"
21.5
\n",
"
123
\n",
"
4350
\n",
"
22
\n",
"
25
\n",
"
28248
\n",
"
\n",
"
\n",
"
67
\n",
"
-1
\n",
"
93
\n",
"
mercedes-benz
\n",
"
diesel
\n",
"
turbo
\n",
"
four
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
110.0
\n",
"
...
\n",
"
183
\n",
"
idi
\n",
"
3.58
\n",
"
3.64
\n",
"
21.5
\n",
"
123
\n",
"
4350
\n",
"
22
\n",
"
25
\n",
"
25552
\n",
"
\n",
"
\n",
"
202
\n",
"
-1
\n",
"
95
\n",
"
volvo
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
109.1
\n",
"
...
\n",
"
173
\n",
"
mpfi
\n",
"
3.58
\n",
"
2.87
\n",
"
8.8
\n",
"
134
\n",
"
5500
\n",
"
18
\n",
"
23
\n",
"
21485
\n",
"
\n",
"
\n",
"
8
\n",
"
1
\n",
"
158
\n",
"
audi
\n",
"
gas
\n",
"
turbo
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
105.8
\n",
"
...
\n",
"
131
\n",
"
mpfi
\n",
"
3.13
\n",
"
3.4
\n",
"
8.3
\n",
"
140
\n",
"
5500
\n",
"
17
\n",
"
20
\n",
"
23875
\n",
"
\n",
"
\n",
"
117
\n",
"
0
\n",
"
161
\n",
"
peugot
\n",
"
gas
\n",
"
turbo
\n",
"
four
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
108.0
\n",
"
...
\n",
"
134
\n",
"
mpfi
\n",
"
3.61
\n",
"
3.21
\n",
"
7.0
\n",
"
142
\n",
"
5600
\n",
"
18
\n",
"
24
\n",
"
18150
\n",
"
\n",
"
\n",
"
125
\n",
"
3
\n",
"
186
\n",
"
porsche
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
rwd
\n",
"
front
\n",
"
94.5
\n",
"
...
\n",
"
151
\n",
"
mpfi
\n",
"
3.94
\n",
"
3.11
\n",
"
9.5
\n",
"
143
\n",
"
5500
\n",
"
19
\n",
"
27
\n",
"
22018
\n",
"
\n",
"
\n",
"
29
\n",
"
3
\n",
"
145
\n",
"
dodge
\n",
"
gas
\n",
"
turbo
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
95.9
\n",
"
...
\n",
"
156
\n",
"
mfi
\n",
"
3.6
\n",
"
3.9
\n",
"
7.0
\n",
"
145
\n",
"
5000
\n",
"
19
\n",
"
24
\n",
"
12964
\n",
"
\n",
"
\n",
"
102
\n",
"
0
\n",
"
108
\n",
"
nissan
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
wagon
\n",
"
fwd
\n",
"
front
\n",
"
100.4
\n",
"
...
\n",
"
181
\n",
"
mpfi
\n",
"
3.43
\n",
"
3.27
\n",
"
9.0
\n",
"
152
\n",
"
5200
\n",
"
17
\n",
"
22
\n",
"
14399
\n",
"
\n",
"
\n",
"
103
\n",
"
0
\n",
"
108
\n",
"
nissan
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
100.4
\n",
"
...
\n",
"
181
\n",
"
mpfi
\n",
"
3.43
\n",
"
3.27
\n",
"
9.0
\n",
"
152
\n",
"
5200
\n",
"
19
\n",
"
25
\n",
"
13499
\n",
"
\n",
"
\n",
"
101
\n",
"
0
\n",
"
128
\n",
"
nissan
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
100.4
\n",
"
...
\n",
"
181
\n",
"
mpfi
\n",
"
3.43
\n",
"
3.27
\n",
"
9.0
\n",
"
152
\n",
"
5200
\n",
"
17
\n",
"
22
\n",
"
13499
\n",
"
\n",
"
\n",
"
72
\n",
"
3
\n",
"
142
\n",
"
mercedes-benz
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
convertible
\n",
"
rwd
\n",
"
front
\n",
"
96.6
\n",
"
...
\n",
"
234
\n",
"
mpfi
\n",
"
3.46
\n",
"
3.1
\n",
"
8.3
\n",
"
155
\n",
"
4750
\n",
"
16
\n",
"
18
\n",
"
35056
\n",
"
\n",
"
\n",
"
180
\n",
"
-1
\n",
"
90
\n",
"
toyota
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
104.5
\n",
"
...
\n",
"
171
\n",
"
mpfi
\n",
"
3.27
\n",
"
3.35
\n",
"
9.2
\n",
"
156
\n",
"
5200
\n",
"
20
\n",
"
24
\n",
"
15690
\n",
"
\n",
"
\n",
"
104
\n",
"
3
\n",
"
194
\n",
"
nissan
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
rwd
\n",
"
front
\n",
"
91.3
\n",
"
...
\n",
"
181
\n",
"
mpfi
\n",
"
3.43
\n",
"
3.27
\n",
"
9.0
\n",
"
160
\n",
"
5200
\n",
"
19
\n",
"
25
\n",
"
17199
\n",
"
\n",
"
\n",
"
106
\n",
"
1
\n",
"
231
\n",
"
nissan
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
rwd
\n",
"
front
\n",
"
99.2
\n",
"
...
\n",
"
181
\n",
"
mpfi
\n",
"
3.43
\n",
"
3.27
\n",
"
9.0
\n",
"
160
\n",
"
5200
\n",
"
19
\n",
"
25
\n",
"
18399
\n",
"
\n",
"
\n",
"
201
\n",
"
-1
\n",
"
95
\n",
"
volvo
\n",
"
gas
\n",
"
turbo
\n",
"
four
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
109.1
\n",
"
...
\n",
"
141
\n",
"
mpfi
\n",
"
3.78
\n",
"
3.15
\n",
"
8.7
\n",
"
160
\n",
"
5300
\n",
"
19
\n",
"
25
\n",
"
19045
\n",
"
\n",
"
\n",
"
137
\n",
"
2
\n",
"
104
\n",
"
saab
\n",
"
gas
\n",
"
turbo
\n",
"
four
\n",
"
sedan
\n",
"
fwd
\n",
"
front
\n",
"
99.1
\n",
"
...
\n",
"
121
\n",
"
mpfi
\n",
"
3.54
\n",
"
3.07
\n",
"
9.0
\n",
"
160
\n",
"
5500
\n",
"
19
\n",
"
26
\n",
"
18620
\n",
"
\n",
"
\n",
"
136
\n",
"
3
\n",
"
150
\n",
"
saab
\n",
"
gas
\n",
"
turbo
\n",
"
two
\n",
"
hatchback
\n",
"
fwd
\n",
"
front
\n",
"
99.1
\n",
"
...
\n",
"
121
\n",
"
mpfi
\n",
"
3.54
\n",
"
3.07
\n",
"
9.0
\n",
"
160
\n",
"
5500
\n",
"
19
\n",
"
26
\n",
"
18150
\n",
"
\n",
"
\n",
"
179
\n",
"
3
\n",
"
197
\n",
"
toyota
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
rwd
\n",
"
front
\n",
"
102.9
\n",
"
...
\n",
"
171
\n",
"
mpfi
\n",
"
3.27
\n",
"
3.35
\n",
"
9.3
\n",
"
161
\n",
"
5200
\n",
"
19
\n",
"
24
\n",
"
15998
\n",
"
\n",
"
\n",
"
178
\n",
"
3
\n",
"
197
\n",
"
toyota
\n",
"
gas
\n",
"
std
\n",
"
two
\n",
"
hatchback
\n",
"
rwd
\n",
"
front
\n",
"
102.9
\n",
"
...
\n",
"
171
\n",
"
mpfi
\n",
"
3.27
\n",
"
3.35
\n",
"
9.3
\n",
"
161
\n",
"
5200
\n",
"
20
\n",
"
24
\n",
"
16558
\n",
"
\n",
"
\n",
"
198
\n",
"
-2
\n",
"
103
\n",
"
volvo
\n",
"
gas
\n",
"
turbo
\n",
"
four
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
104.3
\n",
"
...
\n",
"
130
\n",
"
mpfi
\n",
"
3.62
\n",
"
3.15
\n",
"
7.5
\n",
"
162
\n",
"
5100
\n",
"
17
\n",
"
22
\n",
"
18420
\n",
"
\n",
"
\n",
"
199
\n",
"
-1
\n",
"
74
\n",
"
volvo
\n",
"
gas
\n",
"
turbo
\n",
"
four
\n",
"
wagon
\n",
"
rwd
\n",
"
front
\n",
"
104.3
\n",
"
...
\n",
"
130
\n",
"
mpfi
\n",
"
3.62
\n",
"
3.15
\n",
"
7.5
\n",
"
162
\n",
"
5100
\n",
"
17
\n",
"
22
\n",
"
18950
\n",
"
\n",
"
\n",
"
47
\n",
"
0
\n",
"
145
\n",
"
jaguar
\n",
"
gas
\n",
"
std
\n",
"
four
\n",
"
sedan
\n",
"
rwd
\n",
"
front
\n",
"
113.0
\n",
"
...
\n",
"
258
\n",
"
mpfi
\n",
"
3.63
\n",
"
4.17
\n",
"
8.1
\n",
"
176
\n",
"
4750
\n",
"
15
\n",
"
19
\n",
"
32250
\n",
"
\n",
"
\n",
"
105
\n",
"
3
\n",
"
194
\n",
"
nissan
\n",
"
gas
\n",
"
turbo
\n",
"
two
\n",
"
hatchback
\n",
"
rwd
\n",
"
front
\n",
"
91.3
\n",
"
...
\n",
"
181
\n",
"
mpfi
\n",
"
3.43
\n",
"
3.27
\n",
"
7.8
\n",
"
200
\n",
"
5200
\n",
"
17
\n",
"
23
\n",
"
19699
\n",
"
\n",
" \n",
"
\n",
"
159 rows × 26 columns
\n",
"
"
],
"text/plain": [
" symboling normalized-losses make fuel-type aspiration \\\n",
"18 2 121 chevrolet gas std \n",
"184 2 94 volkswagen diesel std \n",
"182 2 122 volkswagen diesel std \n",
"90 1 128 nissan diesel std \n",
"159 0 91 toyota diesel std \n",
"158 0 91 toyota diesel std \n",
"30 2 137 honda gas std \n",
"32 1 101 honda gas std \n",
"153 0 77 toyota gas std \n",
"151 1 87 toyota gas std \n",
"155 0 91 toyota gas std \n",
"154 0 81 toyota gas std \n",
"150 1 87 toyota gas std \n",
"152 1 74 toyota gas std \n",
"118 1 119 plymouth gas std \n",
"52 1 104 mazda gas std \n",
"51 1 104 mazda gas std \n",
"120 1 154 plymouth gas std \n",
"53 1 113 mazda gas std \n",
"54 1 113 mazda gas std \n",
"76 2 161 mitsubishi gas std \n",
"78 2 161 mitsubishi gas std \n",
"50 1 104 mazda gas std \n",
"121 1 154 plymouth gas std \n",
"77 2 161 mitsubishi gas std \n",
"187 2 94 volkswagen diesel turbo \n",
"122 1 154 plymouth gas std \n",
"26 1 148 dodge gas std \n",
"25 1 148 dodge gas std \n",
"24 1 148 dodge gas std \n",
".. ... ... ... ... ... \n",
"88 -1 137 mitsubishi gas std \n",
"167 2 134 toyota gas std \n",
"65 0 118 mazda gas std \n",
"12 0 188 bmw gas std \n",
"13 0 188 bmw gas std \n",
"70 -1 93 mercedes-benz diesel turbo \n",
"69 0 93 mercedes-benz diesel turbo \n",
"68 -1 93 mercedes-benz diesel turbo \n",
"67 -1 93 mercedes-benz diesel turbo \n",
"202 -1 95 volvo gas std \n",
"8 1 158 audi gas turbo \n",
"117 0 161 peugot gas turbo \n",
"125 3 186 porsche gas std \n",
"29 3 145 dodge gas turbo \n",
"102 0 108 nissan gas std \n",
"103 0 108 nissan gas std \n",
"101 0 128 nissan gas std \n",
"72 3 142 mercedes-benz gas std \n",
"180 -1 90 toyota gas std \n",
"104 3 194 nissan gas std \n",
"106 1 231 nissan gas std \n",
"201 -1 95 volvo gas turbo \n",
"137 2 104 saab gas turbo \n",
"136 3 150 saab gas turbo \n",
"179 3 197 toyota gas std \n",
"178 3 197 toyota gas std \n",
"198 -2 103 volvo gas turbo \n",
"199 -1 74 volvo gas turbo \n",
"47 0 145 jaguar gas std \n",
"105 3 194 nissan gas turbo \n",
"\n",
" num-of-doors body-style drive-wheels engine-location wheel-base ... \\\n",
"18 two hatchback fwd front 88.4 ... \n",
"184 four sedan fwd front 97.3 ... \n",
"182 two sedan fwd front 97.3 ... \n",
"90 two sedan fwd front 94.5 ... \n",
"159 four hatchback fwd front 95.7 ... \n",
"158 four sedan fwd front 95.7 ... \n",
"30 two hatchback fwd front 86.6 ... \n",
"32 two hatchback fwd front 93.7 ... \n",
"153 four wagon fwd front 95.7 ... \n",
"151 two hatchback fwd front 95.7 ... \n",
"155 four wagon 4wd front 95.7 ... \n",
"154 four wagon 4wd front 95.7 ... \n",
"150 two hatchback fwd front 95.7 ... \n",
"152 four hatchback fwd front 95.7 ... \n",
"118 two hatchback fwd front 93.7 ... \n",
"52 two hatchback fwd front 93.1 ... \n",
"51 two hatchback fwd front 93.1 ... \n",
"120 four hatchback fwd front 93.7 ... \n",
"53 four sedan fwd front 93.1 ... \n",
"54 four sedan fwd front 93.1 ... \n",
"76 two hatchback fwd front 93.7 ... \n",
"78 two hatchback fwd front 93.7 ... \n",
"50 two hatchback fwd front 93.1 ... \n",
"121 four sedan fwd front 93.7 ... \n",
"77 two hatchback fwd front 93.7 ... \n",
"187 four sedan fwd front 97.3 ... \n",
"122 four sedan fwd front 93.7 ... \n",
"26 four sedan fwd front 93.7 ... \n",
"25 four sedan fwd front 93.7 ... \n",
"24 four hatchback fwd front 93.7 ... \n",
".. ... ... ... ... ... ... \n",
"88 four sedan fwd front 96.3 ... \n",
"167 two hardtop rwd front 98.4 ... \n",
"65 four sedan rwd front 104.9 ... \n",
"12 two sedan rwd front 101.2 ... \n",
"13 four sedan rwd front 101.2 ... \n",
"70 four sedan rwd front 115.6 ... \n",
"69 two hardtop rwd front 106.7 ... \n",
"68 four wagon rwd front 110.0 ... \n",
"67 four sedan rwd front 110.0 ... \n",
"202 four sedan rwd front 109.1 ... \n",
"8 four sedan fwd front 105.8 ... \n",
"117 four sedan rwd front 108.0 ... \n",
"125 two hatchback rwd front 94.5 ... \n",
"29 two hatchback fwd front 95.9 ... \n",
"102 four wagon fwd front 100.4 ... \n",
"103 four sedan fwd front 100.4 ... \n",
"101 four sedan fwd front 100.4 ... \n",
"72 two convertible rwd front 96.6 ... \n",
"180 four sedan rwd front 104.5 ... \n",
"104 two hatchback rwd front 91.3 ... \n",
"106 two hatchback rwd front 99.2 ... \n",
"201 four sedan rwd front 109.1 ... \n",
"137 four sedan fwd front 99.1 ... \n",
"136 two hatchback fwd front 99.1 ... \n",
"179 two hatchback rwd front 102.9 ... \n",
"178 two hatchback rwd front 102.9 ... \n",
"198 four sedan rwd front 104.3 ... \n",
"199 four wagon rwd front 104.3 ... \n",
"47 four sedan rwd front 113.0 ... \n",
"105 two hatchback rwd front 91.3 ... \n",
"\n",
" engine-size fuel-system bore stroke compression-ratio horsepower \\\n",
"18 61 2bbl 2.91 3.03 9.5 48 \n",
"184 97 idi 3.01 3.4 23.0 52 \n",
"182 97 idi 3.01 3.4 23.0 52 \n",
"90 103 idi 2.99 3.47 21.9 55 \n",
"159 110 idi 3.27 3.35 22.5 56 \n",
"158 110 idi 3.27 3.35 22.5 56 \n",
"30 92 1bbl 2.91 3.41 9.6 58 \n",
"32 79 1bbl 2.91 3.07 10.1 60 \n",
"153 92 2bbl 3.05 3.03 9.0 62 \n",
"151 92 2bbl 3.05 3.03 9.0 62 \n",
"155 92 2bbl 3.05 3.03 9.0 62 \n",
"154 92 2bbl 3.05 3.03 9.0 62 \n",
"150 92 2bbl 3.05 3.03 9.0 62 \n",
"152 92 2bbl 3.05 3.03 9.0 62 \n",
"118 90 2bbl 2.97 3.23 9.4 68 \n",
"52 91 2bbl 3.03 3.15 9.0 68 \n",
"51 91 2bbl 3.03 3.15 9.0 68 \n",
"120 90 2bbl 2.97 3.23 9.4 68 \n",
"53 91 2bbl 3.03 3.15 9.0 68 \n",
"54 91 2bbl 3.08 3.15 9.0 68 \n",
"76 92 2bbl 2.97 3.23 9.4 68 \n",
"78 92 2bbl 2.97 3.23 9.4 68 \n",
"50 91 2bbl 3.03 3.15 9.0 68 \n",
"121 90 2bbl 2.97 3.23 9.4 68 \n",
"77 92 2bbl 2.97 3.23 9.4 68 \n",
"187 97 idi 3.01 3.4 23.0 68 \n",
"122 98 2bbl 2.97 3.23 9.4 68 \n",
"26 90 2bbl 2.97 3.23 9.4 68 \n",
"25 90 2bbl 2.97 3.23 9.4 68 \n",
"24 90 2bbl 2.97 3.23 9.4 68 \n",
".. ... ... ... ... ... ... \n",
"88 110 spdi 3.17 3.46 7.5 116 \n",
"167 146 mpfi 3.62 3.5 9.3 116 \n",
"65 140 mpfi 3.76 3.16 8.0 120 \n",
"12 164 mpfi 3.31 3.19 9.0 121 \n",
"13 164 mpfi 3.31 3.19 9.0 121 \n",
"70 183 idi 3.58 3.64 21.5 123 \n",
"69 183 idi 3.58 3.64 21.5 123 \n",
"68 183 idi 3.58 3.64 21.5 123 \n",
"67 183 idi 3.58 3.64 21.5 123 \n",
"202 173 mpfi 3.58 2.87 8.8 134 \n",
"8 131 mpfi 3.13 3.4 8.3 140 \n",
"117 134 mpfi 3.61 3.21 7.0 142 \n",
"125 151 mpfi 3.94 3.11 9.5 143 \n",
"29 156 mfi 3.6 3.9 7.0 145 \n",
"102 181 mpfi 3.43 3.27 9.0 152 \n",
"103 181 mpfi 3.43 3.27 9.0 152 \n",
"101 181 mpfi 3.43 3.27 9.0 152 \n",
"72 234 mpfi 3.46 3.1 8.3 155 \n",
"180 171 mpfi 3.27 3.35 9.2 156 \n",
"104 181 mpfi 3.43 3.27 9.0 160 \n",
"106 181 mpfi 3.43 3.27 9.0 160 \n",
"201 141 mpfi 3.78 3.15 8.7 160 \n",
"137 121 mpfi 3.54 3.07 9.0 160 \n",
"136 121 mpfi 3.54 3.07 9.0 160 \n",
"179 171 mpfi 3.27 3.35 9.3 161 \n",
"178 171 mpfi 3.27 3.35 9.3 161 \n",
"198 130 mpfi 3.62 3.15 7.5 162 \n",
"199 130 mpfi 3.62 3.15 7.5 162 \n",
"47 258 mpfi 3.63 4.17 8.1 176 \n",
"105 181 mpfi 3.43 3.27 7.8 200 \n",
"\n",
" peak-rpm city-mpg highway-mpg price \n",
"18 5100 47 53 5151 \n",
"184 4800 37 46 7995 \n",
"182 4800 37 46 7775 \n",
"90 4800 45 50 7099 \n",
"159 4500 38 47 7788 \n",
"158 4500 34 36 7898 \n",
"30 4800 49 54 6479 \n",
"32 5500 38 42 5399 \n",
"153 4800 31 37 6918 \n",
"151 4800 31 38 6338 \n",
"155 4800 27 32 8778 \n",
"154 4800 27 32 7898 \n",
"150 4800 35 39 5348 \n",
"152 4800 31 38 6488 \n",
"118 5500 37 41 5572 \n",
"52 5000 31 38 6795 \n",
"51 5000 31 38 6095 \n",
"120 5500 31 38 6229 \n",
"53 5000 31 38 6695 \n",
"54 5000 31 38 7395 \n",
"76 5500 37 41 5389 \n",
"78 5500 31 38 6669 \n",
"50 5000 30 31 5195 \n",
"121 5500 31 38 6692 \n",
"77 5500 31 38 6189 \n",
"187 4500 37 42 9495 \n",
"122 5500 31 38 7609 \n",
"26 5500 31 38 7609 \n",
"25 5500 31 38 6692 \n",
"24 5500 31 38 6229 \n",
".. ... ... ... ... \n",
"88 5500 23 30 9279 \n",
"167 4800 24 30 8449 \n",
"65 5000 19 27 18280 \n",
"12 4250 21 28 20970 \n",
"13 4250 21 28 21105 \n",
"70 4350 22 25 31600 \n",
"69 4350 22 25 28176 \n",
"68 4350 22 25 28248 \n",
"67 4350 22 25 25552 \n",
"202 5500 18 23 21485 \n",
"8 5500 17 20 23875 \n",
"117 5600 18 24 18150 \n",
"125 5500 19 27 22018 \n",
"29 5000 19 24 12964 \n",
"102 5200 17 22 14399 \n",
"103 5200 19 25 13499 \n",
"101 5200 17 22 13499 \n",
"72 4750 16 18 35056 \n",
"180 5200 20 24 15690 \n",
"104 5200 19 25 17199 \n",
"106 5200 19 25 18399 \n",
"201 5300 19 25 19045 \n",
"137 5500 19 26 18620 \n",
"136 5500 19 26 18150 \n",
"179 5200 19 24 15998 \n",
"178 5200 20 24 16558 \n",
"198 5100 17 22 18420 \n",
"199 5100 17 22 18950 \n",
"47 4750 15 19 32250 \n",
"105 5200 17 23 19699 \n",
"\n",
"[159 rows x 26 columns]"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# For the last point, you might want to turn the strings into number to get the proper sort. \n",
"# Once you are done with that part, the answer is literally one line\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"data = pd.read_csv(\"Automobile_data 3.csv\")\n",
"# printing first 10 rows\n",
"data.head(10)\n",
"# I remove the rows that do not contain a number for the price\n",
"data = data[(data.astype(str) != '?').all(axis=1)]\n",
"\n",
"data.iloc[np.argsort(data['horsepower'].values.astype(np.float))]\n",
"\n",
"\n",
"# returning the brands\n",
"#data"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.13"
}
},
"nbformat": 4,
"nbformat_minor": 2
}