Skip to content

Instantly share code, notes, and snippets.

@727021
Last active September 28, 2020 16:59
Show Gist options
  • Save 727021/73d9c4f54081d59a4cf3ac1cb02082cb to your computer and use it in GitHub Desktop.
Save 727021/73d9c4f54081d59a4cf3ac1cb02082cb to your computer and use it in GitHub Desktop.
Assessment.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Assessment.ipynb",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/727021/73d9c4f54081d59a4cf3ac1cb02082cb/assessment.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "E5dpj74Hya2q"
},
"source": [
"# Introduction\n",
"This assignment will test how well you're able to perform various data science-related tasks using Python, pandas, and seaborn, as well as how well you can interpret statistical and probabilistic results.\n",
"\n",
"Each Problem Group below will center around a particular dataset that you have worked with before.\n",
"\n",
"To ensure you receive full credit for a question, make sure you demonstrate the appropriate pandas, seaborn, or other commands as requested in the provided code blocks. \n",
"\n",
"You may find that some questions require multiple steps to fully answer. Others require some mental arithmetic in addition to pandas commands. Use your best judgment.\n",
"\n",
"## Submission\n",
"Each problem group asks a series of questions. This assignment consists of two submissions:\n",
"\n",
"1. After completing the questions below, open the Module 01 Assessment Quiz in Canvas and enter your answers to these questions there.\n",
"\n",
"2. After completing and submitting the quiz, save this Colab notebook as a GitHub Gist (You'll need to create a GitHub account for this), by selecting `Save a copy as a GitHub Gist` from the `File` menu above.\n",
"\n",
" In Canvas, open the Module 01 Assessment GitHub Gist assignment and paste the GitHub Gist URL for this notebook. Then submit that assignment."
]
},
{
"cell_type": "code",
"metadata": {
"id": "sth8revcidyV"
},
"source": [
"# https://stackoverflow.com/a/17303428/2031203\n",
"# Make answers a little easier to see\n",
"class color:\n",
" PURPLE = '\\033[95m'\n",
" CYAN = '\\033[96m'\n",
" DARKCYAN = '\\033[36m'\n",
" BLUE = '\\033[94m'\n",
" GREEN = '\\033[92m'\n",
" YELLOW = '\\033[93m'\n",
" RED = '\\033[91m'\n",
" BOLD = '\\033[1m'\n",
" UNDERLINE = '\\033[4m'\n",
" END = '\\033[0m'"
],
"execution_count": 28,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "WgYhh-W3xk4e"
},
"source": [
"## Problem Group 1\n",
"\n",
"For the questions in this group, you'll work with the Netflix Movies Dataset found at this url: [https://raw.githubusercontent.com/byui-cse/cse450-course/master/data/netflix_titles.csv](https://raw.githubusercontent.com/byui-cse/cse450-course/master/data/netflix_titles.csv)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kulUs9K7xxB3"
},
"source": [
"### Question 1\n",
"Load the dataset into a Pandas data frame and determine what data type is used to store the `release_year` feature."
]
},
{
"cell_type": "code",
"metadata": {
"id": "ecSfSVrsxjx5"
},
"source": [
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"\n",
"sns.set_style('darkgrid')"
],
"execution_count": 2,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "IJwMI4R-daM1",
"outputId": "8a0d27dc-4baa-48c1-991a-68b8e9c62039",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 652
}
},
"source": [
"netflix = pd.read_csv('https://raw.githubusercontent.com/byui-cse/cse450-course/master/data/netflix_titles.csv')\n",
"netflix.head()"
],
"execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"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>show_id</th>\n",
" <th>type</th>\n",
" <th>title</th>\n",
" <th>director</th>\n",
" <th>cast</th>\n",
" <th>country</th>\n",
" <th>date_added</th>\n",
" <th>release_year</th>\n",
" <th>rating</th>\n",
" <th>duration</th>\n",
" <th>listed_in</th>\n",
" <th>description</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>81145628</td>\n",
" <td>Movie</td>\n",
" <td>Norm of the North: King Sized Adventure</td>\n",
" <td>Richard Finn, Tim Maltby</td>\n",
" <td>Alan Marriott, Andrew Toth, Brian Dobson, Cole...</td>\n",
" <td>United States, India, South Korea, China</td>\n",
" <td>September 9, 2019</td>\n",
" <td>2019</td>\n",
" <td>TV-PG</td>\n",
" <td>90 min</td>\n",
" <td>Children &amp; Family Movies, Comedies</td>\n",
" <td>Before planning an awesome wedding for his gra...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>80117401</td>\n",
" <td>Movie</td>\n",
" <td>Jandino: Whatever it Takes</td>\n",
" <td>NaN</td>\n",
" <td>Jandino Asporaat</td>\n",
" <td>United Kingdom</td>\n",
" <td>September 9, 2016</td>\n",
" <td>2016</td>\n",
" <td>TV-MA</td>\n",
" <td>94 min</td>\n",
" <td>Stand-Up Comedy</td>\n",
" <td>Jandino Asporaat riffs on the challenges of ra...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>70234439</td>\n",
" <td>TV Show</td>\n",
" <td>Transformers Prime</td>\n",
" <td>NaN</td>\n",
" <td>Peter Cullen, Sumalee Montano, Frank Welker, J...</td>\n",
" <td>United States</td>\n",
" <td>September 8, 2018</td>\n",
" <td>2013</td>\n",
" <td>TV-Y7-FV</td>\n",
" <td>1 Season</td>\n",
" <td>Kids' TV</td>\n",
" <td>With the help of three human allies, the Autob...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>80058654</td>\n",
" <td>TV Show</td>\n",
" <td>Transformers: Robots in Disguise</td>\n",
" <td>NaN</td>\n",
" <td>Will Friedle, Darren Criss, Constance Zimmer, ...</td>\n",
" <td>United States</td>\n",
" <td>September 8, 2018</td>\n",
" <td>2016</td>\n",
" <td>TV-Y7</td>\n",
" <td>1 Season</td>\n",
" <td>Kids' TV</td>\n",
" <td>When a prison ship crash unleashes hundreds of...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>80125979</td>\n",
" <td>Movie</td>\n",
" <td>#realityhigh</td>\n",
" <td>Fernando Lebrija</td>\n",
" <td>Nesta Cooper, Kate Walsh, John Michael Higgins...</td>\n",
" <td>United States</td>\n",
" <td>September 8, 2017</td>\n",
" <td>2017</td>\n",
" <td>TV-14</td>\n",
" <td>99 min</td>\n",
" <td>Comedies</td>\n",
" <td>When nerdy high schooler Dani finally attracts...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" show_id ... description\n",
"0 81145628 ... Before planning an awesome wedding for his gra...\n",
"1 80117401 ... Jandino Asporaat riffs on the challenges of ra...\n",
"2 70234439 ... With the help of three human allies, the Autob...\n",
"3 80058654 ... When a prison ship crash unleashes hundreds of...\n",
"4 80125979 ... When nerdy high schooler Dani finally attracts...\n",
"\n",
"[5 rows x 12 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 3
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "3CfKMtvppESb",
"outputId": "5d17afa5-f133-4fd7-86af-099ddbc4009d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"print('Release Year dtype: {}{}'.format(color.BOLD+color.RED,netflix.dtypes['release_year']))"
],
"execution_count": 71,
"outputs": [
{
"output_type": "stream",
"text": [
"Release Year dtype: \u001b[1m\u001b[91mint64\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ivpHTGpczpyM"
},
"source": [
"### Question 2\n",
"Filter your dataset so it contains only `TV Shows`. How many of those TV Shows were rated `TV-Y7`?"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Zf6QABfXx5Xh",
"outputId": "7c08d1c6-bf4b-405f-e3aa-a7ce6b65adbe",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"tv = netflix[netflix['type'] == 'TV Show']\n",
"print('TV Shows rated TV-Y7: ', len(tv[tv['rating'] == 'TV-Y7']), sep=color.BOLD + color.RED)"
],
"execution_count": 30,
"outputs": [
{
"output_type": "stream",
"text": [
"TV Shows rated TV-Y7: \u001b[1m\u001b[91m100\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-esock-41eGo"
},
"source": [
"### Question 3\n",
"Further filter your dataset so it only contains TV Shows released between the years 2000 and 2009 inclusive. How many of *those* shows were rated `TV-Y7`?"
]
},
{
"cell_type": "code",
"metadata": {
"id": "cBNHqCgz0WDp",
"outputId": "87370712-4cf9-4a89-abe2-b4f4d5a903b2",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"filtered_tv = tv[(tv['rating'] == 'TV-Y7') & (2000 <= tv['release_year']) & (tv['release_year'] <= 2009)]\n",
"print('TV Shows rated TV-Y7 between 2000 and 2009: ', len(filtered_tv), sep=color.BOLD + color.RED)"
],
"execution_count": 31,
"outputs": [
{
"output_type": "stream",
"text": [
"TV Shows rated TV-Y7 between 2000 and 2009: \u001b[1m\u001b[91m4\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "s9pLfYQx2W8s"
},
"source": [
"### Question 4\n",
"Use seaborn to create a count plot showing the relative counts of the ratings of TV-Shows released between the years 2000 and 2009, inclusive.\n",
"\n",
"What is the top-most number on the y-axis scale?"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Akz49cnq1qUI",
"outputId": "ffec16dc-6be4-424c-e2fa-57a8befe2810",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 295
}
},
"source": [
"ratings = sns.countplot(x='rating',data=tv[(tv['release_year'] >= 2000) & (tv['release_year'] <= 2009)])\n",
"ratings.set_xlabel('Rating')\n",
"ratings.set_ylabel('# TV Shows')\n",
"ratings.set_title('Netflix TV Show Rating Counts (2000-2009)')\n",
"plt.show()"
],
"execution_count": 33,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "cB4zmoJm3XDj"
},
"source": [
"## Problem Group 2\n",
"\n",
"For the questions in this group, you'll work with the Cereal Dataset found at this url: [https://raw.githubusercontent.com/byui-cse/cse450-course/master/data/cereal.csv](https://raw.githubusercontent.com/byui-cse/cse450-course/master/data/cereal.csv)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "BE_TdsHa3sMj"
},
"source": [
"### Question 5\n",
"After importing the dataset into a pandas data frame, determine the median amount of `protein` in cereal brands manufactured by Kelloggs. (`mfr` code \"K\")"
]
},
{
"cell_type": "code",
"metadata": {
"id": "fBXFGnfP2tfV",
"outputId": "f4ad365f-ca50-4f64-c292-a44fb6ebb64c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 366
}
},
"source": [
"cereal = pd.read_csv('https://raw.githubusercontent.com/byui-cse/cse450-course/master/data/cereal.csv')\n",
"cereal.head()"
],
"execution_count": 22,
"outputs": [
{
"output_type": "execute_result",
"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>name</th>\n",
" <th>mfr</th>\n",
" <th>type</th>\n",
" <th>calories</th>\n",
" <th>protein</th>\n",
" <th>fat</th>\n",
" <th>sodium</th>\n",
" <th>fiber</th>\n",
" <th>carbo</th>\n",
" <th>sugars</th>\n",
" <th>potass</th>\n",
" <th>vitamins</th>\n",
" <th>shelf</th>\n",
" <th>weight</th>\n",
" <th>cups</th>\n",
" <th>rating</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>100% Bran</td>\n",
" <td>N</td>\n",
" <td>C</td>\n",
" <td>70</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>130</td>\n",
" <td>10.0</td>\n",
" <td>5.0</td>\n",
" <td>6</td>\n",
" <td>280</td>\n",
" <td>25</td>\n",
" <td>3</td>\n",
" <td>1.0</td>\n",
" <td>0.33</td>\n",
" <td>68.402973</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>100% Natural Bran</td>\n",
" <td>Q</td>\n",
" <td>C</td>\n",
" <td>120</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>15</td>\n",
" <td>2.0</td>\n",
" <td>8.0</td>\n",
" <td>8</td>\n",
" <td>135</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>1.0</td>\n",
" <td>1.00</td>\n",
" <td>33.983679</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>All-Bran</td>\n",
" <td>K</td>\n",
" <td>C</td>\n",
" <td>70</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>260</td>\n",
" <td>9.0</td>\n",
" <td>7.0</td>\n",
" <td>5</td>\n",
" <td>320</td>\n",
" <td>25</td>\n",
" <td>3</td>\n",
" <td>1.0</td>\n",
" <td>0.33</td>\n",
" <td>59.425505</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>All-Bran with Extra Fiber</td>\n",
" <td>K</td>\n",
" <td>C</td>\n",
" <td>50</td>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>140</td>\n",
" <td>14.0</td>\n",
" <td>8.0</td>\n",
" <td>0</td>\n",
" <td>330</td>\n",
" <td>25</td>\n",
" <td>3</td>\n",
" <td>1.0</td>\n",
" <td>0.50</td>\n",
" <td>93.704912</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Almond Delight</td>\n",
" <td>R</td>\n",
" <td>C</td>\n",
" <td>110</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>200</td>\n",
" <td>1.0</td>\n",
" <td>14.0</td>\n",
" <td>8</td>\n",
" <td>-1</td>\n",
" <td>25</td>\n",
" <td>3</td>\n",
" <td>1.0</td>\n",
" <td>0.75</td>\n",
" <td>34.384843</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" name mfr type calories ... shelf weight cups rating\n",
"0 100% Bran N C 70 ... 3 1.0 0.33 68.402973\n",
"1 100% Natural Bran Q C 120 ... 3 1.0 1.00 33.983679\n",
"2 All-Bran K C 70 ... 3 1.0 0.33 59.425505\n",
"3 All-Bran with Extra Fiber K C 50 ... 3 1.0 0.50 93.704912\n",
"4 Almond Delight R C 110 ... 3 1.0 0.75 34.384843\n",
"\n",
"[5 rows x 16 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 22
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Vn6nmEjXh8s2",
"outputId": "d81fa50c-f694-4cd0-c521-5943ca085b68",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"kelloggs = cereal[cereal['mfr'] == 'K']\n",
"print('Median Kelloggs protein: ', kelloggs['protein'].median(), sep=color.BOLD + color.RED)"
],
"execution_count": 34,
"outputs": [
{
"output_type": "stream",
"text": [
"Median Kelloggs protein: \u001b[1m\u001b[91m3.0\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_tAtBuST4vFq"
},
"source": [
"### Question 6\n",
"If you were to choose a brand of cereal made by Kelloggs at random (counting only the brands in this dataset), what is:\n",
"\n",
" P( protein = 3 )\n",
"\n",
"For the brand you chose? Round your answer to two decimal places."
]
},
{
"cell_type": "code",
"metadata": {
"id": "PLIl-nwZ4PT9",
"outputId": "f851942c-49df-4ee6-8a8e-c2ea48d78ec6",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"P_protein_3 = kelloggs['protein'].value_counts(normalize=True)[3]\n",
"print('P(protein=3) = {}{:.2f}'.format(color.BOLD + color.RED, P_protein_3))"
],
"execution_count": 72,
"outputs": [
{
"output_type": "stream",
"text": [
"P(protein=3) = \u001b[1m\u001b[91m0.39\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "W6nZYMTM6pbi"
},
"source": [
"### Question 7\n",
"If you were to choose a brand of cereal made by Kelloggs at random (counting only the brands in this dataset), what is:\n",
"\n",
" P( calories > 100 | protein = 3)\n",
"\n",
"for the brand you chose? Round your answer to two decimal places."
]
},
{
"cell_type": "code",
"metadata": {
"id": "TJITPcq25KwS",
"outputId": "9b9a47f9-a454-4a86-cbc2-1e4873f0665d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"kelloggs_protein_3 = kelloggs[kelloggs['protein'] == 3]\n",
"P_cal_gt_100_given_protein_3 = len(kelloggs_protein_3[kelloggs_protein_3['calories'] > 100]) / len(kelloggs_protein_3)\n",
"print('P(calories > 100 | protein = 3) = {}{:.2f}'.format(color.BOLD + color.RED, P_cal_gt_100_given_protein_3))"
],
"execution_count": 73,
"outputs": [
{
"output_type": "stream",
"text": [
"P(calories > 100 | protein = 3) = \u001b[1m\u001b[91m0.67\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "W3del4PC9NJ-"
},
"source": [
"### Question 8\n",
"In order to comply with new government regulations, all cereals must now come with a \"Healthiness\" rating. This rating is calculated based on this formula:\n",
"\n",
" healthiness = (protein + fiber) / sugar\n",
"\n",
"Create a new `healthiness` column populated with values based on the above formula.\n",
"\n",
"Then, determine the median healthiness value for only General Mills cereals (`mfr` = \"G\"), rounded to two decimal places."
]
},
{
"cell_type": "code",
"metadata": {
"id": "TqFx9yvV6LDX",
"outputId": "b7434c1b-dee1-48b6-e1e1-6f8936c57b72",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"cereal['healthiness'] = (cereal['protein'] + cereal['fiber']) / cereal['sugars']\n",
"print('Median General Mills Healthiness: {}{:.2f}'.format(color.BOLD + color.RED, cereal[cereal['mfr'] == 'G']['healthiness'].median()))"
],
"execution_count": 74,
"outputs": [
{
"output_type": "stream",
"text": [
"Median General Mills Healthiness: \u001b[1m\u001b[91m0.47\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "AcuUNAxC-g7c"
},
"source": [
"## Problem Group 3\n",
"\n",
"For the questions in this group, you'll work with the Titanic Dataset found at this url: [https://raw.githubusercontent.com/byui-cse/cse450-course/master/data/titanic.csv](https://raw.githubusercontent.com/byui-cse/cse450-course/master/data/titanic.csv)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "POOuuXfYAJQK"
},
"source": [
"### Question 9\n",
"\n",
"After loading the dataset into a pandas DataFrame, create a new column called `NameGroup` that contains the first letter of the passenger's surname in lower case.\n",
"\n",
"Note that in the dataset, passenger's names are provided in the `Name` column and are listed as:\n",
"\n",
" Surname, Given names\n",
"\n",
"For example, if a passenger's `Name` is `Braund, Mr. Owen Harris`, the `NameGroup` column should contain the value `b`.\n",
"\n",
"Then count how many passengers have a `NameGroup` value of `k`."
]
},
{
"cell_type": "code",
"metadata": {
"id": "T80gU65-ASFa",
"outputId": "9ea1660f-dbe9-4ac1-b299-a98df0f591db",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 484
}
},
"source": [
"titanic = pd.read_csv('https://raw.githubusercontent.com/byui-cse/cse450-course/master/data/titanic.csv')\n",
"titanic.head()"
],
"execution_count": 59,
"outputs": [
{
"output_type": "execute_result",
"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>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>Braund, Mr. Owen Harris</td>\n",
" <td>male</td>\n",
" <td>22.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>A/5 21171</td>\n",
" <td>7.2500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td>female</td>\n",
" <td>38.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>PC 17599</td>\n",
" <td>71.2833</td>\n",
" <td>C85</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>Heikkinen, Miss. Laina</td>\n",
" <td>female</td>\n",
" <td>26.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>STON/O2. 3101282</td>\n",
" <td>7.9250</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
" <td>female</td>\n",
" <td>35.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>113803</td>\n",
" <td>53.1000</td>\n",
" <td>C123</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>Allen, Mr. William Henry</td>\n",
" <td>male</td>\n",
" <td>35.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>373450</td>\n",
" <td>8.0500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PassengerId Survived Pclass ... Fare Cabin Embarked\n",
"0 1 0 3 ... 7.2500 NaN S\n",
"1 2 1 1 ... 71.2833 C85 C\n",
"2 3 1 3 ... 7.9250 NaN S\n",
"3 4 1 1 ... 53.1000 C123 S\n",
"4 5 0 3 ... 8.0500 NaN S\n",
"\n",
"[5 rows x 12 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 59
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "E81qACTfAWl2",
"outputId": "977ff587-5c37-48f8-8207-f24f852478d3",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"titanic['NameGroup'] = titanic['Name'].str.slice(0,1).str.lower()\n",
"print('Titanic Passengers in NameGroup {}k{}: {}{}'.format(color.BOLD, color.END, color.BOLD + color.RED, titanic['NameGroup'].value_counts()['k']))"
],
"execution_count": 64,
"outputs": [
{
"output_type": "stream",
"text": [
"Titanic Passengers in NameGroup \u001b[1mk\u001b[0m: \u001b[1m\u001b[91m28\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "6iZtc5-zBZQG"
},
"source": [
"### Question 10\n",
"Using seaborn, create a boxplot showing the distribution of passenger `Age` grouped by the port they `Embarked` from.\n",
"\n",
"How many outliers were there in the group embarked from Queenstown (Embarked value `Q`)?"
]
},
{
"cell_type": "code",
"metadata": {
"id": "9D6TzGQjAZIw",
"outputId": "c6966d55-14af-4906-99d3-a4365435da2c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 295
}
},
"source": [
"age_vs_embarked = sns.boxplot(y='Age',x='Embarked',data=titanic)\n",
"# (C = Cherbourg; Q = Queenstown; S = Southampton)\n",
"age_vs_embarked.set_xticklabels(['Southampton','Cherbourg','Queenstown'])\n",
"age_vs_embarked.set_title('Passenger Age Distribution by Port')\n",
"plt.show()"
],
"execution_count": 69,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "0lylG1LUDaHB"
},
"source": [
"## 🌟 Bonus Question 🌟\n",
"\n",
"*Note that you have to enter the answer to this question in the Module 01 Bonus Assessment.*\n",
"\n",
"Use a Bayesian Classifier from sklearn to predict the probability that a passenger would surive given they were a female embarking from Queenstown.\n",
"\n",
"Encode any non-numeric values as necessary, and be sure to drop any rows with missing data for features that would affect the classification.\n",
"\n",
"Enter your answer as a decimal value rounded to 2 decimal places."
]
},
{
"cell_type": "code",
"metadata": {
"id": "t7xEDOStBwbJ"
},
"source": [
""
],
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment