{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Day 4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Topics\n", "\n", "1. Bit of a review\n", " * Licenses and data origin\n", "1. Pandas functions\n", "1. Pandas $\\rightarrow$ NumPy\n", "1. Fig-Axis interaction in `matplotlib`\n", "1. Plotting with style (plt.style and `with`)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, import our usual things:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bit of a review\n", "\n", "Last time we played around with the TV dataset after we read it into Pandas." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "movies = pd.read_csv('~/Downloads/tv_shows.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can take a quick look at our data in a table form with:" ] }, { "cell_type": "code", "execution_count": 3, "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", "
Unnamed: 0TitleYearAgeIMDbRotten TomatoesNetflixHuluPrime VideoDisney+type
00Breaking Bad200818+9.596%10001
11Stranger Things201616+8.893%10001
22Money Heist201718+8.491%10001
33Sherlock201016+9.178%10001
44Better Call Saul201518+8.797%10001
....................................
56065606Tut's Treasures: Hidden Secrets2018NaNNaNNaN00011
56075607Paradise Islands2017NaNNaNNaN00011
56085608Wild Russia2018NaNNaNNaN00011
56095609Love & Vets2017NaNNaNNaN00011
56105610United States of Animals2016NaNNaNNaN00011
\n", "

5611 rows × 11 columns

\n", "
" ], "text/plain": [ " Unnamed: 0 Title Year Age IMDb \\\n", "0 0 Breaking Bad 2008 18+ 9.5 \n", "1 1 Stranger Things 2016 16+ 8.8 \n", "2 2 Money Heist 2017 18+ 8.4 \n", "3 3 Sherlock 2010 16+ 9.1 \n", "4 4 Better Call Saul 2015 18+ 8.7 \n", "... ... ... ... ... ... \n", "5606 5606 Tut's Treasures: Hidden Secrets 2018 NaN NaN \n", "5607 5607 Paradise Islands 2017 NaN NaN \n", "5608 5608 Wild Russia 2018 NaN NaN \n", "5609 5609 Love & Vets 2017 NaN NaN \n", "5610 5610 United States of Animals 2016 NaN NaN \n", "\n", " Rotten Tomatoes Netflix Hulu Prime Video Disney+ type \n", "0 96% 1 0 0 0 1 \n", "1 93% 1 0 0 0 1 \n", "2 91% 1 0 0 0 1 \n", "3 78% 1 0 0 0 1 \n", "4 97% 1 0 0 0 1 \n", "... ... ... ... ... ... ... \n", "5606 NaN 0 0 0 1 1 \n", "5607 NaN 0 0 0 1 1 \n", "5608 NaN 0 0 0 1 1 \n", "5609 NaN 0 0 0 1 1 \n", "5610 NaN 0 0 0 1 1 \n", "\n", "[5611 rows x 11 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### License & Origin of this data\n", "\n", "Let's think a bit more about this dataset.\n", "\n", "We found it here: https://www.kaggle.com/ruchi798/tv-shows-on-netflix-prime-video-hulu-and-disney\n", "\n", "We can see where this data came from: it was scraped (this means [web-scraped](https://realpython.com/beautiful-soup-web-scraper-python/)) from Reelgood.com\n", "\n", "We also are told a bit about what *we* can do with the data under the License area on Kaggle which says its Public Domain, meaning we can do whatever we want with it essentially!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also just look at the top bit of our data with:" ] }, { "cell_type": "code", "execution_count": 4, "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", "
Unnamed: 0TitleYearAgeIMDbRotten TomatoesNetflixHuluPrime VideoDisney+type
00Breaking Bad200818+9.596%10001
11Stranger Things201616+8.893%10001
22Money Heist201718+8.491%10001
33Sherlock201016+9.178%10001
44Better Call Saul201518+8.797%10001
\n", "
" ], "text/plain": [ " Unnamed: 0 Title Year Age IMDb Rotten Tomatoes Netflix \\\n", "0 0 Breaking Bad 2008 18+ 9.5 96% 1 \n", "1 1 Stranger Things 2016 16+ 8.8 93% 1 \n", "2 2 Money Heist 2017 18+ 8.4 91% 1 \n", "3 3 Sherlock 2010 16+ 9.1 78% 1 \n", "4 4 Better Call Saul 2015 18+ 8.7 97% 1 \n", "\n", " Hulu Prime Video Disney+ type \n", "0 0 0 0 1 \n", "1 0 0 0 1 \n", "2 0 0 0 1 \n", "3 0 0 0 1 \n", "4 0 0 0 1 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can access individual rows of our data with `.iloc`:" ] }, { "cell_type": "code", "execution_count": 5, "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", "
Unnamed: 0TitleYearAgeIMDbRotten TomatoesNetflixHuluPrime VideoDisney+type
5555Pretty Little Liars201016+7.481%11001
5656Unbelievable201918+8.497%10001
5757Arrow201216+7.685%10001
5858The IT Crowd200616+8.587%10001
5959The Twilight Zone19597+9.082%11001
6060YOU201818+7.891%10001
6161Sex Education201916+8.394%10001
6262Tiger King: Murder, Mayhem and Madness202018+7.886%10001
6363Star Trek: The Next Generation19877+8.689%11101
6464Broadchurch201318+8.492%10001
\n", "
" ], "text/plain": [ " Unnamed: 0 Title Year Age IMDb \\\n", "55 55 Pretty Little Liars 2010 16+ 7.4 \n", "56 56 Unbelievable 2019 18+ 8.4 \n", "57 57 Arrow 2012 16+ 7.6 \n", "58 58 The IT Crowd 2006 16+ 8.5 \n", "59 59 The Twilight Zone 1959 7+ 9.0 \n", "60 60 YOU 2018 18+ 7.8 \n", "61 61 Sex Education 2019 16+ 8.3 \n", "62 62 Tiger King: Murder, Mayhem and Madness 2020 18+ 7.8 \n", "63 63 Star Trek: The Next Generation 1987 7+ 8.6 \n", "64 64 Broadchurch 2013 18+ 8.4 \n", "\n", " Rotten Tomatoes Netflix Hulu Prime Video Disney+ type \n", "55 81% 1 1 0 0 1 \n", "56 97% 1 0 0 0 1 \n", "57 85% 1 0 0 0 1 \n", "58 87% 1 0 0 0 1 \n", "59 82% 1 1 0 0 1 \n", "60 91% 1 0 0 0 1 \n", "61 94% 1 0 0 0 1 \n", "62 86% 1 0 0 0 1 \n", "63 89% 1 1 1 0 1 \n", "64 92% 1 0 0 0 1 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.iloc[55:65,:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also do this with columns by index:" ] }, { "cell_type": "code", "execution_count": 6, "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", "
TitleYear
0Breaking Bad2008
1Stranger Things2016
2Money Heist2017
3Sherlock2010
4Better Call Saul2015
.........
5606Tut's Treasures: Hidden Secrets2018
5607Paradise Islands2017
5608Wild Russia2018
5609Love & Vets2017
5610United States of Animals2016
\n", "

5611 rows × 2 columns

\n", "
" ], "text/plain": [ " Title Year\n", "0 Breaking Bad 2008\n", "1 Stranger Things 2016\n", "2 Money Heist 2017\n", "3 Sherlock 2010\n", "4 Better Call Saul 2015\n", "... ... ...\n", "5606 Tut's Treasures: Hidden Secrets 2018\n", "5607 Paradise Islands 2017\n", "5608 Wild Russia 2018\n", "5609 Love & Vets 2017\n", "5610 United States of Animals 2016\n", "\n", "[5611 rows x 2 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.iloc[:,1:3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or by named column with `.loc` (instead of `.iloc`):" ] }, { "cell_type": "code", "execution_count": 7, "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", "
TitleYear
0Breaking Bad2008
1Stranger Things2016
2Money Heist2017
3Sherlock2010
4Better Call Saul2015
.........
5606Tut's Treasures: Hidden Secrets2018
5607Paradise Islands2017
5608Wild Russia2018
5609Love & Vets2017
5610United States of Animals2016
\n", "

5611 rows × 2 columns

\n", "
" ], "text/plain": [ " Title Year\n", "0 Breaking Bad 2008\n", "1 Stranger Things 2016\n", "2 Money Heist 2017\n", "3 Sherlock 2010\n", "4 Better Call Saul 2015\n", "... ... ...\n", "5606 Tut's Treasures: Hidden Secrets 2018\n", "5607 Paradise Islands 2017\n", "5608 Wild Russia 2018\n", "5609 Love & Vets 2017\n", "5610 United States of Animals 2016\n", "\n", "[5611 rows x 2 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.loc[:,['Title', 'Year']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can print out the names of the columns in our dataset:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['Unnamed: 0', 'Title', 'Year', 'Age', 'IMDb', 'Rotten Tomatoes',\n", " 'Netflix', 'Hulu', 'Prime Video', 'Disney+', 'type'],\n", " dtype='object')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.columns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: \"Unnamed: 0\" is just an extra column that *also* contains the index. This is actually telling us this person saved this from a Pandas DataFrame but didn't select `index=False` when they saved it :)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also print out a summary of our dataset:" ] }, { "cell_type": "code", "execution_count": 9, "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", "
Unnamed: 0YearIMDbNetflixHuluPrime VideoDisney+type
count5611.0000005611.0000004450.0000005611.0000005611.0000005611.0000005611.0000005611.0
mean2805.0000002011.0210307.1132580.3441450.3126000.3821070.0320801.0
std1619.90051111.0051161.1320600.4751310.4635940.4859460.1762280.0
min0.0000001901.0000001.0000000.0000000.0000000.0000000.0000001.0
25%1402.5000002010.0000006.6000000.0000000.0000000.0000000.0000001.0
50%2805.0000002015.0000007.3000000.0000000.0000000.0000000.0000001.0
75%4207.5000002017.0000007.9000001.0000001.0000001.0000000.0000001.0
max5610.0000002020.0000009.6000001.0000001.0000001.0000001.0000001.0
\n", "
" ], "text/plain": [ " Unnamed: 0 Year IMDb Netflix Hulu \\\n", "count 5611.000000 5611.000000 4450.000000 5611.000000 5611.000000 \n", "mean 2805.000000 2011.021030 7.113258 0.344145 0.312600 \n", "std 1619.900511 11.005116 1.132060 0.475131 0.463594 \n", "min 0.000000 1901.000000 1.000000 0.000000 0.000000 \n", "25% 1402.500000 2010.000000 6.600000 0.000000 0.000000 \n", "50% 2805.000000 2015.000000 7.300000 0.000000 0.000000 \n", "75% 4207.500000 2017.000000 7.900000 1.000000 1.000000 \n", "max 5610.000000 2020.000000 9.600000 1.000000 1.000000 \n", "\n", " Prime Video Disney+ type \n", "count 5611.000000 5611.000000 5611.0 \n", "mean 0.382107 0.032080 1.0 \n", "std 0.485946 0.176228 0.0 \n", "min 0.000000 0.000000 1.0 \n", "25% 0.000000 0.000000 1.0 \n", "50% 0.000000 0.000000 1.0 \n", "75% 1.000000 0.000000 1.0 \n", "max 1.000000 1.000000 1.0 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that this only does \"summary statistics\" like the mean, standdard deviation (STD) - a measure of the \"spread\" of the dataset, min & max for the numerical data.\n", "\n", "Also note that some of this summary doesn't actually make sense. For example, the \"mean index\" is just the 1/2 point of our dataset! Also, does the mean year have any meaning? It may or may not, depending on your application.\n", "\n", "This just means we have to be careful when we use these functions!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## More on Pandas Functions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are also some \"built-in\" functions for this data. For example, we can take the average (mean) IMDb score ourselves:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7.1132584269662855" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies['IMDb'].mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or we could count the number of titles available on Hulu:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1754" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies['Hulu'].sum() # each row has an entry either 0 or 1 that tells us a NOT or YES on this platform" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also do this for a variety of columns:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Hulu 1754\n", "Prime Video 2144\n", "Disney+ 180\n", "dtype: int64" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies[['Hulu', 'Prime Video', 'Disney+']].sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the above we passed in a *list* of columns to take the sum over." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But what about taking a sum over sections of *rows*?\n", "\n", "We can ask, across Netflix, Hulu, Prime Video and Disney+ -- how many of these platforms support each title?\n", "\n", "Let's build this up bit by bit. First, let's look at the subset of data that we might be interested in:" ] }, { "cell_type": "code", "execution_count": 13, "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", "
TitleNetflixHuluPrime VideoDisney+
0Breaking Bad1000
1Stranger Things1000
2Money Heist1000
3Sherlock1000
4Better Call Saul1000
..................
5606Tut's Treasures: Hidden Secrets0001
5607Paradise Islands0001
5608Wild Russia0001
5609Love & Vets0001
5610United States of Animals0001
\n", "

5611 rows × 5 columns

\n", "
" ], "text/plain": [ " Title Netflix Hulu Prime Video Disney+\n", "0 Breaking Bad 1 0 0 0\n", "1 Stranger Things 1 0 0 0\n", "2 Money Heist 1 0 0 0\n", "3 Sherlock 1 0 0 0\n", "4 Better Call Saul 1 0 0 0\n", "... ... ... ... ... ...\n", "5606 Tut's Treasures: Hidden Secrets 0 0 0 1\n", "5607 Paradise Islands 0 0 0 1\n", "5608 Wild Russia 0 0 0 1\n", "5609 Love & Vets 0 0 0 1\n", "5610 United States of Animals 0 0 0 1\n", "\n", "[5611 rows x 5 columns]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.loc[:,['Title','Netflix', 'Hulu', 'Prime Video', 'Disney+']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: you can also do `movies[['Title','Netflix', 'Hulu', 'Prime Video', 'Disney+']]` in this case." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we want to add all across all rows that are not the Title. There are a few ways to do this and you should definetly check out the [Pandas docs](https://pandas.pydata.org/docs/) for more info.\n", "\n", "I'm going to do this in a few steps. First, let's isolate those 4 columns:" ] }, { "cell_type": "code", "execution_count": 14, "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", "
NetflixHuluPrime VideoDisney+
01000
11000
21000
31000
41000
...............
56060001
56070001
56080001
56090001
56100001
\n", "

5611 rows × 4 columns

\n", "
" ], "text/plain": [ " Netflix Hulu Prime Video Disney+\n", "0 1 0 0 0\n", "1 1 0 0 0\n", "2 1 0 0 0\n", "3 1 0 0 0\n", "4 1 0 0 0\n", "... ... ... ... ...\n", "5606 0 0 0 1\n", "5607 0 0 0 1\n", "5608 0 0 0 1\n", "5609 0 0 0 1\n", "5610 0 0 0 1\n", "\n", "[5611 rows x 4 columns]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.loc[:,['Netflix', 'Hulu', 'Prime Video', 'Disney+']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's try using \"sum\" here:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Netflix 1931\n", "Hulu 1754\n", "Prime Video 2144\n", "Disney+ 180\n", "dtype: int64" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.loc[:,['Netflix', 'Hulu', 'Prime Video', 'Disney+']].sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hmmmm, that's not quite right, that's just what we were doing before! Now I'm going to re-call this, but specify an axis parameter:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 1\n", "1 1\n", "2 1\n", "3 1\n", "4 1\n", " ..\n", "5606 1\n", "5607 1\n", "5608 1\n", "5609 1\n", "5610 1\n", "Length: 5611, dtype: int64" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.loc[:,['Netflix', 'Hulu', 'Prime Video', 'Disney+']].sum(axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That looks to be more like it! We can even double check the min of this:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.loc[:,['Netflix', 'Hulu', 'Prime Video', 'Disney+']].sum(axis=1).min()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and the max:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.loc[:,['Netflix', 'Hulu', 'Prime Video', 'Disney+']].sum(axis=1).max()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, this sort of makes sense with our understanding of how streaming services work -- usually a title is on one or two but not all of these services." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ok! We are almost there! Let's actually add our summation calculation back into our dataset:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "movies['Total Service'] = movies.loc[:,['Netflix', 'Hulu', 'Prime Video', 'Disney+']].sum(axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now take a look:" ] }, { "cell_type": "code", "execution_count": 20, "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", "
Unnamed: 0TitleYearAgeIMDbRotten TomatoesNetflixHuluPrime VideoDisney+typeTotal Service
00Breaking Bad200818+9.596%100011
11Stranger Things201616+8.893%100011
22Money Heist201718+8.491%100011
33Sherlock201016+9.178%100011
44Better Call Saul201518+8.797%100011
\n", "
" ], "text/plain": [ " Unnamed: 0 Title Year Age IMDb Rotten Tomatoes Netflix \\\n", "0 0 Breaking Bad 2008 18+ 9.5 96% 1 \n", "1 1 Stranger Things 2016 16+ 8.8 93% 1 \n", "2 2 Money Heist 2017 18+ 8.4 91% 1 \n", "3 3 Sherlock 2010 16+ 9.1 78% 1 \n", "4 4 Better Call Saul 2015 18+ 8.7 97% 1 \n", "\n", " Hulu Prime Video Disney+ type Total Service \n", "0 0 0 0 1 1 \n", "1 0 0 0 1 1 \n", "2 0 0 0 1 1 \n", "3 0 0 0 1 1 \n", "4 0 0 0 1 1 " ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hey cool! Now we have a whole extra column to our dataset! Let's plot it with a Pandas plot call:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "movies.plot(y='Total Service', kind='hist')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, as expected, we that most of the titles are on only 1 streaming service and very few are on 2, and even fewer are on 3." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, those axis don't look quite right -- we know that there are no 1/2 services! Let's see how we can see what parameters are available to us in this plot:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "movies.plot?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, from this pop up doc, we see that there is something called `xticks`. Let's explicitly put in the numbers 0-4:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "movies.plot(y='Total Service', kind='hist', xticks=[1,2,3,4])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This depicts indeed that there are no cases where a title appears on all 4 streaming services. \n", "\n", "Let's try one more thing listed in the parameters -- log scale the y-axis:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAD4CAYAAAD2FnFTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAR9klEQVR4nO3de5BW9X3H8feX5eYFccpl6rgipDpUBFRc0VSRYqjBC8YkNsLUzrSTemtSdTBTSUysZuKMzaRJahpHNzaTmljBaBVRM9GoiTCTcUXUKt0wMvGGmogwLhC5uPTbP3ahqGd3H3CP53mW92tmZ55z9jxnP+4jfDjn9zvnRGYiSdL7Dao6gCSpPlkQkqRCFoQkqZAFIUkqZEFIkgoNrjrAhzF69OgcP3581TEkqaE89dRTb2XmmL62a+iCGD9+PCtWrKg6hiQ1lIh4uZbtPMUkSSpkQUiSClkQkqRCDTkGERFzgblHHHFE1VEk7ebdd99l7dq1bN26teooAoYPH05zczNDhgzZq/dHI9+LqaWlJR2klurHiy++yIgRIxg1ahQRUXWcfVpmsn79ejZt2sSECRPe872IeCozW/rah6eYJPWbrVu3Wg51IiIYNWrUhzqasyAk9SvLoX582M/CgpAkFWrIQeq9MX7hA/2+z5duOKvf9ykNJP39566vP3Pr16/nE5/4BAC/+93vaGpqYsyYrguG29raGDp06Hu237BhA3feeSeXXHJJr/vt7Oxk9OjRvP322x/43te//nUWL15MU1MTTU1NtLa2csIJJ+zJf1ahq6++mtmzZzNr1qwPva+9tc8UhKSBb9SoUTzzzDMAXHvttRx44IF86Utf6nH7DRs2cPPNN/dZED1ZtmwZDz30EE8//TRDhw5l3bp1dHZ21vz+zs5OBg8u/mv4+uuv36tM/akhTzFFxNyIaO3o6Kg6iqQG8c1vfpPJkyczefJkvve97wGwcOFCVq9ezbHHHsvChQvZuHEjp512GtOmTWPq1Kncf//9ve7zjTfeYMyYMbuOTMaMGcMhhxwCwJNPPsnMmTM5/vjjOeOMM/j9738PwCmnnMLVV1/Nqaeeyo033siECRPYOZt08+bNjBs3js7OTi644ALuvfdeAJ544gk+/vGPc8wxx3DiiSfyzjvv0NnZyYIFC5g+fTpTp07l1ltv7fffWUMeQWTmUmBpS0vLhVVnkVT/2trauP3222lra2PHjh1Mnz6dmTNncsMNN7BmzZpdRx3vvvsuS5YsYcSIEbz55pucfPLJnH322T3ud86cOXzjG99g4sSJzJ49m3nz5jFjxgy2bdvG5Zdfzn333cfo0aO5/fbb+drXvkZraysAGzdu5PHHHwfgkUceYfny5cyYMYMlS5Zw5plnvueoYuvWrcybN4+7776badOm0dHRwbBhw7jlllsYO3YsbW1tbNu2jZNOOonTTz+dcePG9dvvrSELQpL2xLJly/jsZz/L/vvvD8C5557L8uXLOf3009+zXWZy1VVXsXz5cgYNGsSrr77KW2+9xcEHH1y434MOOoiVK1eybNkyHnvsMc477zy+9a1vMWXKFFatWsXs2bMB2LFjB83NzbveN2/evF2vzz//fBYvXsyMGTNYtGgRCxYseM/PaG9vZ9y4cUybNg2AkSNHAvDQQw/R3t7OokWLAOjo6OCFF16wICRpT9R6QfBtt91GR0cHK1euZPDgwTQ3N/d5HcHgwYOZNWsWs2bNYtKkSSxevJjJkyczdepUli1bVvieAw44YNfrc889l2uuuYbrrruO5557jpkzZ34ge9F01czkpptu2jUoX4aGHIOQpD1x6qmncs8997BlyxY2b97MkiVLmDFjBiNGjGDTpk27tuvo6GDs2LEMHjyYhx9+mNdee63X/ba3t7NmzZpdy88++yyHH344kyZN4rXXXqOtrQ2A7du3s2rVqsJ9HHTQQRx33HFcccUVnHPOOQwa9N6/lo8++mhefvllVq5cCXSdntqxYwef/OQnuemmm3YNiq9evZotW7bs+S+nFx5BSCpNvUwFnz59OvPnz981/fTSSy9lypQpALS0tDBlyhTOOussFixYwNy5c2lpaWHatGkceeSRve538+bNXHbZZXR0dNDU1MTEiRNpbW1l2LBh3HXXXVx22WVs2rSJzs5OrrzySo4++ujC/Zx//vnMnz+f5cuXf+B7w4YN44477uDSSy9l69at7Lfffjz66KNcfPHFvPLKKxx77LEAjB07liVLlnyYX9MH7DP3YvI6CKl87e3tHHXUUVXH0G6KPhPvxSRJ+lAsCElSoYYsCC+Uk+pXI5+2Hmg+7GfRkAWRmUsz86Kd84El1Yfhw4ezfv16S6IO7HwexPDhw/d6H85iktRv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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "movies.plot(y='Total Service', kind='hist', xticks=[1,2,3,4], logy=True)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This shows that there are ~5000 titles available on 1 service, ~300 on 2 services, and it looks like ~30 on 3 services." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Take aways\n", "\n", "1. We did a lot of data exploration & processing before we actually got to a plot that we liked -- this is normal!\n", "1. We did much of the data processing & plotting \"step-by-step\" -- we didn't just start right away with the answer, we had to try a few things and slowly build up to a solution we liked. This is also normal!\n", "\n", "Much of what we do in data viz is data processing to get our data in a form that actually \"works\" for data viz!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pandas $\\rightarrow$ NumPy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is a lot of interaction between NumPy and Pandas. In fact the \"sum\" we just did is basically implemented in NumPy. There are ways to go between Pandas & NumPy. Here is one way to get a NumPy array from a Pandas DataFrame.\n", "\n", "Let's go back to that array of for columns:" ] }, { "cell_type": "code", "execution_count": 25, "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", "
NetflixHuluPrime VideoDisney+
01000
11000
21000
31000
41000
...............
56060001
56070001
56080001
56090001
56100001
\n", "

5611 rows × 4 columns

\n", "
" ], "text/plain": [ " Netflix Hulu Prime Video Disney+\n", "0 1 0 0 0\n", "1 1 0 0 0\n", "2 1 0 0 0\n", "3 1 0 0 0\n", "4 1 0 0 0\n", "... ... ... ... ...\n", "5606 0 0 0 1\n", "5607 0 0 0 1\n", "5608 0 0 0 1\n", "5609 0 0 0 1\n", "5610 0 0 0 1\n", "\n", "[5611 rows x 4 columns]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.loc[:,['Netflix', 'Hulu', 'Prime Video', 'Disney+']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can grab the \"values\" of this Subset DataFrame and we get back out a NumPy array:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 0, 0, 0],\n", " [1, 0, 0, 0],\n", " [1, 0, 0, 0],\n", " ...,\n", " [0, 0, 0, 1],\n", " [0, 0, 0, 1],\n", " [0, 0, 0, 1]])" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies.loc[:,['Netflix', 'Hulu', 'Prime Video', 'Disney+']].values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's store this in a variable:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "myArray = movies.loc[:,['Netflix', 'Hulu', 'Prime Video', 'Disney+']].values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What is the type of this data?" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "numpy.ndarray" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(myArray)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This tells us we are getting a NumPy array back!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can then sum this like before:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 1, 1, ..., 1, 1, 1])" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "myArray.sum(axis=1) # counts number of services" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And then we can plot using `matplotlib` like before:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(myArray.sum(axis=1))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Look's familiar!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fig/Axis calls to `matplotlib`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's go back to plotting GDP:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "gdp = pd.read_csv(\"https://raw.githubusercontent.com/UIUC-iSchool-DataViz/spring2020/master/week01/data/GDP.csv\")" ] }, { "cell_type": "code", "execution_count": 32, "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", "
DATEGDP
01947-01-01243.164
11947-04-01245.968
21947-07-01249.585
31947-10-01259.745
41948-01-01265.742
.........
2862018-07-0120749.752
2872018-10-0120897.804
2882019-01-0121098.827
2892019-04-0121340.267
2902019-07-0121542.540
\n", "

291 rows × 2 columns

\n", "
" ], "text/plain": [ " DATE GDP\n", "0 1947-01-01 243.164\n", "1 1947-04-01 245.968\n", "2 1947-07-01 249.585\n", "3 1947-10-01 259.745\n", "4 1948-01-01 265.742\n", ".. ... ...\n", "286 2018-07-01 20749.752\n", "287 2018-10-01 20897.804\n", "288 2019-01-01 21098.827\n", "289 2019-04-01 21340.267\n", "290 2019-07-01 21542.540\n", "\n", "[291 rows x 2 columns]" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gdp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we recall, we had to do some data manipulation:" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "gdp['DATE'] = pd.to_datetime(gdp['DATE'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we got to the following plot:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(gdp['DATE'], gdp['GDP'])\n", "plt.xlabel('Years')\n", "plt.ylabel('US GDP in Billions')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So this is a fine way to interact with plots, but there is another way to interact with `matplotlib` through figure and axis \"objects\". I'm going to make the above plot with these calls and then we'll talk about what just happened:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,1,figsize=(8,6)) # creating figure & axis objects\n", "\n", "ax.plot(gdp['DATE'], gdp['GDP']) # plot now on the *axis object*\n", "ax.set_xlabel('Years') # note the set_ in the front!\n", "ax.set_ylabel('US GDP in Billions')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, its a bit bigger than before, but essentially there!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So what are these new things? This `fig` and `ax` thing? Well `fig` is an object that actually stores our figure:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`ax` is an axis object that sort of \"holds\" all the plotting info:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ax" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `set_` we have to add in is a function attached to this object. We can use `get_` to retrieve info about our plot. For example, the axis labels:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Years'" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ax.get_xlabel()" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'US GDP in Billions'" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ax.get_ylabel()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting with style\n", "\n", "We've been using the default \"style\" for our plots, but it turns out there are a few different styles associated with `matplotlib`:" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['seaborn-dark',\n", " 'seaborn-darkgrid',\n", " 'seaborn-ticks',\n", " 'fivethirtyeight',\n", " 'seaborn-whitegrid',\n", " 'classic',\n", " '_classic_test',\n", " 'fast',\n", " 'seaborn-talk',\n", " 'seaborn-dark-palette',\n", " 'seaborn-bright',\n", " 'seaborn-pastel',\n", " 'grayscale',\n", " 'seaborn-notebook',\n", " 'ggplot',\n", " 'seaborn-colorblind',\n", " 'seaborn-muted',\n", " 'seaborn',\n", " 'Solarize_Light2',\n", " 'seaborn-paper',\n", " 'bmh',\n", " 'tableau-colorblind10',\n", " 'seaborn-white',\n", " 'dark_background',\n", " 'seaborn-poster',\n", " 'seaborn-deep']" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plt.style.available" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But what do these all mean? These are different collections of ways that our plot line colors, fonts, thicknesses, sizes will be chosen for us. Let's try a new one:" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "style = 'seaborn-dark'\n", "plt.style.use(style)\n", "\n", "fig, ax = plt.subplots(1,1,figsize=(8,6)) # creating figure & axis objects\n", "\n", "ax.plot(gdp['DATE'], gdp['GDP']) # plot now on the *axis object*\n", "ax.set_xlabel('Years') # note the set_ in the front!\n", "ax.set_ylabel('US GDP in Billions')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So now we can see that the fonts are different and the background has changed color. So, neat!\n", "\n", "The only problem is that now *all* of our plots will be in this style:" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,1)\n", "\n", "plt.plot([1,2,3])\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we want to use a certain plot style for *only* the cell we are currently running we can make use of the `with` keyword." ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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AADpW49Nc9dWmNom903UaR3cFlWEhmjSaQA7duyQdCBQPvHEE9q0aVPN5qqrrrpKXq9XTqfT9BqXy6VAICBJ8nq9crlcpn6n0ym/3y+v11vz/ENfK6nm9fXJy8tryluKKLH0XloT49Z4jF3jMG6Nx9g1DuN27AxDenSr23SdaobT0KSMQuXlFVpXWJRoye+5Pn36HLG/SWH1zDPP1NKlS5Weni5J6t27t8rKyvT666/rqquuktvtrhMs/X6/4uPjJR0In36/39QfCAQUHx8vt9td83yHw1Hz95JqXl+fo73haJGXlxcz76U1MW6Nx9g1DuPWeIxd4zBu0veekJbv9SkYNvTzHglKdh59VeNHe736urzI1Db79AwN65nYUmXGDKu/55p8zuoPQfUH3bt3N32EX1Rk/sYoKipSZmbmEfuzsrJqPv4vKipSYmJizd9LqrN0AAAAxL7t5UHduKJEn+cfnOhauNWjt3+UddSNUY+vMX/8P7qTWxf1SGiROtG8mnSQ2KJFi3TFFVeY2jZv3lyz4SonJ0dr166VYRy4wswwDOXm5uqkk06q6V+zZk3Na/Pz8/X9998rJydH2dnZ6tixo6l/zZo1ys7OZr0qAABtTCBs6KoPi0xBVZI+z/friwL/YV51wJcFfn3yvfk5dw9JlY2d/1GhSWH1tNNO065du/TMM89o165devfdd/XKK69o0qRJkqRzzjlH1dXVmjNnjrZv3665c+eqqqpK5513niTpoosu0nvvvac33nhDW7du1YwZM3T66afXhN2LLrpIzzzzjL788kt9/fXXmj9/vi677LImvmUAABAtvt7v15Jvq3XHylKtLwnW+5y/bvPU2y5JwbChR74pN7WN7OjSKe1dh3kFIk2TlgF069ZNjz/+uJ555hktWrRImZmZuvHGGzV27FhJUnJysubOnatHH31US5YsUe/evTV37tyac1gHDhyou+++W3/6059UVlam4cOH6+677675+hMnTlRJSYmmT58uu92u8ePHa+LEiU0pGQAARInnN1bq9pVlMo7yvH/uqNZjI9LlrnX8lC9kaMpHxVq+12dq5+D/6GIrLS092vcALGD1YuZoxbg1HmPXOIxb4zF2jdNWxm19cUCj3ixQIFy3L9VpU3nAHF9ePSdD47qZ16Be81Gx/r6j2tR2SrZTS3+SzRKAY2D19xyX3wIA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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "style = 'fivethirtyeight'\n", "with plt.style.context(style): # here context means we'll plot *with this style but only in this context*\n", " fig, ax = plt.subplots(figsize=(10, 8))\n", " ax.plot(gdp[\"DATE\"], gdp[\"GDP\"], '-')\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now if we plot again:" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,1)\n", "\n", "plt.plot([1,2,3])\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have whatever style we last used with `plt.style.use`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we want to try out a few different styles we can make a function:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "def make_gdp_plot(style): # note, \"style\" is something you can gooogle if you want more options\n", " with plt.style.context(style):\n", " fig, ax = plt.subplots(figsize=(10, 8))\n", " ax.set_title(\"Style: \" + style) # append 'Style:' and whatever style we chose\n", " ax.plot(gdp[\"DATE\"], gdp[\"GDP\"], '-')\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can run our function. Let's remind ourselves of our choses:" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['seaborn-dark',\n", " 'seaborn-darkgrid',\n", " 'seaborn-ticks',\n", " 'fivethirtyeight',\n", " 'seaborn-whitegrid',\n", " 'classic',\n", " '_classic_test',\n", " 'fast',\n", " 'seaborn-talk',\n", " 'seaborn-dark-palette',\n", " 'seaborn-bright',\n", " 'seaborn-pastel',\n", " 'grayscale',\n", " 'seaborn-notebook',\n", " 'ggplot',\n", " 'seaborn-colorblind',\n", " 'seaborn-muted',\n", " 'seaborn',\n", " 'Solarize_Light2',\n", " 'seaborn-paper',\n", " 'bmh',\n", " 'tableau-colorblind10',\n", " 'seaborn-white',\n", " 'dark_background',\n", " 'seaborn-poster',\n", " 'seaborn-deep']" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plt.style.available" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAHeCAYAAACsUM6HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeXxU1f3/8fe5CZAFwmKQsAkCsrkA4gIKKqsbYFu04oZULK22uGurta3f/lxqXWpdiqiIoFQFN9wVNwQVENkUjGwKIiCELSwhJLmf3x+jsZQBkpDJmcy8no9HHoa5Z5L3HGN4e++Zc52ZmQAAABATge8AAAAAiYyyBQAAEEOULQAAgBiibAEAAMQQZQsAACCGKFsAAAAxRNkCEBPFxcV65JFHdOqpp+qII45Q9+7ddc0112jFihWlY4qKijRhwoQyfb0XXnhBxx9/fKziVrp27drp/fffL9PY7du3a9KkSTFOBMAXyhaAmLj33ns1ceJE3XjjjXrzzTc1evRobd++XRdccIHy8/MlSa+++qruv/9+z0n9Gzt2rJ5++mnfMQDECGULQEw8//zz+v3vf69TTjlFzZo101FHHaX77rtP27dv1zvvvCNJYk/lCOYBSGyULQAx4ZzTzJkzVVxcXPpYenq6XnrpJfXr108zZ87UjTfeqM2bN6tdu3Z69dVX1bFjR33yySe7fZ1+/frp+eef3+Prr1+/XldeeaW6dOmiHj166E9/+pO2bt1aevyiiy7SRRddtNd8q1ev1vDhw9W5c2f1799fzz77rNq1a1fm4+3atdOkSZM0YMAAde7cWZdccom+/fbbqN/LzDR+/HideuqpOvLII3XWWWdp6tSpkiKXRx988EEtXLhQ7dq106pVq/YzswCqG8oWgJi45JJL9MILL+iUU07RTTfdpJdfflkbN25UixYtVKdOHXXp0kU33XST6tWrp+nTp6t///7q1q2bXn311dKvMW/ePH3//ffq37//Hl9/5MiRMjM9++yzGjVqlFauXKmrr7669PgDDzygBx54IGq24uJijRgxQkEQaOLEifrjH/+of/3rX2U+/qO7775bl19+uSZOnCjnnC699FIVFRXtMe7hhx/WAw88oCuuuEIvv/yy+vbtq8suu0y5ubk644wzdMkll6h9+/aaPn26GjduXK55BhD/KFsAYmLEiBG6//771aZNG7388su6/vrr1bNnT912220qKSlRzZo1VadOHUlSw4YNVbNmTQ0aNEhTpkwpLSyvvvqqTjnllNJxP5oxY4a++uor3X333Wrbtq2OPPJI3X333Zo2bZoWL14sSapXr57q1asXNduMGTP0zTff6M4771Tbtm3Vu3dvjRw5sszHfzR06FCdccYZatu2re6880599913+vjjj3cbY2YaN26cfvvb3+rMM8/UoYceqpEjR+qEE07Qo48+qrS0NGVkZCglJUUNGzZUSkpKxScdQFyibAGImVNPPVVPPPGEZs6cqYcfflh9+/bV+PHjNWbMmKjj+/Xrp127dmn69OkqKSnRG2+8oUGDBu0xbunSpSooKNDxxx+vLl26qEuXLjrttNMkSV9//fV+c3311Vdq2rSpGjRoUPpYly5dynz8R8ccc0zp59nZ2WratKmWLFmy25gNGzZo06ZN6ty5826Pd+3aVUuXLt1vVgDVX6rvAAAST25uriZOnKi//OUvkqTMzEz16tVLvXr10tVXX61p06ZpxIgRezwvMzNTffr00euvv66aNWtq165dOumkk/YYV1xcrCZNmmjs2LF7HDvooIP2my81NXWfi9L3d/xH/3sWKgzDPR5LS0uL+lwzUxiG+/0eAKo/zmwBqHRhGGrChAmaNWvWHsdq166t+vXrS4osov9fgwYN0ocffqh33nlHp512mmrWrLnHmNatW2vdunXKzMxUixYt1KJFC9WoUUN///vftXHjxv3ma9u2rVavXr3b2M8//7zMx3+0aNGi0s/Xr1+vNWvWqH379nu83oMPPljz5s3b7fG5c+eqVatWkqLPA4DEQdkCUOk6duyo/v3768orr9SkSZO0cuVKffnllxozZoxeeeUV/epXv5IkZWRkaMeOHVq6dKkKCwslST169FBqaqqef/55DRw4MOrXP/HEE3XYYYfp6quv1hdffKHc3Fxdf/31+vbbb9W0aVNJ0ubNm7V58+aoz+/WrZtat26tG2+8UYsXL9a0adN2WwC/v+M/GjVqlKZOnaqvvvpKf/jDH9SmTRsdd9xxe4wbMWKEHn74Yb322mv65ptv9O9//1vTp08vfbdkRkaG8vLy9O233+727k0AiYGyBSAm7rnnHl100UUaN26cBg4cqPPPP1/Tpk3TY489Vrr+qXv37urYsaN+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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "make_gdp_plot('ggplot')" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqoAAAI0CAYAAADV6QtZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAMTQAADE0B0s6tTgAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzde5zOdf7/8cfM1MghM6MTiSXWadtkJrY22o2kjYh0RFmdaCN+9RU6SEVZNc4bbauQ2iQSKSK7UpZySO2gSEYOnZgZ5Dgzvz+uda1Zp8E187lmPO6329xu4/q8P5/rdV11q6fX+/N+f2Lmzp2biyRJkhRlYoMuQJIkSToUg6okSZKikkFVkiRJUcmgKkmSpKhkUJUkSVJUMqhKkiQpKhlUJUmSFJUMqpJOCvPnz+f++++ndevWNGvWjJtvvplHHnmERYsWhccsW7aMl19+mZycnON6j2eeeYbu3btHquTjsnnzZq644gqWLVtW6O/93nvvccUVVxT6+0oqvgyqkoq9SZMm8eijj1KxYkX+7//+j6effpr27dsDsGTJkvC4ZcuWMXbsWHJzfQ7K8bjkkksYOXJk0GVIKkZOCboASSpoEydOpGHDhvTs2TP8WnJyMi1atDju7qkOlpiYSGJiYtBlSCpGDKqSir1t27ZRrly5Qx6LjQ1NLL388suMHTsWgCuvvDJ8fObMmdx44400bdqUP/3pT3nOfe+99/jzn//MuHHjOO+88w55/czMTMaMGcPHH39MZmYm5cuX54YbbuDaa6897s8zffp03n77bdatW0d8fDznn38+d911FxdccMEhx8+fP5+pU6eyZs0adu7cSYUKFbjmmmto06ZN+PMDzJ49m9dff51vv/2WuLg4zj77bK677jpatmwJwMqVK3nxxRf56quv2L17N+XKlaN+/fr06NEj/H0MHDiQuXPnhq+ZnZ3NxIkTmTlzJhs3bqRUqVLUqFGD++67j8qVKx/3dyDp5GBQlVTs1a5dm5kzZ1KxYkUaNmzIueeee9CY5s2b88MPPzBjxgyGDRtGXFwcAPHx8Vx99dW8++673HXXXcTHx4fPmT59OvXq1TtsSN2xYwddu3Zl9+7d3H777VSoUIFPPvmEIUOGsHfvXtq0aRMee8UVV9CsWTN69ep1xM/y/PPPM3HiRJo3b84f//hHAFasWMH3339/2HM2btxI/fr1uf766znttNNYs2YNr7zyChkZGdx5550AfP755wwYMIDWrVvTuXNncnJySE9PZ8eOHQDs3LmTnj17UqtWLR566CFKlSrF5s2b+eKLL45Y75NPPsn8+fNp27YtycnJ7Nmzh88++4yffvrJoCrpqAyqkoq9Hj168Pjjj/P888/z/PPPk5CQwMUXX8wf/vAHUlJSADjrrLM466yzAKhTp044qAK0bNmSN954g3/+8580bdoUgK+//pp///vfPP7444d93zfffJPNmzczZsyYcJhNSUlh+/btjB07llatWuV5n6PZsGEDkyZN4sYbb6RLly7h1y+99NIjnnfjjTeGf8/NzeXXv/41p59+OsOHD+eOO+4gJiaGtLQ0ypQpQ9euXcNj69evH/49PT2dbdu2cc8991CtWrXw61dfffVh33fp0qX885//pFu3brRu3Tr8esOGDfP3gSWd9Ayqkoq9SpUq8cILL/DFF1/w6aefkpaWxrx585gzZw533nkn7dq1O+L55557LvXr12fatGnhoDpt2jSSkpK47LLLDnveokWLqF27NhUqVCA7Ozv8ev369XnnnXf45ptvwqHvwOnyw1m8eDE5OTk0b948Px87bMuWLYwdO5aFCxfy448/5qll69atlCtXjpo1a7Jt2zb69+/PlVdeya9+9SvKlCkTHlexYkXKlClDamoqrVu3pm7duuFgfziffvopMTExXHPNNcdUryTtZ1CVdFKIi4ujbt261K1bF4Aff/yRhx56iJdffpmWLVty+umnH/H8Vq1a0adPH9auXUuFChV4//33ue666zjllMP/ZzQjI4MNGzbkuef1QFlZWcf0GfaPP1pAPFBubi4PP/ww27Zt47bbbuO8886jRIkSrFixgqFDh7Jnzx4ALrroIh5//HEmTZrEww8/HH6tS5cuVKtWjTJlyjB48GDGjh1LamoqO3fupGrVqnTs2JHLL7/8kO+dmZnJ6aefTokSJY7pc0rSfgZVSSelM888k2uuuYYRI0bw7bffUrt27SOO/81vfsM555zD9OnTqVatGjt37qRFixZHPKds2bIkJibmmU4/UKVKlY6p5rJlywLwww8/5Pv+zo0bN7Jy5UoGDx7MRRddFH599erVB4393e9+x+9+9zt27drFkiVLGD16NA899BATJ04kNjaW6tWr8+STT5Kdnc2qVasYP348/fr148UXX6Rq1aoHXS8hIYFt27axe/duw6qk4+I+qpKKvS1bthzy9fT0dIDwjgCnnnoqALt37z5obGxsLNdeey2zZs3irbfeon79+pQvX/6I79ugQQPWr1/P2WefTc2aNQ/6KVWq1DF9jpSUFGJjY3nnnXfyfc6uXbsA8iwCy83N5d133z3sOaeddhq//e1vadmyJT/99NNBnd+4uDjq1KnDnXfeSU5ODuvWrTvkdS6++GJyc3OZMWNGvuuVpAPZUZVU7P3xj3+kfv36NGjQgHPOOYeff/6Zf/3rX0ybNo3f//73nHPOOQD84he/AEL7rjZo0IC4uDhq1qwZvk7z5s0ZO3YsX331FU899dRR37dt27bMnTuX+++/n7Zt21KpUiV27dpFeno6X3zxBU8++WR4bH5W/VesWJG2bdvyxhtvsGPHDi677DJiY2NZuXIllSpVonHjxgedU7lyZcqXL09qaiodO3YkJiaGadOmsXXr1jzjxowZw9atW6lXrx5nnHEGP/zwA5MnT6Z69eokJiayYMECpk+fzmWXXUaFChXYtWsXkydPplSpUvzqV786ZL316tXj8ssvZ+TIkXz33XckJyezb98+li9fziWXXJKnwytJh2JQlVTs3XHHHSxcuJAxY8awZcsW4uLiOO+887jrrrto27ZteNyll15Kq1atmDp1KuPGjSM3NzfPIqfExETq1q3LunXruOSSS476vmXKlGHEiBGMGzeO1157jR9//JEyZcpQqVIlfv/73x/XZ+nSpQsVK1Zk6tSpzJo1i9NOO43zzz+fiy+++JDjTz31VPr378/QoUPp378/JUuWpHHjxlx33XX07t07PK527dpMnjyZkSNHsm3bNhITE7n44ovp1KkTEArJ8fHxjB8/np9++olSpUpRq1YtBg0adMR7Zh977DFee+01Zs6cyZtvvknp0qWpVauWC6wk5UvM3Llzj/qswFdeeYV58+axfv16SpUqRYMGDbjnnnvyPIHkUM93/utf/0r16tXDf3711VeZPHky27dvJyUlhQceeCDPJtxpaWkMHTqUtWvXUr58ebp06ZJn25WdO3cybNgw5s2bxymnnMJVV11F586dj2l7F0k6XllZWdx0003cfPPN3H777UGXI0nFXr46ql988QU33HADNWvWZMeOHQwbNownnniC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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "make_gdp_plot('classic')" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "image/png": "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6xC8+uqrWLNmDR544AH09/fjxBNPxMaNG3HdddcBGPpmbdu2DbNnz8YRRxyBt956CwDw2muvYdGiRTqXbiupS3NzM95++23kcjmk02l8/PHHaGxsRHNzM1599VUAQ10WLlyoefX2kboAwNatWzFr1iwEg8Hhjy33/VJZWYlwOAyPx4NIJAK/349UKlX2+6W1tRWxWAyPPPIIvvOd78DlcqGysrJk90tPTw9WrFiBH/3oR7jgggsAyD8bzc3N2LBhA0zTxGeffQbTNFFbW1v2XUZSqj9Ho+2SzWZx+eWX4/zzz8fKlSuHP9/OLnw24iFoamrClVdeiVAohOOPPx4nn3wyAGDDhg246KKL4Ha78cMf/hC1tbVYtWoVbrnlFtxzzz2YPXs2li5dqnn19hmpy/nnn49LLrkESilce+21qK6uxjXXXINVq1bhscceQ01NDe6++27Nq7fPSF1aW1sxY8aMfT623PdLsVjEu+++i+XLl6NYLOLcc8/F7Nmzy36/5HI5vP7663jiiScQCARw6623Aijd/fKrX/0Kg4ODuO+++3DfffcBAG6++WasXr16n9vq8XiwaNEiXHzxxTBNk132c1tL9edotF0efvhh7Nq1C48//jgef/xxAEP3JNvZha+NSERERGQjPoxIREREZCMOW0REREQ24rBFREREZCMOW0REREQ24rBFREREZCMOW0REREQ24rBFREREZKP/D9NAhfcfEj3oAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "make_gdp_plot('bmh')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This plotting-with-a-function will come up later in class when we do this sort of thing interactively so stay tuned!" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }