{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Introducing Pandas\n",
"\n",
"Pandas is a Python library that makes handling tabular data easier. Since we're doing data science - this is something we'll use from time to time!\n",
"\n",
"It's one of three libraries you'll encounter repeatedly in the field of data science:\n",
"\n",
"## Pandas\n",
"Introduces \"Data Frames\" and \"Series\" that allow you to slice and dice rows and columns of information.\n",
"\n",
"## NumPy\n",
"Usually you'll encounter \"NumPy arrays\", which are multi-dimensional array objects. It is easy to create a Pandas DataFrame from a NumPy array, and Pandas DataFrames can be cast as NumPy arrays. NumPy arrays are mainly important because of...\n",
"\n",
"## Scikit_Learn\n",
"The machine learning library we'll use throughout this course is scikit_learn, or sklearn, and it generally takes NumPy arrays as its input.\n",
"\n",
"So, a typical thing to do is to load, clean, and manipulate your input data using Pandas. Then convert your Pandas DataFrame into a NumPy array as it's being passed into some Scikit_Learn function. That conversion can often happen automatically.\n",
"\n",
"Let's start by loading some comma-separated value data using Pandas into a DataFrame:\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"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>Years Experience</th>\n",
" <th>Employed?</th>\n",
" <th>Previous employers</th>\n",
" <th>Level of Education</th>\n",
" <th>Top-tier school</th>\n",
" <th>Interned</th>\n",
" <th>Hired</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>Y</td>\n",
" <td>4</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" <td>BS</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>7</td>\n",
" <td>N</td>\n",
" <td>6</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2</td>\n",
" <td>Y</td>\n",
" <td>1</td>\n",
" <td>MS</td>\n",
" <td>Y</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20</td>\n",
" <td>N</td>\n",
" <td>2</td>\n",
" <td>PhD</td>\n",
" <td>Y</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Years Experience Employed? Previous employers Level of Education \\\n",
"0 10 Y 4 BS \n",
"1 0 N 0 BS \n",
"2 7 N 6 BS \n",
"3 2 Y 1 MS \n",
"4 20 N 2 PhD \n",
"\n",
" Top-tier school Interned Hired \n",
"0 N N Y \n",
"1 Y Y Y \n",
"2 N N N \n",
"3 Y N Y \n",
"4 Y N N "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%matplotlib inline\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"df = pd.read_csv(\"PastHires.csv\")\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"head() is a handy way to visualize what you've loaded. You can pass it an integer to see some specific number of rows at the beginning of your DataFrame:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"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>Years Experience</th>\n",
" <th>Employed?</th>\n",
" <th>Previous employers</th>\n",
" <th>Level of Education</th>\n",
" <th>Top-tier school</th>\n",
" <th>Interned</th>\n",
" <th>Hired</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>Y</td>\n",
" <td>4</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" <td>BS</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>7</td>\n",
" <td>N</td>\n",
" <td>6</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2</td>\n",
" <td>Y</td>\n",
" <td>1</td>\n",
" <td>MS</td>\n",
" <td>Y</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20</td>\n",
" <td>N</td>\n",
" <td>2</td>\n",
" <td>PhD</td>\n",
" <td>Y</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" <td>PhD</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>5</td>\n",
" <td>Y</td>\n",
" <td>2</td>\n",
" <td>MS</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>3</td>\n",
" <td>N</td>\n",
" <td>1</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>15</td>\n",
" <td>Y</td>\n",
" <td>5</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Years Experience Employed? Previous employers Level of Education \\\n",
"0 10 Y 4 BS \n",
"1 0 N 0 BS \n",
"2 7 N 6 BS \n",
"3 2 Y 1 MS \n",
"4 20 N 2 PhD \n",
"5 0 N 0 PhD \n",
"6 5 Y 2 MS \n",
"7 3 N 1 BS \n",
"8 15 Y 5 BS \n",
"9 0 N 0 BS \n",
"\n",
" Top-tier school Interned Hired \n",
"0 N N Y \n",
"1 Y Y Y \n",
"2 N N N \n",
"3 Y N Y \n",
"4 Y N N \n",
"5 Y Y Y \n",
"6 N Y Y \n",
"7 N Y Y \n",
"8 N N Y \n",
"9 N N N "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can also view the end of your data with tail():"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"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>Years Experience</th>\n",
" <th>Employed?</th>\n",
" <th>Previous employers</th>\n",
" <th>Level of Education</th>\n",
" <th>Top-tier school</th>\n",
" <th>Interned</th>\n",
" <th>Hired</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>1</td>\n",
" <td>N</td>\n",
" <td>1</td>\n",
" <td>PhD</td>\n",
" <td>Y</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>4</td>\n",
" <td>Y</td>\n",
" <td>1</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" <td>PhD</td>\n",
" <td>Y</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Years Experience Employed? Previous employers Level of Education \\\n",
"9 0 N 0 BS \n",
"10 1 N 1 PhD \n",
"11 4 Y 1 BS \n",
"12 0 N 0 PhD \n",
"\n",
" Top-tier school Interned Hired \n",
"9 N N N \n",
"10 Y N N \n",
"11 N Y Y \n",
"12 Y N Y "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.tail(4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We often talk about the \"shape\" of your DataFrame. This is just its dimensions. This particular CSV file has 13 rows with 7 columns per row:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(13, 7)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The total size of the data frame is the rows * columns:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"91"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.size"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The len() function gives you the number of rows in a DataFrame:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"13"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If your DataFrame has named columns (in our case, extracted automatically from the first row of a .csv file,) you can get an array of them back:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Years Experience', 'Employed?', 'Previous employers',\n",
" 'Level of Education', 'Top-tier school', 'Interned', 'Hired'],\n",
" dtype='object')"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.columns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Extracting a single column from your DataFrame looks like this - this gives you back a \"Series\" in Pandas:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 Y\n",
"1 Y\n",
"2 N\n",
"3 Y\n",
"4 N\n",
"5 Y\n",
"6 Y\n",
"7 Y\n",
"8 Y\n",
"9 N\n",
"10 N\n",
"11 Y\n",
"12 Y\n",
"Name: Hired, dtype: object"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['Hired']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can also extract a given range of rows from a named column, like so:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 Y\n",
"1 Y\n",
"2 N\n",
"3 Y\n",
"4 N\n",
"Name: Hired, dtype: object"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['Hired'][:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Or even extract a single value from a specified column / row combination:"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Y'"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['Hired'][5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To extract more than one column, you pass in an array of column names instead of a single one:"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"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>Years Experience</th>\n",
" <th>Hired</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>7</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>0</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>5</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>3</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>15</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>1</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>4</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>0</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Years Experience Hired\n",
"0 10 Y\n",
"1 0 Y\n",
"2 7 N\n",
"3 2 Y\n",
"4 20 N\n",
"5 0 Y\n",
"6 5 Y\n",
"7 3 Y\n",
"8 15 Y\n",
"9 0 N\n",
"10 1 N\n",
"11 4 Y\n",
"12 0 Y"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[['Years Experience', 'Hired']]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can also extract specific ranges of rows from more than one column, in the way you'd expect:"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"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>Years Experience</th>\n",
" <th>Hired</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>7</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20</td>\n",
" <td>N</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Years Experience Hired\n",
"0 10 Y\n",
"1 0 Y\n",
"2 7 N\n",
"3 2 Y\n",
"4 20 N"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[['Years Experience', 'Hired']][:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Sorting your DataFrame by a specific column looks like this:"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"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>Years Experience</th>\n",
" <th>Employed?</th>\n",
" <th>Previous employers</th>\n",
" <th>Level of Education</th>\n",
" <th>Top-tier school</th>\n",
" <th>Interned</th>\n",
" <th>Hired</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" <td>BS</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" <td>PhD</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>0</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" <td>PhD</td>\n",
" <td>Y</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>1</td>\n",
" <td>N</td>\n",
" <td>1</td>\n",
" <td>PhD</td>\n",
" <td>Y</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2</td>\n",
" <td>Y</td>\n",
" <td>1</td>\n",
" <td>MS</td>\n",
" <td>Y</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>3</td>\n",
" <td>N</td>\n",
" <td>1</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>4</td>\n",
" <td>Y</td>\n",
" <td>1</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>5</td>\n",
" <td>Y</td>\n",
" <td>2</td>\n",
" <td>MS</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>7</td>\n",
" <td>N</td>\n",
" <td>6</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>Y</td>\n",
" <td>4</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>15</td>\n",
" <td>Y</td>\n",
" <td>5</td>\n",
" <td>BS</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" <td>Y</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20</td>\n",
" <td>N</td>\n",
" <td>2</td>\n",
" <td>PhD</td>\n",
" <td>Y</td>\n",
" <td>N</td>\n",
" <td>N</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Years Experience Employed? Previous employers Level of Education \\\n",
"1 0 N 0 BS \n",
"5 0 N 0 PhD \n",
"9 0 N 0 BS \n",
"12 0 N 0 PhD \n",
"10 1 N 1 PhD \n",
"3 2 Y 1 MS \n",
"7 3 N 1 BS \n",
"11 4 Y 1 BS \n",
"6 5 Y 2 MS \n",
"2 7 N 6 BS \n",
"0 10 Y 4 BS \n",
"8 15 Y 5 BS \n",
"4 20 N 2 PhD \n",
"\n",
" Top-tier school Interned Hired \n",
"1 Y Y Y \n",
"5 Y Y Y \n",
"9 N N N \n",
"12 Y N Y \n",
"10 Y N N \n",
"3 Y N Y \n",
"7 N Y Y \n",
"11 N Y Y \n",
"6 N Y Y \n",
"2 N N N \n",
"0 N N Y \n",
"8 N N Y \n",
"4 Y N N "
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sort_values(['Years Experience'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can break down the number of unique values in a given column into a Series using value_counts() - this is a good way to understand the distribution of your data:"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Level of Education\n",
"BS 7\n",
"PhD 4\n",
"MS 2\n",
"Name: count, dtype: int64"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"degree_counts = df['Level of Education'].value_counts()\n",
"degree_counts"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pandas even makes it easy to plot a Series or DataFrame - just call plot():"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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2SJjjO6++26dP3/eu83Zs2f1/PPP64033tCGDRuUm5tbpucEVEoGgHVpaWmmb9++l73vT3/6k0lJSfFZl5eXZySZ/fv3G2OMueeee8zw4cO998+cOdM0atTIXLhwwRhjTJcuXcwzzzzj8zPeeOMNEx8f712WZJYuXXrZGc6cOWOqV69u3nzzTe+6c+fOmYSEBPPcc89518XGxpq5c+eW+ly7du1qqlevbmrWrOlzy8zM9M5et25dU1hY6H3MjBkzjCSzY8cOY4wxc+fONbGxsT4/d+nSpeanf0UlJyebgQMHljrLT23dutVIMqdPnzbGGLN27VojyZw6darY/I888ogxxpicnBwjyXz88cfe+/Pz801UVJT55z//6Z1Vkjlw4IB3m1deecU0bNjwimcDKjOusQDKWXZ2ttauXatatWoVu+/gwYO6/vrrNXDgQD344IN69dVX5XQ69eabb+r+++9XtWrVvD9j27ZtPkcoLl68qO+//15nz5792esbDh48qPPnz6tz587eddWrV9ctt9yiffv2+f2cBg4cqCeeeMJnXVxcnCRp3759uvnmm31mSk5O9nsfO3fu1MiRI0u8f8eOHZoyZYp27typkydPek8l5ebmqnXr1le0j3379ik8PFy33nqrd129evV0ww03+PxeatSooRYtWniX4+PjvaddgKqOsADKWVFRkfr06aNnn3222H3x8fGSpD59+qioqEgrV65Ux44dtXHjRr3wwgs+P2Pq1Kk+1xj8KDIy8mdnMP//K4IuvYbBGFNs3ZWIjY1VYmJiqfsqTVhYWLHtfnrqQZKioqJKfHxhYaFSUlKUkpKi+fPnq0GDBsrNzVWPHj107ty5K3gGpc966e+levXqPvc7HI4rep5AVcA1FkA5+8UvfqE9e/aoWbNmSkxM9Ln9+HXjUVFR6tevn958800tXLhQ119/vTp06ODzM/bv31/s8YmJiQoL+/k/1omJiYqIiNCmTZu8686fP6/t27erVatWVp9v69attWvXLn333XfedVlZWT7bNGjQQKdPn1ZhYaF33aWfcdG2bVt9+OGHl93H559/rvz8fE2fPl1dunRRy5Ytix1BiIiIkPTDkZ3SZr1w4YI++eQT77oTJ04oJyfH+u8FqKwICyBACgoKtHPnTp9bbm6uxowZo5MnT2rAgAHaunWrDh06pH//+98aPny4zz96AwcO1MqVKzVnzpxiX0f+5z//WfPmzdOUKVO0Z88e7du3T2+99ZaefPLJK5qtZs2aGj16tB577DGtWrVKe/fu1ciRI3X27FmNGDHC7+d69uxZHT161Od26tQpSdIDDzygsLAwjRgxQnv37tV7772n559/3ufxt956q2rUqKFJkybpwIEDWrBgQbF3oUyePFkLFy7U5MmTtW/fPu3evVvPPfecJKlJkyaKiIjQ3//+dx06dEjLly8v9tkUTZs2lcPh0Lvvvqv//e9/OnPmTLHncd1116lv374aOXKkNm3apF27dmnQoEG65ppr1LdvX79/L0CVFMTrO4BKKy0tzUgqdktLSzPG/HCR4K9//WtTu3ZtExUVZVq2bGnGjx9vioqKvD/jwoULJj4+3kgyBw8eLLaPVatWmU6dOpmoqCgTExNjbrnlFjNr1izv/Srl4k1jjPnuu+/M2LFjTf369Y3T6TSdO3c2W7du9dnmSi/evNxz7dGjh3ebLVu2mJtvvtlERESYdu3amcWLF/tcvGnMDxdrJiYmmsjISNO7d28za9Ysc+lfUYsXLzbt2rUzERERpn79+qZfv37e+xYsWGCaNWtmnE6nSU5ONsuXLy+2j6eeeso0atTIOBwO73+Ln168aYwxJ0+eNIMHDzaxsbEmKirK9OjRw+Tk5Hjvv5ILTYGqzGEMJwYBAIAdnAoBAADWEBYAAMAawgIAAFhDWAAAAGsICwAAYA1hAQAArCEsAACANYQFAACwhrAAAADWEBYAAMAawgIAAFjz/wDrlGHobsrQeAAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"degree_counts.plot(kind='bar')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercise\n",
"\n",
"Try extracting rows 5-10 of our DataFrame, preserving only the \"Previous Employers\" and \"Hired\" columns. Assign that to a new DataFrame, and create a histogram plotting the distribution of the previous employers in this subset of the data."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:base] *",
"language": "python",
"name": "conda-base-py"
},
"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.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}