From 7a59ca7612ed9dd68010f58015b9a41416012c45 Mon Sep 17 00:00:00 2001 From: Jose Castillo <114josecastillo@gmail.com> Date: Mon, 7 Nov 2022 22:12:50 -0500 Subject: [PATCH] finished --- index.ipynb | 1530 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1529 insertions(+), 1 deletion(-) diff --git a/index.ipynb b/index.ipynb index 12aaa708..45db1177 100644 --- a/index.ipynb +++ b/index.ipynb @@ -1 +1,1529 @@ -{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# EDA with Pandas - Cumulative Lab\n", "\n", "## Introduction\n", "\n", "In this section, you've learned a lot about importing, cleaning up, analyzing (using descriptive statistics) and visualizing data. In this cumulative lab, you'll get a chance to practice all of these skills with the Ames Housing dataset, which contains information about home sales in Ames, Iowa between 2006 and 2010.\n", "\n", "## Objectives\n", "\n", "You will be able to:\n", "\n", "* Practice loading data with pandas\n", "* Practice calculating measures of centrality and dispersion with pandas\n", "* Practice creating subsets of data with pandas\n", "* Practice using data visualizations to explore data, and interpreting those visualizations\n", "* Perform a full exploratory data analysis process to gain insight about a dataset "]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Your Task: Explore the Ames Housing Dataset with Pandas\n", "\n", "![aerial photo of a neighborhood](images/neighborhood_aerial.jpg)\n", "\n", "Photo by Matt Donders on Unsplash\n", "\n"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Data Understanding\n", "\n", "Each record (row) in this dataset represents a home that was sold in Ames, IA.\n", "\n", "Each feature (column) in this dataset is some attribute of that home sale. You can view the file `data/data_description.txt` in this repository for a full explanation of all variables in this dataset \u2014 80 columns in total.\n", "\n", "We are going to focus on the following features:\n", "\n", "**SalePrice**: `Sale price of the house in dollars`\n", "\n", "**TotRmsAbvGrd**: `Total rooms above grade (does not include bathrooms)`\n", "\n", "**OverallCond**: `Rates the overall condition of the house`\n", "```\n", " 10\tVery Excellent\n", " 9\t Excellent\n", " 8\t Very Good\n", " 7\t Good\n", " 6\t Above Average\t\n", " 5\t Average\n", " 4\t Below Average\t\n", " 3\t Fair\n", " 2\t Poor\n", " 1\t Very Poor\n", "```\n", "\n", "**YrSold**: `Year Sold (YYYY)`\n", "\n", "**YearBuilt**: `Original construction date`\n", "\n", "**LandSlope**: `Slope of property`\n", "```\n", " Gtl\tGentle slope\n", " Mod\tModerate Slope\t\n", " Sev\tSevere Slope\n", "```"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Requirements\n", "\n", "In this lab you will use your data munging and visualization skills to conduct an exploratory analysis of the dataset.\n", "\n", "#### 1. Load the Dataset with Pandas\n", "\n", "Import pandas with the standard alias `pd` and load the data into a dataframe with the standard name `df`.\n", "\n", "#### 2. Explore Data Distributions\n", "\n", "Produce summary statistics, visualizations, and interpretive text describing the distributions of `SalePrice`, `TotRmsAbvGrd`, and `OverallCond`.\n", "\n", "#### 3. Explore Differences between Subsets\n", "\n", "Separate the data into subsets based on `OverallCond`, then demonstrate how this split impacts the distribution of `SalePrice`.\n", "\n", "#### 4. Explore Correlations\n", "\n", "Find the features that have the strongest positive and negative correlations with `SalePrice`, and produce plots representing these relationships.\n", "\n", "#### 5. Engineer and Explore a New Feature\n", "\n", "Create a new feature `Age`, which represents the difference between the year sold and the year built, and plot the relationship between the age and sale price."]}, {"cell_type": "markdown", "metadata": {}, "source": ["## 1. Load the Dataset with Pandas\n", "\n", "In the cell below, import:\n", "* `pandas` with the standard alias `pd`\n", "* `matplotlib.pyplot` with the standard alias `plt`\n", "\n", "And set `%matplotlib inline` so the graphs will display immediately below the cell that creates them."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Your code here"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Now, use pandas to open the file located at `data/ames.csv` ([documentation here](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html)). Specify the argument `index_col=0` in order to avoid creating an extra `Id` column. Name the resulting dataframe `df`."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Your code here"]}, {"cell_type": "markdown", "metadata": {}, "source": ["The following code checks that you loaded the data correctly:"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Run this cell without changes\n", "\n", "# Check that df is a dataframe\n", "assert type(df) == pd.DataFrame\n", "\n", "# Check that there are the correct number of rows\n", "assert df.shape[0] == 1460\n", "\n", "# Check that there are the correct number of columns\n", "# (if this crashes, make sure you specified `index_col=0`)\n", "assert df.shape[1] == 80"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Inspect the contents of the dataframe:"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Run this cell without changes\n", "df"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Run this cell without changes\n", "df.info()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## 2. Explore Data Distributions\n", "\n", "Write code to produce histograms showing the distributions of `SalePrice`, `TotRmsAbvGrd`, and `OverallCond`.\n", "\n", "Each histogram should have appropriate title and axes labels, as well as a black vertical line indicating the mean of the dataset. See the documentation for [plotting histograms](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.hist.html), [customizing axes](https://matplotlib.org/stable/api/axes_api.html#axis-labels-title-and-legend), and [plotting vertical lines](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.axvline.html#matplotlib.axes.Axes.axvline) as needed."]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Sale Price\n", "\n", "In the cell below, produce a histogram for `SalePrice`."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Your code here"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Now, print out the mean, median, and standard deviation:"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Your code here"]}, {"cell_type": "markdown", "metadata": {}, "source": ["In the cell below, interpret the above information."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Replace None with appropriate text\n", "\"\"\"\n", "None\n", "\"\"\""]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Total Rooms Above Grade\n", "\n", "In the cell below, produce a histogram for `TotRmsAbvGrd`."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Your code here"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Now, print out the mean, median, and standard deviation:"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Your code here"]}, {"cell_type": "markdown", "metadata": {}, "source": ["In the cell below, interpret the above information."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Replace None with appropriate text\n", "\"\"\"\n", "None\n", "\"\"\""]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Overall Condition\n", "\n", "In the cell below, produce a histogram for `OverallCond`."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Your code here"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Now, print out the mean, median, and standard deviation:"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Your code here"]}, {"cell_type": "markdown", "metadata": {}, "source": ["In the cell below, interpret the above information."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Replace None with appropriate text\n", "\"\"\"\n", "None\n", "\"\"\""]}, {"cell_type": "markdown", "metadata": {}, "source": ["## 3. Explore Differences between Subsets\n", "\n", "As you might have noted in the previous step, the overall condition of the house seems like we should treat it as more of a categorical variable, rather than a numeric variable.\n", "\n", "One useful way to explore a categorical variable is to create subsets of the full dataset based on that categorical variable, then plot their distributions based on some other variable. Since this dataset is traditionally used for predicting the sale price of a house, let's use `SalePrice` as that other variable.\n", "\n", "In the cell below, create three variables, each of which represents a record-wise subset of `df` (meaning, it has the same columns as `df`, but only some of the rows).\n", "\n", "* `below_average_condition`: home sales where the overall condition was less than 5\n", "* `average_condition`: home sales where the overall condition was exactly 5\n", "* `above_average_condition`: home sales where the overall condition was greater than 5"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Replace None with appropriate code\n", "below_average_condition = None\n", "average_condition = None\n", "above_average_condition = None"]}, {"cell_type": "markdown", "metadata": {}, "source": ["The following code checks that you created the subsets correctly:"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Run this cell without changes\n", "\n", "# Check that all of them still have 80 columns\n", "assert below_average_condition.shape[1] == 80\n", "assert average_condition.shape[1] == 80\n", "assert above_average_condition.shape[1] == 80\n", "\n", "# Check the numbers of rows of each subset\n", "assert below_average_condition.shape[0] == 88\n", "assert average_condition.shape[0] == 821\n", "assert above_average_condition.shape[0] == 551"]}, {"cell_type": "markdown", "metadata": {}, "source": ["The following code will produce a plot of the distributions of sale price for each of these subsets:"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Run this cell without changes\n", "\n", "# Set up plot\n", "fig, ax = plt.subplots(figsize=(15,5))\n", "\n", "# Create custom bins so all are on the same scale\n", "bins = range(df[\"SalePrice\"].min(), df[\"SalePrice\"].max(), int(df[\"SalePrice\"].median()) // 20)\n", "\n", "# Plot three histograms, with reduced opacity (alpha) so we\n", "# can see them overlapping\n", "ax.hist(\n", " x=above_average_condition[\"SalePrice\"],\n", " label=\"above average condition\",\n", " bins=bins,\n", " color=\"cyan\",\n", " alpha=0.5\n", ")\n", "ax.hist(\n", " x=average_condition[\"SalePrice\"],\n", " label=\"average condition\",\n", " bins=bins,\n", " color=\"gray\",\n", " alpha=0.3\n", ")\n", "ax.hist(\n", " x=below_average_condition[\"SalePrice\"],\n", " label=\"below average condition\",\n", " bins=bins,\n", " color=\"yellow\",\n", " alpha=0.5\n", ")\n", "\n", "# Customize labels\n", "ax.set_title(\"Distributions of Sale Price Grouped by Condition\")\n", "ax.set_xlabel(\"Sale Price\")\n", "ax.set_ylabel(\"Number of Houses\")\n", "ax.legend();"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Interpret the plot above. What does it tell us about these overall condition categories, and the relationship between overall condition and sale price? Is there anything surprising?"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Replace None with appropriate text\n", "\"\"\"\n", "None\n", "\"\"\""]}, {"cell_type": "markdown", "metadata": {}, "source": ["## 4. Explore Correlations\n", "\n", "To understand more about what features of these homes lead to higher sale prices, let's look at some correlations. We'll return to using the full `df`, rather than the subsets.\n", "\n", "In the cell below, print out both the name of the column and the Pearson correlation for the column that is ***most positively correlated*** with `SalePrice` (other than `SalePrice`, which is perfectly correlated with itself).\n", "\n", "We'll only check the correlations with some kind of numeric data type.\n", "\n", "You can import additional libraries, although it is possible to do this just using pandas."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Your code here"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Now, find the ***most negatively correlated*** column:"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Your code here"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Once you have your answer, edit the code below so that it produces a box plot of the relevant columns."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Replace None with appropriate code\n", "\n", "import seaborn as sns\n", "\n", "fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(15,5))\n", "\n", "# Plot distribution of column with highest correlation\n", "sns.boxplot(\n", " x=None,\n", " y=df[\"SalePrice\"],\n", " ax=ax1\n", ")\n", "# Plot distribution of column with most negative correlation\n", "sns.boxplot(\n", " x=None,\n", " y=df[\"SalePrice\"],\n", " ax=ax2\n", ")\n", "\n", "# Customize labels\n", "ax1.set_title(None)\n", "ax1.set_xlabel(None)\n", "ax1.set_ylabel(\"Sale Price\")\n", "ax2.set_title(None)\n", "ax2.set_xlabel(None)\n", "ax2.set_ylabel(\"Sale Price\");"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Interpret the results below. Consult `data/data_description.txt` as needed."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Replace None with appropriate text\n", "\"\"\"\n", "None\n", "\"\"\""]}, {"cell_type": "markdown", "metadata": {}, "source": ["## 5. Engineer and Explore a New Feature\n", "\n", "Here the code is written for you, all you need to do is interpret it.\n", "\n", "We note that the data spans across several years of sales:"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Run this cell without changes\n", "df[\"YrSold\"].value_counts().sort_index()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Maybe we can learn something interesting from the age of the home when it was sold. This uses information from the `YrBuilt` and `YrSold` columns, but represents a truly distinct feature."]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Run this cell without changes\n", "\n", "# Make a new column, Age\n", "df[\"Age\"] = df[\"YrSold\"] - df[\"YearBuilt\"]\n", "\n", "# Set up plot\n", "fig, ax = plt.subplots(figsize=(15,5))\n", "\n", "# Plot Age vs. SalePrice\n", "ax.scatter(df[\"Age\"], df[\"SalePrice\"], alpha=0.3, color=\"green\")\n", "ax.set_title(\"Home Age vs. Sale Price\")\n", "ax.set_xlabel(\"Age of Home at Time of Sale\")\n", "ax.set_ylabel(\"Sale Price\");"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Interpret this plot below:"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["# Replace None with appropriate text\n", "\"\"\"\n", "None\n", "\"\"\""]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Summary\n", "\n", "Congratulations, you've completed an exploratory data analysis of a popular dataset! You saw how to inspect the distributions of individual columns, subsets of columns, correlations, and new engineered features."]}], "metadata": {"kernelspec": {"display_name": "python (learn-env)", "language": "python", "name": "learn-env"}, "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.8.5"}}, "nbformat": 4, "nbformat_minor": 2} \ No newline at end of file +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# EDA with Pandas - Cumulative Lab\n", + "\n", + "## Introduction\n", + "\n", + "In this section, you've learned a lot about importing, cleaning up, analyzing (using descriptive statistics) and visualizing data. In this cumulative lab, you'll get a chance to practice all of these skills with the Ames Housing dataset, which contains information about home sales in Ames, Iowa between 2006 and 2010.\n", + "\n", + "## Objectives\n", + "\n", + "You will be able to:\n", + "\n", + "* Practice loading data with pandas\n", + "* Practice calculating measures of centrality and dispersion with pandas\n", + "* Practice creating subsets of data with pandas\n", + "* Practice using data visualizations to explore data, and interpreting those visualizations\n", + "* Perform a full exploratory data analysis process to gain insight about a dataset " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Your Task: Explore the Ames Housing Dataset with Pandas\n", + "\n", + "![aerial photo of a neighborhood](images/neighborhood_aerial.jpg)\n", + "\n", + "Photo by Matt Donders on Unsplash\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Understanding\n", + "\n", + "Each record (row) in this dataset represents a home that was sold in Ames, IA.\n", + "\n", + "Each feature (column) in this dataset is some attribute of that home sale. You can view the file `data/data_description.txt` in this repository for a full explanation of all variables in this dataset — 80 columns in total.\n", + "\n", + "We are going to focus on the following features:\n", + "\n", + "**SalePrice**: `Sale price of the house in dollars`\n", + "\n", + "**TotRmsAbvGrd**: `Total rooms above grade (does not include bathrooms)`\n", + "\n", + "**OverallCond**: `Rates the overall condition of the house`\n", + "```\n", + " 10\tVery Excellent\n", + " 9\t Excellent\n", + " 8\t Very Good\n", + " 7\t Good\n", + " 6\t Above Average\t\n", + " 5\t Average\n", + " 4\t Below Average\t\n", + " 3\t Fair\n", + " 2\t Poor\n", + " 1\t Very Poor\n", + "```\n", + "\n", + "**YrSold**: `Year Sold (YYYY)`\n", + "\n", + "**YearBuilt**: `Original construction date`\n", + "\n", + "**LandSlope**: `Slope of property`\n", + "```\n", + " Gtl\tGentle slope\n", + " Mod\tModerate Slope\t\n", + " Sev\tSevere Slope\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Requirements\n", + "\n", + "In this lab you will use your data munging and visualization skills to conduct an exploratory analysis of the dataset.\n", + "\n", + "#### 1. Load the Dataset with Pandas\n", + "\n", + "Import pandas with the standard alias `pd` and load the data into a dataframe with the standard name `df`.\n", + "\n", + "#### 2. Explore Data Distributions\n", + "\n", + "Produce summary statistics, visualizations, and interpretive text describing the distributions of `SalePrice`, `TotRmsAbvGrd`, and `OverallCond`.\n", + "\n", + "#### 3. Explore Differences between Subsets\n", + "\n", + "Separate the data into subsets based on `OverallCond`, then demonstrate how this split impacts the distribution of `SalePrice`.\n", + "\n", + "#### 4. Explore Correlations\n", + "\n", + "Find the features that have the strongest positive and negative correlations with `SalePrice`, and produce plots representing these relationships.\n", + "\n", + "#### 5. Engineer and Explore a New Feature\n", + "\n", + "Create a new feature `Age`, which represents the difference between the year sold and the year built, and plot the relationship between the age and sale price." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Load the Dataset with Pandas\n", + "\n", + "In the cell below, import:\n", + "* `pandas` with the standard alias `pd`\n", + "* `matplotlib.pyplot` with the standard alias `plt`\n", + "\n", + "And set `%matplotlib inline` so the graphs will display immediately below the cell that creates them." + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "%matplotlib inline\n", + "\n", + "# Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, use pandas to open the file located at `data/ames.csv` ([documentation here](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html)). Specify the argument `index_col=0` in order to avoid creating an extra `Id` column. Name the resulting dataframe `df`." + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv('data/ames.csv', index_col=0)\n", + "# Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following code checks that you loaded the data correctly:" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [], + "source": [ + "# Run this cell without changes\n", + "\n", + "# Check that df is a dataframe\n", + "assert type(df) == pd.DataFrame\n", + "\n", + "# Check that there are the correct number of rows\n", + "assert df.shape[0] == 1460\n", + "\n", + "# Check that there are the correct number of columns\n", + "# (if this crashes, make sure you specified `index_col=0`)\n", + "assert df.shape[1] == 80" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Inspect the contents of the dataframe:" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
MSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfig...PoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
Id
160RL65.08450PaveNaNRegLvlAllPubInside...0NaNNaNNaN022008WDNormal208500
220RL80.09600PaveNaNRegLvlAllPubFR2...0NaNNaNNaN052007WDNormal181500
360RL68.011250PaveNaNIR1LvlAllPubInside...0NaNNaNNaN092008WDNormal223500
470RL60.09550PaveNaNIR1LvlAllPubCorner...0NaNNaNNaN022006WDAbnorml140000
560RL84.014260PaveNaNIR1LvlAllPubFR2...0NaNNaNNaN0122008WDNormal250000
..................................................................
145660RL62.07917PaveNaNRegLvlAllPubInside...0NaNNaNNaN082007WDNormal175000
145720RL85.013175PaveNaNRegLvlAllPubInside...0NaNMnPrvNaN022010WDNormal210000
145870RL66.09042PaveNaNRegLvlAllPubInside...0NaNGdPrvShed250052010WDNormal266500
145920RL68.09717PaveNaNRegLvlAllPubInside...0NaNNaNNaN042010WDNormal142125
146020RL75.09937PaveNaNRegLvlAllPubInside...0NaNNaNNaN062008WDNormal147500
\n", + "

1460 rows × 80 columns

\n", + "
" + ], + "text/plain": [ + " MSSubClass MSZoning LotFrontage LotArea Street Alley LotShape \\\n", + "Id \n", + "1 60 RL 65.0 8450 Pave NaN Reg \n", + "2 20 RL 80.0 9600 Pave NaN Reg \n", + "3 60 RL 68.0 11250 Pave NaN IR1 \n", + "4 70 RL 60.0 9550 Pave NaN IR1 \n", + "5 60 RL 84.0 14260 Pave NaN IR1 \n", + "... ... ... ... ... ... ... ... \n", + "1456 60 RL 62.0 7917 Pave NaN Reg \n", + "1457 20 RL 85.0 13175 Pave NaN Reg \n", + "1458 70 RL 66.0 9042 Pave NaN Reg \n", + "1459 20 RL 68.0 9717 Pave NaN Reg \n", + "1460 20 RL 75.0 9937 Pave NaN Reg \n", + "\n", + " LandContour Utilities LotConfig ... PoolArea PoolQC Fence MiscFeature \\\n", + "Id ... \n", + "1 Lvl AllPub Inside ... 0 NaN NaN NaN \n", + "2 Lvl AllPub FR2 ... 0 NaN NaN NaN \n", + "3 Lvl AllPub Inside ... 0 NaN NaN NaN \n", + "4 Lvl AllPub Corner ... 0 NaN NaN NaN \n", + "5 Lvl AllPub FR2 ... 0 NaN NaN NaN \n", + "... ... ... ... ... ... ... ... ... \n", + "1456 Lvl AllPub Inside ... 0 NaN NaN NaN \n", + "1457 Lvl AllPub Inside ... 0 NaN MnPrv NaN \n", + "1458 Lvl AllPub Inside ... 0 NaN GdPrv Shed \n", + "1459 Lvl AllPub Inside ... 0 NaN NaN NaN \n", + "1460 Lvl AllPub Inside ... 0 NaN NaN NaN \n", + "\n", + " MiscVal MoSold YrSold SaleType SaleCondition SalePrice \n", + "Id \n", + "1 0 2 2008 WD Normal 208500 \n", + "2 0 5 2007 WD Normal 181500 \n", + "3 0 9 2008 WD Normal 223500 \n", + "4 0 2 2006 WD Abnorml 140000 \n", + "5 0 12 2008 WD Normal 250000 \n", + "... ... ... ... ... ... ... \n", + "1456 0 8 2007 WD Normal 175000 \n", + "1457 0 2 2010 WD Normal 210000 \n", + "1458 2500 5 2010 WD Normal 266500 \n", + "1459 0 4 2010 WD Normal 142125 \n", + "1460 0 6 2008 WD Normal 147500 \n", + "\n", + "[1460 rows x 80 columns]" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Run this cell without changes\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 1460 entries, 1 to 1460\n", + "Data columns (total 80 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 MSSubClass 1460 non-null int64 \n", + " 1 MSZoning 1460 non-null object \n", + " 2 LotFrontage 1201 non-null float64\n", + " 3 LotArea 1460 non-null int64 \n", + " 4 Street 1460 non-null object \n", + " 5 Alley 91 non-null object \n", + " 6 LotShape 1460 non-null object \n", + " 7 LandContour 1460 non-null object \n", + " 8 Utilities 1460 non-null object \n", + " 9 LotConfig 1460 non-null object \n", + " 10 LandSlope 1460 non-null object \n", + " 11 Neighborhood 1460 non-null object \n", + " 12 Condition1 1460 non-null object \n", + " 13 Condition2 1460 non-null object \n", + " 14 BldgType 1460 non-null object \n", + " 15 HouseStyle 1460 non-null object \n", + " 16 OverallQual 1460 non-null int64 \n", + " 17 OverallCond 1460 non-null int64 \n", + " 18 YearBuilt 1460 non-null int64 \n", + " 19 YearRemodAdd 1460 non-null int64 \n", + " 20 RoofStyle 1460 non-null object \n", + " 21 RoofMatl 1460 non-null object \n", + " 22 Exterior1st 1460 non-null object \n", + " 23 Exterior2nd 1460 non-null object \n", + " 24 MasVnrType 1452 non-null object \n", + " 25 MasVnrArea 1452 non-null float64\n", + " 26 ExterQual 1460 non-null object \n", + " 27 ExterCond 1460 non-null object \n", + " 28 Foundation 1460 non-null object \n", + " 29 BsmtQual 1423 non-null object \n", + " 30 BsmtCond 1423 non-null object \n", + " 31 BsmtExposure 1422 non-null object \n", + " 32 BsmtFinType1 1423 non-null object \n", + " 33 BsmtFinSF1 1460 non-null int64 \n", + " 34 BsmtFinType2 1422 non-null object \n", + " 35 BsmtFinSF2 1460 non-null int64 \n", + " 36 BsmtUnfSF 1460 non-null int64 \n", + " 37 TotalBsmtSF 1460 non-null int64 \n", + " 38 Heating 1460 non-null object \n", + " 39 HeatingQC 1460 non-null object \n", + " 40 CentralAir 1460 non-null object \n", + " 41 Electrical 1459 non-null object \n", + " 42 1stFlrSF 1460 non-null int64 \n", + " 43 2ndFlrSF 1460 non-null int64 \n", + " 44 LowQualFinSF 1460 non-null int64 \n", + " 45 GrLivArea 1460 non-null int64 \n", + " 46 BsmtFullBath 1460 non-null int64 \n", + " 47 BsmtHalfBath 1460 non-null int64 \n", + " 48 FullBath 1460 non-null int64 \n", + " 49 HalfBath 1460 non-null int64 \n", + " 50 BedroomAbvGr 1460 non-null int64 \n", + " 51 KitchenAbvGr 1460 non-null int64 \n", + " 52 KitchenQual 1460 non-null object \n", + " 53 TotRmsAbvGrd 1460 non-null int64 \n", + " 54 Functional 1460 non-null object \n", + " 55 Fireplaces 1460 non-null int64 \n", + " 56 FireplaceQu 770 non-null object \n", + " 57 GarageType 1379 non-null object \n", + " 58 GarageYrBlt 1379 non-null float64\n", + " 59 GarageFinish 1379 non-null object \n", + " 60 GarageCars 1460 non-null int64 \n", + " 61 GarageArea 1460 non-null int64 \n", + " 62 GarageQual 1379 non-null object \n", + " 63 GarageCond 1379 non-null object \n", + " 64 PavedDrive 1460 non-null object \n", + " 65 WoodDeckSF 1460 non-null int64 \n", + " 66 OpenPorchSF 1460 non-null int64 \n", + " 67 EnclosedPorch 1460 non-null int64 \n", + " 68 3SsnPorch 1460 non-null int64 \n", + " 69 ScreenPorch 1460 non-null int64 \n", + " 70 PoolArea 1460 non-null int64 \n", + " 71 PoolQC 7 non-null object \n", + " 72 Fence 281 non-null object \n", + " 73 MiscFeature 54 non-null object \n", + " 74 MiscVal 1460 non-null int64 \n", + " 75 MoSold 1460 non-null int64 \n", + " 76 YrSold 1460 non-null int64 \n", + " 77 SaleType 1460 non-null object \n", + " 78 SaleCondition 1460 non-null object \n", + " 79 SalePrice 1460 non-null int64 \n", + "dtypes: float64(3), int64(34), object(43)\n", + "memory usage: 923.9+ KB\n" + ] + } + ], + "source": [ + "# Run this cell without changes\n", + "df.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Explore Data Distributions\n", + "\n", + "Write code to produce histograms showing the distributions of `SalePrice`, `TotRmsAbvGrd`, and `OverallCond`.\n", + "\n", + "Each histogram should have appropriate title and axes labels, as well as a black vertical line indicating the mean of the dataset. See the documentation for [plotting histograms](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.hist.html), [customizing axes](https://matplotlib.org/stable/api/axes_api.html#axis-labels-title-and-legend), and [plotting vertical lines](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.axvline.html#matplotlib.axes.Axes.axvline) as needed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Sale Price\n", + "\n", + "In the cell below, produce a histogram for `SalePrice`." + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "def plot_histogram(df, column, title, xlabel, ylabel):\n", + " \n", + " # Extract the relevant data\n", + " data = df[column]\n", + " mean = data.mean()\n", + " \n", + " # Set up plot\n", + " fig, ax = plt.subplots(figsize=(7,7))\n", + " \n", + " # Plot histogram\n", + " ax.hist(data, bins ='auto')\n", + " \n", + " # Plot vertical line\n", + " ax.axvline(mean, color=\"black\")\n", + " \n", + " # Customize title and axes labels\n", + " ax.set_title(title)\n", + " ax.set_xlabel(xlabel)\n", + " ax.set_ylabel(ylabel)\n", + "\n", + "plot_histogram(\n", + " df,\n", + " \"SalePrice\",\n", + " \"Distribution of Sale Prices\",\n", + " \"Sale Price\",\n", + " \"Number of Houses\"\n", + ")\n", + "# Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, print out the mean, median, and standard deviation:" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean: 180921.19589041095\n", + "Median: 163000.0\n", + "Standard Deviation: 79442.50288288662\n" + ] + } + ], + "source": [ + "def print_stats(df,column):\n", + " print('Mean:', df[column].mean())\n", + " print('Median:', df[column].median())\n", + " print('Standard Deviation:', df[column].std())\n", + " \n", + "print_stats(df,'SalePrice')\n", + "\n", + "# Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the cell below, interpret the above information." + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nThe mean and the median are fairly close to eachother, plus the standard deviation is around 8000 while the mean\\nand the median are in the 160k-180k. This is a Poisson distribution\\n'" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Replace None with appropriate text\n", + "\"\"\"\n", + "The mean and the median are fairly close to eachother, plus the standard deviation is around 8000 while the mean\n", + "and the median are in the 160k-180k. This is a Poisson distribution\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Total Rooms Above Grade\n", + "\n", + "In the cell below, produce a histogram for `TotRmsAbvGrd`." + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plot_histogram(df, 'TotRmsAbvGrd', 'Total Rooms Above Grade', 'Total rooms', 'houses')\n", + "\n", + "# Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, print out the mean, median, and standard deviation:" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean: 6.517808219178082\n", + "Median: 6.0\n", + "Standard Deviation: 1.6253932905840505\n" + ] + } + ], + "source": [ + "print_stats(df,'TotRmsAbvGrd')\n", + "\n", + "# Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the cell below, interpret the above information." + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nFor this distribution, we can see that the mean and median are close to eachother, and most datapoint point are around them\\nThis is also a Poisson distribution\\n'" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Replace None with appropriate text\n", + "\"\"\"\n", + "For this distribution, we can see that the mean and median are close to eachother, and most datapoint point are around them\n", + "This is also a Poisson distribution\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Overall Condition\n", + "\n", + "In the cell below, produce a histogram for `OverallCond`." + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "# We are again reusing the same function\n", + "\n", + "plot_histogram(\n", + " df,\n", + " \"OverallCond\",\n", + " \"Distribution of Overall Condition of Houses on a 1-10 Scale\",\n", + " \"Condition of House\",\n", + " \"Number of Houses\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, print out the mean, median, and standard deviation:" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean: 5.575342465753424\n", + "Median: 5.0\n", + "Standard Deviation: 1.1127993367127316\n" + ] + } + ], + "source": [ + "print_stats(df, 'OverallCond')\n", + "\n", + "# Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the cell below, interpret the above information." + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nMost homes have recived a rating of 5 and the mean is about a 5.5 \\n'" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Replace None with appropriate text\n", + "\"\"\"\n", + "Most homes have recived a rating of 5 and the mean is about a 5.5 \n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Explore Differences between Subsets\n", + "\n", + "As you might have noted in the previous step, the overall condition of the house seems like we should treat it as more of a categorical variable, rather than a numeric variable.\n", + "\n", + "One useful way to explore a categorical variable is to create subsets of the full dataset based on that categorical variable, then plot their distributions based on some other variable. Since this dataset is traditionally used for predicting the sale price of a house, let's use `SalePrice` as that other variable.\n", + "\n", + "In the cell below, create three variables, each of which represents a record-wise subset of `df` (meaning, it has the same columns as `df`, but only some of the rows).\n", + "\n", + "* `below_average_condition`: home sales where the overall condition was less than 5\n", + "* `average_condition`: home sales where the overall condition was exactly 5\n", + "* `above_average_condition`: home sales where the overall condition was greater than 5" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [], + "source": [ + "below_average_condition = df[df[\"OverallCond\"] < 5]\n", + "average_condition = df[df[\"OverallCond\"] == 5]\n", + "above_average_condition = df[df[\"OverallCond\"] > 5]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following code checks that you created the subsets correctly:" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [], + "source": [ + "# Run this cell without changes\n", + "\n", + "# Check that all of them still have 80 columns\n", + "assert below_average_condition.shape[1] == 80\n", + "assert average_condition.shape[1] == 80\n", + "assert above_average_condition.shape[1] == 80\n", + "\n", + "# Check the numbers of rows of each subset\n", + "assert below_average_condition.shape[0] == 88\n", + "assert average_condition.shape[0] == 821\n", + "assert above_average_condition.shape[0] == 551" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following code will produce a plot of the distributions of sale price for each of these subsets:" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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hxzC1KlTy4538eLFjB49mr59+9K3b9+6ci+55BJ69epFr169uOyyy+qeRY8ePTjllFPo2bMnI0eO5N133627V9++fRk6dChXXHFFXfnTp09n1KhRLFiwgEmTJnHppZfSr18/HnjgASZMmMCPf/zjRusCYPjw4Zx33nkMHjyYT3ziEzzwwAPlfBWaZVInSZIktUG/+tWvmDNnDrNnz2bixIksXboUgHfeeYf+/fvz6KOPMmzYMC666CIAjj/+eH74wx/yxBNP0Lt3by666CJ69OjB+++/z4svvgjAlClTOProo/nggw8488wzmTp1KnPmzOGkk07iggsu+FAM++23Hw8//DCPPfYYxxxzDD/60Y9o164dhx12GNOmTQNg5syZdOvWje23356vfvWrnH322cyaNYvbbruNk08+ua6sOXPmcOedd/LrX/+a7bbbjrvvvptHH32UKVOm1HVpvP3221mwYAFPPvkk11xzDTNmzAAoO96zzjqLYcOG8fjjj/Poo4/Ss2dP5syZw7XXXsvMmTN5+OGHufrqq3nssccAeP755zn99NOZN28enTt35rbbbgPgxBNPZOLEiXX3X123bt049dRTOfvss5k7dy7777//Kscbqotay5cv55FHHuGyyy5bZf+6qM52T2kDM3/+/GbP6d69ewtEIkmS2oqJEyfWJU4vv/wyzz//PNtssw3t2rVj7NixABx77LEcccQRvPHGGyxbtoxhw4YBMG7cOMaMGQPA0Ucfza233sr555/PlClTmDJlCvPnz+epp57is5/9LAArVqxgxx13/FAMCxcuZOzYsSxatIj333+/bpr9sWPH8p3vfIcTTzyRW265pS6ee+65h6effrru+jfffJO33noLgEMPPZTNNtsMKCVpZ5xxBnPnzqWmpobnnnsOgAcffJAxY8bQrl07dthhBz796U8DlB3vfffdVzeuraamhk6dOvHggw8yevRotthiCwCOOOIIHnjgAQ499FB22203+vXrB8CAAQNYsGDBh57lcccdx+9+97uy662puqi9f/37rQ8mdZIkSVIbM336dO655x5mzJjB5ptvzvDhwxud5r652RLHjh3LmDFjOOKII4gI9txzT5588kl69uzZaEtUrTPPPJNzzjmHQw89lOnTpzNhwgQAhg4dygsvvMCSJUu44447+Na3vgWUuk/OmDGjLnmrrzapArj00kvZfvvtefzxx1m5ciUdOnQASuu0NSQzy4q3sWsbs+mmm9a9r6mp4d133yUzKzrzae09a2pqWL58+Xop0+6XkiRJUhvzxhtvsNVWW7H55pvz7LPP8vDDD9cdW7lyZd04s1//+tfst99+dOrUia222qpujNYNN9xQ11L08Y9/nJqaGr773e/Wtah1796dJUuWrNK9cd68eQ3GsdNOOwEwefLkuv0RwejRoznnnHPo0aMH22yzDQAjR47kZz/7Wd15c+fObfTz7bjjjrRr144bbriBFStWAKXunrfddhsrV65k8eLFTJ8+fY3iHTFiBFdeeSVQas178803OeCAA7jjjjv4+9//zjvvvMO0adM+1F2yvs6dO9e18AHcdNNNDZ635ZZb1rVC1tdUXVSKSZ0kSZLUxhx88MEsX76cPn368O1vf5t99tmn7tgWW2zBvHnzGDBgAPfddx8XXnghUEq6zj33XPr06cPcuXPr9kOpte7GG2/k6KOPBmCTTTZh6tSpnHfeefTt25d+/fqtMj1/rQkTJjBmzBj2339/tt1221WO1ZZZmyhCqcvo7Nmz6dOnD3vttReTJk1q8POddtppTJ48mX322YfnnnuurhXvyCOPpGvXrvTq1YuvfOUrDBkyhE6dOpUd7+WXX84f/vAHevfuzYABA5g3bx79+/fnhBNOYPDgwQwZMoSTTz6Zvffeu8nnf+2113L66aczdOjQBlsdAb7whS8wbdq0uolS6muqLiohmmqObCsGDhyYs2fPbu0wpIpxTJ0kSW3LM888Q48ePVo7jI3S22+/TceOHVm6dCmDBw/moYceYocddmjtsFpUQ9+/iJiTmQMbOt8xdZIkSZLajFGjRrFs2TLef/99vv3tb290Cd3aMKmTJEmS1GbUjqNT+RxTJ0mSJElVrKItdRHRGbgG6AUkcBIwH5gCdAMWAEdn5uuVjEMbpwnreFySJEmqBpVuqbsc+O/M/CTQF3gGOB+4NzP3BO4ttiVJkiRJa6FiSV1EfBQ4APglQGa+n5nLgMOA2kUuJgOHVyoGSZIkSdrQVbKlbndgCXBtRDwWEddExBbA9pm5CKD4uV0FY5AkSZJUpU444YS6hdZPPvlknn76aQC+//3vr3Lepz71qRaPrS2p5Ji6jwD9gTMzc2ZEXM4adLWMiPHAeIBddtmlMhFKkiRJZShnTdk10Vrrz65YsYKamppWufe6uuaaa+ref//73+eb3/xm3XZDC5FvTCrZUrcQWJiZM4vtqZSSvMURsSNA8fOVhi7OzKsyc2BmDuzSpUsFw5QkSZLansMPP5wBAwbQs2dPrrrqKgCuvPJKvvGNb9Sdc91113HmmWcCcOONNzJ48GD69evHV77yFVasWAFAx44dufDCCxkyZAgzZszgO9/5DoMGDaJXr16MHz+ezARg1qxZ9OnTh6FDh3LuuefSq1cvoJQInnvuuQwaNIg+ffrwi1/8osF4r7/+evr06UPfvn057rjjAPjLX/7CiBEj6NOnDyNGjOCll14CSi1wZ511Fp/61KfYfffd61rjMpMzzjiDvfbai89//vO88so/U4Xhw4cze/Zszj//fN5991369evHl770pbrPWHt9bey9e/dmypQpQGmZhOHDh3PUUUfxyU9+ki996Ut1n3tDULGkLjP/BrwcEbV/hhgBPA38BhhX7BsH3FmpGCRJkqRq9atf/Yo5c+Ywe/ZsJk6cyNKlSznqqKO4/fbb686ZMmUKY8eO5ZlnnmHKlCk89NBDzJ07l5qaGm666SYA3nnnHXr16sXMmTPZb7/9OOOMM5g1axZPPfUU7777LnfddRcAJ554IpMmTWLGjBmrtOb98pe/pFOnTsyaNYtZs2Zx9dVX8+c//3mVWOfNm8f3vvc97rvvPh5//HEuv/xyAM444wyOP/54nnjiCb70pS9x1lln1V2zaNEiHnzwQe666y7OP7/UoW/atGnMnz+fJ598kquvvrrBFriLL76YzTbbjLlz59Z9xlq33347c+fO5fHHH+eee+7h3HPPZdGiRQA89thjXHbZZTz99NO8+OKLPPTQQ2tdN21NpWe/PBO4KSKeAPoB3wcuBj4bEc8Dny22JUmSJNUzceJE+vbtyz777MPLL7/M888/T5cuXdh99915+OGHWbp0KfPnz2fffffl3nvvZc6cOQwaNIh+/fpx77338uKLLwJQU1PDkUceWVfuH/7wB4YMGULv3r257777mDdvHsuWLeOtt96qG5v2f/7P/6k7//e//z3XX389/fr1Y8iQISxdupTnn39+lVjvu+8+jjrqKLbddlsAtt56awBmzJhRV9Zxxx3Hgw8+WHfN4YcfTrt27dhrr71YvHgxAPfffz9f/OIXqamp4WMf+xif+cxn1uiZPfjgg3XXb7/99gwbNoxZs2YBMHjwYLp27Uq7du3o168fCxYsWKOy27KKrlOXmXOBgQ0cGlHJ+2rDN6G1A5AkSaqg6dOnc8899zBjxgw233xzhg8fznvvvQfA2LFjufXWW/nkJz/J6NGjiQgyk3HjxvGDH/zgQ2V16NChruXtvffe47TTTmP27NnsvPPOTJgwgffee6/JroiZyU9/+lMOOuigJs+JiGY/V/1zNt1001Wub+icNdXU56h/v5qaGpYvX77W92lrKt1SJ0mSJGkNvfHGG2y11VZsvvnmPPvsszz88MN1x4444gjuuOMObr75ZsaOHQvAiBEjmDp1at0YtNdee42//OUvHyq3NjHcdtttefvtt+vGsm211VZsueWWdfe55ZZb6q456KCDuPLKK/nggw8AeO6553jnnXdWKXfEiBHceuutLF26tO7+UJqVsrasm266if3226/Jz33AAQdwyy23sGLFChYtWsQf/vCHBs9r3759XTyrXz9lyhRWrFjBkiVLuP/++xk8eHCT99wQVLSlTpIkSdKaO/jgg5k0aRJ9+vShe/fu7LPPPnXHttpqK/baay+efvrpuoRlr7324t///d8ZOXIkK1eupH379lxxxRXsuuuuq5TbuXNnTjnlFHr37k23bt0YNGhQ3bFf/vKXnHLKKWyxxRYMHz6cTp06AaWlBBYsWED//v3JTLp06cIdd9yxSrk9e/bkggsuYNiwYdTU1LD33ntz3XXXMXHiRE466ST+4z/+gy5dunDttdc2+blHjx7NfffdR+/evfnEJz7BsGHDGjxv/Pjx9OnTh/79+68yrm706NHMmDGDvn37EhH86Ec/YocdduDZZ59t/qFXsaiGWV8GDhyYs2fPbu0w1IZMaCNlrC/lTJPcWlMfS5K0MXrmmWfo0aNHa4fRot5+++26WSQvvvhiFi1aVDfhiVpWQ9+/iJiTmQ0NbbOlTpIkSRL853/+Jz/4wQ9Yvnw5u+66K9ddd11rh6QymdRJkiRJYuzYsXVj9FRdnChFkiRJkqqYSZ0kSZIkVTGTOkmSJEmqYiZ1kiRJklTFTOokSZKkNmbBggX06tVrja454YQT6hYT1/pRvx5mz57NWWedBcD06dP54x//WHfepEmTuP7661slRnD2S0mSJKkME9p4edVh+fLlfOQj1ZmCDBw4kIEDS8vETZ8+nY4dO/KpT30KgFNPPbU1Q7OlTpIkSWqLli9fzrhx4+jTpw9HHXUUf//73wGYM2cOw4YNY8CAARx00EEsWrToQ9fee++97L333vTu3ZuTTjqJf/zjHzzyyCMcccQRANx5551sttlmvP/++7z33nvsvvvuHyrjt7/9LUOGDGHvvffmwAMPZPHixaxcuZJu3bqxbNmyuvP22GMPFi9ezJIlSzjyyCMZNGgQgwYN4qGHHgJgwoQJjB8/npEjR3L88cezYMEC9t9/f/r370///v3rWrxWrlzJaaedRs+ePRk1ahSHHHJIXctjOZ958eLFjB49mr59+9K3b9+6ci+55BJ69epFr169uOyyy4BSC1yPHj045ZRT6NmzJyNHjuTdd9+tu1ffvn0ZOnQoV1xxRV3506dPZ9SoUSxYsIBJkyZx6aWX0q9fPx544AEmTJjAj3/8YwDmzp3LPvvsQ58+fRg9ejSvv/46AMOHD+e8885j8ODBfOITn+CBBx4o85vQPJM6SZIkqQ2aP38+48eP54knnuCjH/0oP//5z/nggw8488wzmTp1KnPmzOGkk07iggsuWOW69957jxNOOIEpU6bw5JNPsnz5cq688kr69+/PY489BsADDzxAr169mDVrFjNnzmTIkCEfuv9+++3Hww8/zGOPPcYxxxzDj370I9q1a8dhhx3GtGnTAJg5cybdunVj++2356tf/Spnn302s2bN4rbbbuPkk0+uK2vOnDnceeed/PrXv2a77bbj7rvv5tFHH2XKlCl1XRpvv/12FixYwJNPPsk111zDjBkzAMr6zABnnXUWw4YN4/HHH+fRRx+lZ8+ezJkzh2uvvZaZM2fy8MMPc/XVV9c9g+eff57TTz+defPm0blzZ2677TYATjzxRCZOnFh3/9V169aNU089lbPPPpu5c+ey//77r3L8+OOP54c//CFPPPEEvXv35qKLLqo7tnz5ch555BEuu+yyVfavq+ps+5QkSZI2cDvvvDP77rsvAMceeywTJ07k4IMP5qmnnuKzn/0sACtWrGDHHXdc5br58+ez22678YlPfAKAcePGccUVV/C1r32NPfbYg2eeeYZHHnmEc845h/vvv58VK1Z8KDEBWLhwIWPHjmXRokW8//777LbbbkBpkfLvfOc7nHjiidxyyy11C5bfc889PP3003XXv/nmm7z11lsAHHrooWy22WZAKUk744wzmDt3LjU1NTz33HMAPPjgg4wZM4Z27dqxww478OlPf7ru8zT3mQHuu+++unFtNTU1dOrUiQcffJDRo0ezxRZbAHDEEUfwwAMPcOihh7LbbrvRr18/AAYMGMCCBQt44403WLZsGcOGDQPguOOO43e/+12ZNcaHrh83bhxjxoypO17bUlp7v/XFpE6SJElqgyLiQ9uZSc+ePRttRQLIzEaP7b///vzud7+jffv2HHjggZxwwgmsWLGirutgfWeeeSbnnHMOhx56KNOnT2fChAkADB06lBdeeIElS5Zwxx138K1vfQsodZ+cMWNGXfJWX21SBXDppZey/fbb8/jjj7Ny5Uo6dOjQZNzlfObGNPUsNt1007r3NTU1vPvuu2Tmh577+lR7z5qaGpYvX77eyrX7pSRJktQGvfTSS3WJzM0338x+++1H9+7dWbJkySpdE+fNm7fKdZ/85CdZsGABL7zwAgA33HBDXcvRAQccwGWXXcbQoUPp0qULS5cu5dlnn6Vnz54fuv8bb7zBTjvtBMDkyZPr9kcEo0eP5pxzzqFHjx5ss802AIwcOZKf/exndefNnTu3wc/1xhtvsOOOO9KuXTtuuOEGVqxYAZS6e952222sXLmSxYsXM336dICyPjPAiBEjuPLKK4FSa96bb77JAQccwB133MHf//533nnnHaZNm9Zgq2Stzp0717XwAdx0000NnrflllvWtULW16lTJ7baaqu68XL1n30lmdRJkiRJbVCPHj2YPHkyffr04bXXXuNf/uVf2GSTTZg6dSrnnXceffv2pV+/fqtMrQ/QoUMHrr32WsaMGUPv3r1p165d3eyMQ4YMYfHixRxwwAEA9OnThz59+jTYOjVhwgTGjBnD/vvvz7bbbrvKsbFjx3LjjTfWdb0EmDhxIrNnz6ZPnz7stddeTJo0qcHPddpppzF58mT22WcfnnvuubpWvCOPPJKuXbvSq1cvvvKVrzBkyBA6depU1mcGuPzyy/nDH/5A7969GTBgAPPmzaN///6ccMIJDB48mCFDhnDyySez9957N/ncr732Wk4//XSGDh3aYKsjwBe+8AWmTZtWN1FKfZMnT+bcc8+lT58+zJ07lwsvvLDJ+60P0VSTZFsxcODAnD17dmuHoTZkQhspY32ZP39+s+d07969BSKRJEkAzzzzDD169GjtMDY6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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Run this cell without changes\n", + "\n", + "# Set up plot\n", + "fig, ax = plt.subplots(figsize=(15,5))\n", + "\n", + "# Create custom bins so all are on the same scale\n", + "bins = range(df[\"SalePrice\"].min(), df[\"SalePrice\"].max(), int(df[\"SalePrice\"].median()) // 20)\n", + "\n", + "# Plot three histograms, with reduced opacity (alpha) so we\n", + "# can see them overlapping\n", + "ax.hist(\n", + " x=above_average_condition[\"SalePrice\"],\n", + " label=\"above average condition\",\n", + " bins=bins,\n", + " color=\"cyan\",\n", + " alpha=0.5\n", + ")\n", + "ax.hist(\n", + " x=average_condition[\"SalePrice\"],\n", + " label=\"average condition\",\n", + " bins=bins,\n", + " color=\"gray\",\n", + " alpha=0.3\n", + ")\n", + "ax.hist(\n", + " x=below_average_condition[\"SalePrice\"],\n", + " label=\"below average condition\",\n", + " bins=bins,\n", + " color=\"yellow\",\n", + " alpha=0.5\n", + ")\n", + "\n", + "# Customize labels\n", + "ax.set_title(\"Distributions of Sale Price Grouped by Condition\")\n", + "ax.set_xlabel(\"Sale Price\")\n", + "ax.set_ylabel(\"Number of Houses\")\n", + "ax.legend();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Interpret the plot above. What does it tell us about these overall condition categories, and the relationship between overall condition and sale price? Is there anything surprising?" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nThe majority of houses sell at around the 100k-300k\\n'" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Replace None with appropriate text\n", + "\"\"\"\n", + "The majority of houses sell at around the 100k-300k. We also note that there is a notable difference in price between\n", + "below average conditions and above average conditions; however, average conditions have interestingly a higher sell price\n", + "than the above average homes.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Explore Correlations\n", + "\n", + "To understand more about what features of these homes lead to higher sale prices, let's look at some correlations. We'll return to using the full `df`, rather than the subsets.\n", + "\n", + "In the cell below, print out both the name of the column and the Pearson correlation for the column that is ***most positively correlated*** with `SalePrice` (other than `SalePrice`, which is perfectly correlated with itself).\n", + "\n", + "We'll only check the correlations with some kind of numeric data type.\n", + "\n", + "You can import additional libraries, although it is possible to do this just using pandas." + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 1460 entries, 1 to 1460\n", + "Data columns (total 80 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 MSSubClass 1460 non-null int64 \n", + " 1 MSZoning 1460 non-null object \n", + " 2 LotFrontage 1201 non-null float64\n", + " 3 LotArea 1460 non-null int64 \n", + " 4 Street 1460 non-null object \n", + " 5 Alley 91 non-null object \n", + " 6 LotShape 1460 non-null object \n", + " 7 LandContour 1460 non-null object \n", + " 8 Utilities 1460 non-null object \n", + " 9 LotConfig 1460 non-null object \n", + " 10 LandSlope 1460 non-null object \n", + " 11 Neighborhood 1460 non-null object \n", + " 12 Condition1 1460 non-null object \n", + " 13 Condition2 1460 non-null object \n", + " 14 BldgType 1460 non-null object \n", + " 15 HouseStyle 1460 non-null object \n", + " 16 OverallQual 1460 non-null int64 \n", + " 17 OverallCond 1460 non-null int64 \n", + " 18 YearBuilt 1460 non-null int64 \n", + " 19 YearRemodAdd 1460 non-null int64 \n", + " 20 RoofStyle 1460 non-null object \n", + " 21 RoofMatl 1460 non-null object \n", + " 22 Exterior1st 1460 non-null object \n", + " 23 Exterior2nd 1460 non-null object \n", + " 24 MasVnrType 1452 non-null object \n", + " 25 MasVnrArea 1452 non-null float64\n", + " 26 ExterQual 1460 non-null object \n", + " 27 ExterCond 1460 non-null object \n", + " 28 Foundation 1460 non-null object \n", + " 29 BsmtQual 1423 non-null object \n", + " 30 BsmtCond 1423 non-null object \n", + " 31 BsmtExposure 1422 non-null object \n", + " 32 BsmtFinType1 1423 non-null object \n", + " 33 BsmtFinSF1 1460 non-null int64 \n", + " 34 BsmtFinType2 1422 non-null object \n", + " 35 BsmtFinSF2 1460 non-null int64 \n", + " 36 BsmtUnfSF 1460 non-null int64 \n", + " 37 TotalBsmtSF 1460 non-null int64 \n", + " 38 Heating 1460 non-null object \n", + " 39 HeatingQC 1460 non-null object \n", + " 40 CentralAir 1460 non-null object \n", + " 41 Electrical 1459 non-null object \n", + " 42 1stFlrSF 1460 non-null int64 \n", + " 43 2ndFlrSF 1460 non-null int64 \n", + " 44 LowQualFinSF 1460 non-null int64 \n", + " 45 GrLivArea 1460 non-null int64 \n", + " 46 BsmtFullBath 1460 non-null int64 \n", + " 47 BsmtHalfBath 1460 non-null int64 \n", + " 48 FullBath 1460 non-null int64 \n", + " 49 HalfBath 1460 non-null int64 \n", + " 50 BedroomAbvGr 1460 non-null int64 \n", + " 51 KitchenAbvGr 1460 non-null int64 \n", + " 52 KitchenQual 1460 non-null object \n", + " 53 TotRmsAbvGrd 1460 non-null int64 \n", + " 54 Functional 1460 non-null object \n", + " 55 Fireplaces 1460 non-null int64 \n", + " 56 FireplaceQu 770 non-null object \n", + " 57 GarageType 1379 non-null object \n", + " 58 GarageYrBlt 1379 non-null float64\n", + " 59 GarageFinish 1379 non-null object \n", + " 60 GarageCars 1460 non-null int64 \n", + " 61 GarageArea 1460 non-null int64 \n", + " 62 GarageQual 1379 non-null object \n", + " 63 GarageCond 1379 non-null object \n", + " 64 PavedDrive 1460 non-null object \n", + " 65 WoodDeckSF 1460 non-null int64 \n", + " 66 OpenPorchSF 1460 non-null int64 \n", + " 67 EnclosedPorch 1460 non-null int64 \n", + " 68 3SsnPorch 1460 non-null int64 \n", + " 69 ScreenPorch 1460 non-null int64 \n", + " 70 PoolArea 1460 non-null int64 \n", + " 71 PoolQC 7 non-null object \n", + " 72 Fence 281 non-null object \n", + " 73 MiscFeature 54 non-null object \n", + " 74 MiscVal 1460 non-null int64 \n", + " 75 MoSold 1460 non-null int64 \n", + " 76 YrSold 1460 non-null int64 \n", + " 77 SaleType 1460 non-null object \n", + " 78 SaleCondition 1460 non-null object \n", + " 79 SalePrice 1460 non-null int64 \n", + "dtypes: float64(3), int64(34), object(43)\n", + "memory usage: 923.9+ KB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "MSSubClass -0.084284\n", + "LotFrontage 0.351799\n", + "LotArea 0.263843\n", + "OverallQual 0.790982\n", + "OverallCond -0.077856\n", + "YearBuilt 0.522897\n", + "KitchenAbvGr -0.135907\n", + "dtype: float64" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[['MSSubClass','LotFrontage','LotArea','OverallQual','OverallCond','YearBuilt','KitchenAbvGr']].corrwith(df['SalePrice'])\n", + "# Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, find the ***most negatively correlated*** column:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "KitchenAbvGr has the most negative correlation with Sales Price\n", + "\"\"\"\n", + "# Your code here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once you have your answer, edit the code below so that it produces a box plot of the relevant columns." + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Replace None with appropriate code\n", + "\n", + "import seaborn as sns\n", + "\n", + "fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(15,5))\n", + "\n", + "# Plot distribution of column with highest correlation\n", + "sns.boxplot(\n", + " x=df['OverallQual'],\n", + " y=df[\"SalePrice\"],\n", + " ax=ax1\n", + ")\n", + "# Plot distribution of column with most negative correlation\n", + "sns.boxplot(\n", + " x=df['KitchenAbvGr'],\n", + " y=df[\"SalePrice\"],\n", + " ax=ax2\n", + ")\n", + "\n", + "# Customize labels\n", + "ax1.set_title(None)\n", + "ax1.set_xlabel(None)\n", + "ax1.set_ylabel(\"Sale Price\")\n", + "ax2.set_title(None)\n", + "ax2.set_xlabel(None)\n", + "ax2.set_ylabel(\"Sale Price\");" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Interpret the results below. Consult `data/data_description.txt` as needed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Replace None with appropriate text\n", + "\"\"\"\n", + "There is a clear correlation between the Quality of the home and the Sales Price.\n", + "The 2nd Q of kitchen above ground with 1 kitchen has the most amount of clustering.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. Engineer and Explore a New Feature\n", + "\n", + "Here the code is written for you, all you need to do is interpret it.\n", + "\n", + "We note that the data spans across several years of sales:" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2006 314\n", + "2007 329\n", + "2008 304\n", + "2009 338\n", + "2010 175\n", + "Name: YrSold, dtype: int64" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Run this cell without changes\n", + "df[\"YrSold\"].value_counts().sort_index()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Maybe we can learn something interesting from the age of the home when it was sold. This uses information from the `YrBuilt` and `YrSold` columns, but represents a truly distinct feature." + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Run this cell without changes\n", + "\n", + "# Make a new column, Age\n", + "df[\"Age\"] = df[\"YrSold\"] - df[\"YearBuilt\"]\n", + "\n", + "# Set up plot\n", + "fig, ax = plt.subplots(figsize=(15,5))\n", + "\n", + "# Plot Age vs. SalePrice\n", + "ax.scatter(df[\"Age\"], df[\"SalePrice\"], alpha=0.3, color=\"green\")\n", + "ax.set_title(\"Home Age vs. Sale Price\")\n", + "ax.set_xlabel(\"Age of Home at Time of Sale\")\n", + "ax.set_ylabel(\"Sale Price\");" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Interpret this plot below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Replace None with appropriate text\n", + "\"\"\"\n", + "There is high demand for new homes and are willing to pay top dollar for them. there is also a significant amount of homes\n", + "selling around the ages of 25-60\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Summary\n", + "\n", + "Congratulations, you've completed an exploratory data analysis of a popular dataset! You saw how to inspect the distributions of individual columns, subsets of columns, correlations, and new engineered features." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python (learn-env)", + "language": "python", + "name": "learn-env" + }, + "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.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}