You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3483 lines
1.0 MiB

2 years ago
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"___\n",
"\n",
"<a href='http://www.pieriandata.com'><img src='../Pierian_Data_Logo.png'/></a>\n",
"___\n",
"<center><em>Copyright by Pierian Data Inc.</em></center>\n",
"<center><em>For more information, visit us at <a href='http://www.pieriandata.com'>www.pieriandata.com</a></em></center>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Capstone Project - Solution\n",
"\n",
"## Overview\n",
"\n",
"If you are planning on going out to see a movie, how well can you trust online reviews and ratings? *Especially* if the same company showing the rating *also* makes money by selling movie tickets. Do they have a bias towards rating movies higher than they should be rated?\n",
"\n",
"### Goal:\n",
"\n",
"**Your goal is to complete the tasks below based off the 538 article and see if you reach a similar conclusion. You will need to use your pandas and visualization skills to determine if Fandango's ratings in 2015 had a bias towards rating movies better to sell more tickets.**\n",
"\n",
"---\n",
"---\n",
"\n",
"**Complete the tasks written in bold.**\n",
"\n",
"---\n",
"----\n",
"\n",
"## Part One: Understanding the Background and Data\n",
"\n",
"\n",
"**TASK: Read this article: [Be Suspicious Of Online Movie Ratings, Especially Fandangos](http://fivethirtyeight.com/features/fandango-movies-ratings/)**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----\n",
"\n",
"**TASK: After reading the article, read these two tables giving an overview of the two .csv files we will be working with:**\n",
"\n",
"### The Data\n",
"\n",
"This is the data behind the story [Be Suspicious Of Online Movie Ratings, Especially Fandangos](http://fivethirtyeight.com/features/fandango-movies-ratings/) openly available on 538's github: https://github.com/fivethirtyeight/data. There are two csv files, one with Fandango Stars and Displayed Ratings, and the other with aggregate data for movie ratings from other sites, like Metacritic,IMDB, and Rotten Tomatoes.\n",
"\n",
"#### all_sites_scores.csv"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"-----\n",
"\n",
"`all_sites_scores.csv` contains every film that has a Rotten Tomatoes rating, a RT User rating, a Metacritic score, a Metacritic User score, and IMDb score, and at least 30 fan reviews on Fandango. The data from Fandango was pulled on Aug. 24, 2015."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Column | Definition\n",
"--- | -----------\n",
"FILM | The film in question\n",
"RottenTomatoes | The Rotten Tomatoes Tomatometer score for the film\n",
"RottenTomatoes_User | The Rotten Tomatoes user score for the film\n",
"Metacritic | The Metacritic critic score for the film\n",
"Metacritic_User | The Metacritic user score for the film\n",
"IMDB | The IMDb user score for the film\n",
"Metacritic_user_vote_count | The number of user votes the film had on Metacritic\n",
"IMDB_user_vote_count | The number of user votes the film had on IMDb"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----\n",
"----\n",
"\n",
"#### fandango_scape.csv"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`fandango_scrape.csv` contains every film 538 pulled from Fandango.\n",
"\n",
"Column | Definiton\n",
"--- | ---------\n",
"FILM | The movie\n",
"STARS | Number of stars presented on Fandango.com\n",
"RATING | The Fandango ratingValue for the film, as pulled from the HTML of each page. This is the actual average score the movie obtained.\n",
"VOTES | number of people who had reviewed the film at the time we pulled it."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----\n",
"\n",
"**TASK: Import any libraries you think you will use:**"
]
},
{
"cell_type": "code",
"execution_count": 173,
"metadata": {},
"outputs": [],
"source": [
"# IMPORT HERE!"
]
},
{
"cell_type": "code",
"execution_count": 174,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part Two: Exploring Fandango Displayed Scores versus True User Ratings\n",
"\n",
"Let's first explore the Fandango ratings to see if our analysis agrees with the article's conclusion.\n",
"\n",
"**TASK: Run the cell below to read in the fandango_scrape.csv file**"
]
},
{
"cell_type": "code",
"execution_count": 175,
"metadata": {},
"outputs": [],
"source": [
"fandango = pd.read_csv(\"fandango_scrape.csv\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Explore the DataFrame Properties and Head.**"
]
},
{
"cell_type": "code",
"execution_count": 176,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>STARS</th>\n",
" <th>RATING</th>\n",
" <th>VOTES</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Fifty Shades of Grey (2015)</td>\n",
" <td>4.0</td>\n",
" <td>3.9</td>\n",
" <td>34846</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Jurassic World (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>34390</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>American Sniper (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>34085</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Furious 7 (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>33538</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Inside Out (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>15749</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FILM STARS RATING VOTES\n",
"0 Fifty Shades of Grey (2015) 4.0 3.9 34846\n",
"1 Jurassic World (2015) 4.5 4.5 34390\n",
"2 American Sniper (2015) 5.0 4.8 34085\n",
"3 Furious 7 (2015) 5.0 4.8 33538\n",
"4 Inside Out (2015) 4.5 4.5 15749"
]
},
"execution_count": 176,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fandango.head()"
]
},
{
"cell_type": "code",
"execution_count": 177,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 504 entries, 0 to 503\n",
"Data columns (total 4 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 FILM 504 non-null object \n",
" 1 STARS 504 non-null float64\n",
" 2 RATING 504 non-null float64\n",
" 3 VOTES 504 non-null int64 \n",
"dtypes: float64(2), int64(1), object(1)\n",
"memory usage: 15.9+ KB\n"
]
}
],
"source": [
"fandango.info()"
]
},
{
"cell_type": "code",
"execution_count": 178,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>STARS</th>\n",
" <th>RATING</th>\n",
" <th>VOTES</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>504.000000</td>\n",
" <td>504.000000</td>\n",
" <td>504.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>3.558532</td>\n",
" <td>3.375794</td>\n",
" <td>1147.863095</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>1.563133</td>\n",
" <td>1.491223</td>\n",
" <td>3830.583136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>3.500000</td>\n",
" <td>3.100000</td>\n",
" <td>3.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>4.000000</td>\n",
" <td>3.800000</td>\n",
" <td>18.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>4.500000</td>\n",
" <td>4.300000</td>\n",
" <td>189.750000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>5.000000</td>\n",
" <td>5.000000</td>\n",
" <td>34846.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" STARS RATING VOTES\n",
"count 504.000000 504.000000 504.000000\n",
"mean 3.558532 3.375794 1147.863095\n",
"std 1.563133 1.491223 3830.583136\n",
"min 0.000000 0.000000 0.000000\n",
"25% 3.500000 3.100000 3.000000\n",
"50% 4.000000 3.800000 18.500000\n",
"75% 4.500000 4.300000 189.750000\n",
"max 5.000000 5.000000 34846.000000"
]
},
"execution_count": 178,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fandango.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Let's explore the relationship between popularity of a film and its rating. Create a scatterplot showing the relationship between rating and votes. Feel free to edit visual styling to your preference.**"
]
},
{
"cell_type": "code",
"execution_count": 179,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 180,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1500x600 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,4),dpi=150)\n",
"sns.scatterplot(data=fandango,x='RATING',y='VOTES');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Calculate the correlation between the columns:**"
]
},
{
"cell_type": "code",
"execution_count": 181,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 182,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>STARS</th>\n",
" <th>RATING</th>\n",
" <th>VOTES</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>STARS</th>\n",
" <td>1.000000</td>\n",
" <td>0.994696</td>\n",
" <td>0.164218</td>\n",
" </tr>\n",
" <tr>\n",
" <th>RATING</th>\n",
" <td>0.994696</td>\n",
" <td>1.000000</td>\n",
" <td>0.163764</td>\n",
" </tr>\n",
" <tr>\n",
" <th>VOTES</th>\n",
" <td>0.164218</td>\n",
" <td>0.163764</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" STARS RATING VOTES\n",
"STARS 1.000000 0.994696 0.164218\n",
"RATING 0.994696 1.000000 0.163764\n",
"VOTES 0.164218 0.163764 1.000000"
]
},
"execution_count": 182,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fandango.corr()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Assuming that every row in the FILM title column has the same format:**\n",
"\n",
" Film Title Name (Year)\n",
" \n",
"**Create a new column that is able to strip the year from the title strings and set this new column as YEAR**"
]
},
{
"cell_type": "code",
"execution_count": 183,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 184,
"metadata": {},
"outputs": [],
"source": [
"fandango['YEAR'] = fandango['FILM'].apply(lambda title:title.split('(')[-1][:4])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: How many movies are in the Fandango DataFrame per year?**"
]
},
{
"cell_type": "code",
"execution_count": 185,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 186,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2015 478\n",
"2014 23\n",
"2016 1\n",
"1964 1\n",
"2012 1\n",
"Name: YEAR, dtype: int64"
]
},
"execution_count": 186,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fandango['YEAR'].value_counts()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Visualize the count of movies per year with a plot:**"
]
},
{
"cell_type": "code",
"execution_count": 187,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 188,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:xlabel='YEAR', ylabel='count'>"
]
},
"execution_count": 188,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.countplot(data=fandango,x='YEAR')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: What are the 10 movies with the highest number of votes?**"
]
},
{
"cell_type": "code",
"execution_count": 189,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 190,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>STARS</th>\n",
" <th>RATING</th>\n",
" <th>VOTES</th>\n",
" <th>YEAR</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Fifty Shades of Grey (2015)</td>\n",
" <td>4.0</td>\n",
" <td>3.9</td>\n",
" <td>34846</td>\n",
" <td>2015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Jurassic World (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>34390</td>\n",
" <td>2015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>American Sniper (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>34085</td>\n",
" <td>2015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Furious 7 (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>33538</td>\n",
" <td>2015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Inside Out (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>15749</td>\n",
" <td>2015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>The Hobbit: The Battle of the Five Armies (2014)</td>\n",
" <td>4.5</td>\n",
" <td>4.3</td>\n",
" <td>15337</td>\n",
" <td>2014</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Kingsman: The Secret Service (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.2</td>\n",
" <td>15205</td>\n",
" <td>2015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>Minions (2015)</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" <td>14998</td>\n",
" <td>2015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>Avengers: Age of Ultron (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.5</td>\n",
" <td>14846</td>\n",
" <td>2015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>Into the Woods (2014)</td>\n",
" <td>3.5</td>\n",
" <td>3.4</td>\n",
" <td>13055</td>\n",
" <td>2014</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FILM STARS RATING VOTES \\\n",
"0 Fifty Shades of Grey (2015) 4.0 3.9 34846 \n",
"1 Jurassic World (2015) 4.5 4.5 34390 \n",
"2 American Sniper (2015) 5.0 4.8 34085 \n",
"3 Furious 7 (2015) 5.0 4.8 33538 \n",
"4 Inside Out (2015) 4.5 4.5 15749 \n",
"5 The Hobbit: The Battle of the Five Armies (2014) 4.5 4.3 15337 \n",
"6 Kingsman: The Secret Service (2015) 4.5 4.2 15205 \n",
"7 Minions (2015) 4.0 4.0 14998 \n",
"8 Avengers: Age of Ultron (2015) 5.0 4.5 14846 \n",
"9 Into the Woods (2014) 3.5 3.4 13055 \n",
"\n",
" YEAR \n",
"0 2015 \n",
"1 2015 \n",
"2 2015 \n",
"3 2015 \n",
"4 2015 \n",
"5 2014 \n",
"6 2015 \n",
"7 2015 \n",
"8 2015 \n",
"9 2014 "
]
},
"execution_count": 190,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fandango.nlargest(10,'VOTES')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: How many movies have zero votes?**"
]
},
{
"cell_type": "code",
"execution_count": 191,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 192,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"69"
]
},
"execution_count": 192,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"no_votes = fandango['VOTES']==0 \n",
"no_votes.sum()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Create DataFrame of only reviewed films by removing any films that have zero votes.**"
]
},
{
"cell_type": "code",
"execution_count": 193,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 194,
"metadata": {},
"outputs": [],
"source": [
"fan_reviewed = fandango[fandango['VOTES']>0]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----\n",
"\n",
"**As noted in the article, due to HTML and star rating displays, the true user rating may be slightly different than the rating shown to a user. Let's visualize this difference in distributions.**\n",
"\n",
"**TASK: Create a KDE plot (or multiple kdeplots) that displays the distribution of ratings that are displayed (STARS) versus what the true rating was from votes (RATING). Clip the KDEs to 0-5.**"
]
},
{
"cell_type": "code",
"execution_count": 195,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 196,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x1aa0110cdc8>"
]
},
"execution_count": 196,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABh0AAAIhCAYAAABaAXuzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAABcSAAAXEgFnn9JSAADRJElEQVR4nOzdd3hUVf7H8feZmfTeG2kQQi8SBBEsNHvXdV0769rrYlt13VXXur9dddfeK3bFgqgoKKAgJfTeIYWSkN6Tmfv7I4FFBIEwk8kkn9fzzHOTW875DBZm7veec4xlWYiIiIiIiIiIiIiIiBwum7cDiIiIiIiIiIiIiIhIx6Cig4iIiIiIiIiIiIiIuIWKDiIiIiIiIiIiIiIi4hYqOoiIiIiIiIiIiIiIiFuo6CAiIiIiIiIiIiIiIm6hooOIiIiIiIiIiIiIiLiFig4iIiIiIiIiIiIiIuIWKjqIiIiIiIiIiIiIiIhbqOggIiIiIiIiIiIiIiJuoaKDiIiIiIiIiIiIiIi4hYoOIiIiIiIiIiIiIiLiFio6iIiIiIiIiIiIiIiIWzi8HaCzMMZsA4KBPG9nERERERERERERr0sFaizLSvR2EBERdzKWZXk7Q6dgjKkICAgI69atm7ejiIiIiIiIiIiIl61fv576+vpKy7LCvZ1FRMSdNNKh7eR169at9/Lly72dQ0REREREREREvKxPnz6sWLFCM2KISIejNR1ERERERERERERERMQtVHQQERERERERERERERG3UNFBRERERERERERERETcQkUHERERERERERERERFxCxUdRERERERERERERETELVR0EBERERERERERERERt1DRQURERERERERERERE3EJFBxERERERERERERERcQufLjoYY4KMMQ8YY9YYY+qMMYXGmFeNMSmtbC/DGPO8MWajMabeGFNsjJltjLnd3dlFRERERERERERERDoany06GGMCgWnAvUAo8BmQB4wDFhpjuh5ieycDy4GrgJ3AJ8ACIAO42m3BRUREREREREREREQ6KIe3AxyGvwJHAbOBEyzLqgIwxowH/g28Chx/MA0ZY3rSXGSoBMZaljVrj2M2YJBbk4uIiIiIiIiIiIiIdEA+OdLBGOMP3NDy6/W7Cg4AlmU9DiwBjjPG5Bxkk48DgcDlexYcWtpzWZY13w2xRURERERERERE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
"text/plain": [
"<Figure size 1500x600 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,4),dpi=150)\n",
"sns.kdeplot(data=fan_reviewed,x='RATING',clip=[0,5],fill=True,label='True Rating')\n",
"sns.kdeplot(data=fan_reviewed,x='STARS',clip=[0,5],fill=True,label='Stars Displayed')\n",
"\n",
"plt.legend(loc=(1.05,0.5))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Let's now actually quantify this discrepancy. Create a new column of the different between STARS displayed versus true RATING. Calculate this difference with STARS-RATING and round these differences to the nearest decimal point.**"
]
},
{
"cell_type": "code",
"execution_count": 197,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 198,
"metadata": {},
"outputs": [],
"source": [
"fan_reviewed[\"STARS_DIFF\"] = fan_reviewed['STARS'] - fan_reviewed['RATING'] \n",
"fan_reviewed['STARS_DIFF'] = fan_reviewed['STARS_DIFF'].round(2)"
]
},
{
"cell_type": "code",
"execution_count": 199,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>STARS</th>\n",
" <th>RATING</th>\n",
" <th>VOTES</th>\n",
" <th>YEAR</th>\n",
" <th>STARS_DIFF</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Fifty Shades of Grey (2015)</td>\n",
" <td>4.0</td>\n",
" <td>3.9</td>\n",
" <td>34846</td>\n",
" <td>2015</td>\n",
" <td>0.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Jurassic World (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>34390</td>\n",
" <td>2015</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>American Sniper (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>34085</td>\n",
" <td>2015</td>\n",
" <td>0.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Furious 7 (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>33538</td>\n",
" <td>2015</td>\n",
" <td>0.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Inside Out (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>15749</td>\n",
" <td>2015</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>430</th>\n",
" <td>That Sugar Film (2015)</td>\n",
" <td>5.0</td>\n",
" <td>5.0</td>\n",
" <td>1</td>\n",
" <td>2015</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>431</th>\n",
" <td>The Intern (2015)</td>\n",
" <td>5.0</td>\n",
" <td>5.0</td>\n",
" <td>1</td>\n",
" <td>2015</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>432</th>\n",
" <td>The Park Bench (2015)</td>\n",
" <td>5.0</td>\n",
" <td>5.0</td>\n",
" <td>1</td>\n",
" <td>2015</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>433</th>\n",
" <td>The Wanted 18 (2015)</td>\n",
" <td>5.0</td>\n",
" <td>5.0</td>\n",
" <td>1</td>\n",
" <td>2015</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>434</th>\n",
" <td>Z For Zachariah (2015)</td>\n",
" <td>5.0</td>\n",
" <td>5.0</td>\n",
" <td>1</td>\n",
" <td>2015</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>435 rows × 6 columns</p>\n",
"</div>"
],
"text/plain": [
" FILM STARS RATING VOTES YEAR STARS_DIFF\n",
"0 Fifty Shades of Grey (2015) 4.0 3.9 34846 2015 0.1\n",
"1 Jurassic World (2015) 4.5 4.5 34390 2015 0.0\n",
"2 American Sniper (2015) 5.0 4.8 34085 2015 0.2\n",
"3 Furious 7 (2015) 5.0 4.8 33538 2015 0.2\n",
"4 Inside Out (2015) 4.5 4.5 15749 2015 0.0\n",
".. ... ... ... ... ... ...\n",
"430 That Sugar Film (2015) 5.0 5.0 1 2015 0.0\n",
"431 The Intern (2015) 5.0 5.0 1 2015 0.0\n",
"432 The Park Bench (2015) 5.0 5.0 1 2015 0.0\n",
"433 The Wanted 18 (2015) 5.0 5.0 1 2015 0.0\n",
"434 Z For Zachariah (2015) 5.0 5.0 1 2015 0.0\n",
"\n",
"[435 rows x 6 columns]"
]
},
"execution_count": 199,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fan_reviewed"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Create a count plot to display the number of times a certain difference occurs:**"
]
},
{
"cell_type": "code",
"execution_count": 200,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 201,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:xlabel='STARS_DIFF', ylabel='count'>"
]
},
"execution_count": 201,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABeMAAAIiCAYAAABL8tM2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAABcSAAAXEgFnn9JSAAA1c0lEQVR4nO3deZh1V1kn7N9DYhIyQBIJg0CCRAgSDMiMtIQpoiCCDA6ozaA2DmCQwZZuUGxpW9MY4RNpEIHQDnRDZIrQASNGItLSEBLshDGYkBiGhBDIHIbn++Pswuqi6h3PqlPDfV/XuVadvdde6znw7lTV713v2tXdAQAAAAAAxrnJogsAAAAAAICtThgPAAAAAACDCeMBAAAAAGAwYTwAAAAAAAwmjAcAAAAAgMGE8QAAAAAAMJgwHgAAAAAABhPGAwAAAADAYMJ4AAAAAAAYTBgPAAAAAACDCeMBAAAAAGAwYTwAAAAAAAy276ILIKmqzyU5MMnFi64FAAAAAIA13T7Jtd196929sLp7QD3sjqr6yv7773/I0UcfvehSAAAAAABYwwUXXJAbbrjhqu6+2e5ea2X8xnDx0Ucffdfzzjtv0XUAAAAAALCGY489Nueff/4e7XBiz3gAAAAAABhMGA8AAAAAAIMJ4wEAAAAAYDBhPAAAAAAADCaMBwAAAACAwYTxAAAAAAAwmDAeAAAAAAAGE8YDAAAAAMBgwngAAAAAABhMGA8AAAAAAIMJ4wEAAAAAYDBhPAAAAAAADCaMBwAAAACAwYTxAAAAAAAwmDAeAAAAAAAGE8YDAAAAAMBgwngAAAAAABhMGA8AAAAAAIMJ4wEAAAAAYDBhPAAAAAAADLbvogtgjDve+iGLLoFt6tOf+9tFlwAAAAAAG46V8QAAAAAAMJgwHgAAAAAABhPGAwAAAADAYMJ4AAAAAAAYTBgPAAAAAACDCeMBAAAAAGAwYTwAAAAAAAwmjAcAAAAAgMGE8QAAAAAAMJgwHgAAAAAABhPGAwAAAADAYMJ4AAAAAAAYTBgPAAAAAACDCeMBAAAAAGAwYTwAAAAAAAwmjAcAAAAAgMGE8QAAAAAAMJgwHgAAAAAABhPGAwAAAADAYMJ4AAAAAAAYbNOG8VV1r6r69ap6c1VdUlVdVb0L1z2lqj5QVVdX1RVV9c6q+r6dXPPAqd8V03UfqKp/O79PAwAAAADAVrbvogvYCy9M8pjduaCqXprkxCTXJXl3kgOSnJDkB6rqCd391lWueXyS/5nZX1y8N8nlSR6W5PVVdVx3P3cvPgMAAAAAANvAZg7j35/kI0n+z/S6MMn+a3WuqodnFsR/MckDuvuT0/EHJDkzyeuq6szuvnLZNYcneW2SfZI8vrvfPB2/VZK/T/Kcqvqr7j5zzp8NAAAAAIAtZNNuU9Pdv9fdv9Hdp3X353bhkmdP7YuXgvhpnPcneWWSQ5P87Iprfi7JzZK8bSmIn675fJJfm94+Zw8/AgAAAAAA28SmDeN3R1XdNMlDp7enrtJl6dijVxx/1A6ueUeS65M8vKoO2OsiAQAAAADYsrZFGJ/kmMy2sLmsuy9Z5fzZU3vciuN3X3H+m7r7xiT/N7N95+88pzoBAAAAANiCNvOe8bvjyKldLYhPd19TVVcmOayqDunuq6rqZkluvqPrpuP3TnJUZvvX71BVnbfGqaN3di0AAAAAAJvXdlkZf/DUXruDPtdM7SErrtnRdSuvAQAAAACAb7FdVsZvCN197GrHpxXzd13ncgAAAAAAWCfbZWX81VN74A76HDS1V624ZkfXrbwGAAAAAAC+xXYJ4z8ztbdb7WRVHZTk0CRf6u6rkqS7v5Lkyzu6btnxi+ZTJgAAAAAAW9F2CeM/nuSGJEdU1W1XOX/PqV35ENZzV5z/pqr6tiR3S3J9kk/MqU4AAAAAALagbRHGd/d1Sd4zvX3iKl2eMLWnrTj+jhXnl/vhJAckOaO7r9/rIgEAAAAA2LK2RRg/OXlqX1BVd1o6WFUPSPL0JFcmec2Ka/4kyVeSPKaqHrfsmlsmOWl6+/ujCgYAAAAAYGvYd9EF7KmqelSSFy47tN90/H8vO/bb3f2OJOnuM6rqZUlOTHJOVf31dM0JSSrJU7v7yuVzdPcVVfW0JG9McmpVnZnki0kentke8yd395lz/3AAAAAAAGwpmzaMT3JEkvutcvx+K/p8U3c/q6rOSfKMzEL4G5OckVlo/w+rTdLdf1lVD0rygiT3zyzAPz/Jy7v79Xv7IQAAAAAA2Po2bRjf3ackOWU9ruvu9yX5od2dCwAAAAAAku21ZzwAAAAAACyEMB4AAAAAAAYTxgMAAAAAwGDCeAAAAAAAGEwYDwAAAAAAgwnjAQAAAABgMGE8AAAAAAAMJowHAAAAAIDBhPEAAAAAADCYMB4AAAAAAAYTxgMAAAAAwGDCeAAAAAAAGEwYDwAAAAAAgwnjAQAAAABgMGE8AAAAAAAMJowHAAAAAIDBhPEAAAAAADCYMB4AAAAAAAYTxgMAAAAAwGDCeAAAAAAAGEwYDwAAAAAAgwnjAQAAAABgMGE8AAAAAAAMJowHAAAAAIDBhPEAAAAAADCYMB4AAAAAAAYTxgMAAAAAwGDCeAAAAAAAGEwYDwAAAAAAgwnjAQAAAABgMGE8AAAAAAAMJowHAAAAAIDBhPEAAAAAADCYMB4AAAAAAAYTxgMAAAAAwGDCeAAAAAAAGEwYDwAAAAAAgwnjAQAAAABgMGE8AAAAAAAMJowHAAAAAIDBhPEAAAAAADCYMB4AAAAAAAYTxgMAAAAAwGDCeAAAAAAAGEwYDwAAAAAAgwnjAQAAAABgMGE8AAAAAAAMJowHAAAAAIDBhPEAAAAAADCYMB4AAAAAAAYTxgMAAAAAwGDCeAAAAAAAGEwYDwAAAAAAgwnjAQAAAABgMGE8AAAAAAAMJowHAAAAAIDBhPEAAAAAADCYMB4AAAAAAAYTxgMAAAAAwGDCeAAAAAAAGEwYDwAAAAAAgwnjAQAAAABgsH0XXQAAsHi/fs9/v+gS2MZ+9+zfW3QJAAAAw227lfFVdZ+qemNVXVpVX62qK6vqrKp6alXVKv33qapfrap/qqrrquqy6frvXkT9AAAAAABsPttqZXxVPT7J/0yyT5Kzk5yV5Igk35/k3yR5eJKfWtb/JknelORHk1yZ5B1JbpHkCUkeVVUP6e4PrONHAAAAAABgE9o2K+Orat8kr8gsiP+p7r5Xd/94dz80yXFJrkjypKp6yLLLnpZZEP/JJHfp7id094OTPDHJgUn+fBoXAAAAAADWtG3C+CR3SXLLJB/v7r9YfqK7P5rkz6a391l26tlT+2vd/fll/f8yyduTfFeSxwyrGAAAAACALWE7hfE37GK/LyZJVX1nku9Ocl1m29OsdOrUPnrvSwMAAAAAYCvbTmH8p5NckOSYqnrS8hPTw1h/OsmXkrxlOnz3qf2/3f3VVcY7e2qPG1ArAAAAAABbyLYJ47v760menNmDWP+8qj5UVf+jqt6T5CNJLknysO6+YrrkyKm9ZI0hl44fNahkAAAAAAC2iG318NHufl9VHZ/Z6vd7Tq8kuTHJX2e2en7JwVN77RrDXTO1h+zq/FV13hqnjt7VMQAAAAAA2Hy2zcr4JKmqn0zygSQXJ7lfZoH7nZOckuQ5Sd5TVfsvrEAAAAAAALakbbMyvqrulOT1Sb6Q5Ie7++rp1CeTPL2qviPJDyd5WpL/lmTp/IFrDHnQ1F61qzV097Fr1HZekrvu6jgAAAAAAGwu22ll/E8k+bYkpy8L4pd749Q+aGo/M7W3W2O8peMXzac8AAAAAAC2qu0Uxi+F519e4/zS8cOm9typvVtVfdsq/Zf2m//IHGoDAAAAAGAL205h/Oem9t5rnL/P1F6YJN39z0k+muSmSR61Sv8nTO1pc6oPAAAAAIAtajuF8W+b2gdV1S8uP1FV90/yq9PbU5edOnlqT6qqWy7r/7gkP5LkU8vGBQAAAACAVW2bML67z07ykuntK6rq/1bVG6vq75O8L7MHsv5xd5+x7LLXJnlLkjsl+VhVvamq/jazwP66JD/
"text/plain": [
"<Figure size 1800x600 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(12,4),dpi=150)\n",
"sns.countplot(data=fan_reviewed,x='STARS_DIFF',palette='magma')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: We can see from the plot that one movie was displaying over a 1 star difference than its true rating! What movie had this close to 1 star differential?**"
]
},
{
"cell_type": "code",
"execution_count": 202,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 203,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>STARS</th>\n",
" <th>RATING</th>\n",
" <th>VOTES</th>\n",
" <th>YEAR</th>\n",
" <th>STARS_DIFF</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>381</th>\n",
" <td>Turbo Kid (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.0</td>\n",
" <td>2</td>\n",
" <td>2015</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FILM STARS RATING VOTES YEAR STARS_DIFF\n",
"381 Turbo Kid (2015) 5.0 4.0 2 2015 1.0"
]
},
"execution_count": 203,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fan_reviewed[fan_reviewed['STARS_DIFF'] == 1]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part Three: Comparison of Fandango Ratings to Other Sites\n",
"\n",
"Let's now compare the scores from Fandango to other movies sites and see how they compare.\n",
"\n",
"**TASK: Read in the \"all_sites_scores.csv\" file by running the cell below**"
]
},
{
"cell_type": "code",
"execution_count": 204,
"metadata": {},
"outputs": [],
"source": [
"all_sites = pd.read_csv(\"all_sites_scores.csv\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Explore the DataFrame columns, info, description.**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 205,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>RottenTomatoes</th>\n",
" <th>RottenTomatoes_User</th>\n",
" <th>Metacritic</th>\n",
" <th>Metacritic_User</th>\n",
" <th>IMDB</th>\n",
" <th>Metacritic_user_vote_count</th>\n",
" <th>IMDB_user_vote_count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Avengers: Age of Ultron (2015)</td>\n",
" <td>74</td>\n",
" <td>86</td>\n",
" <td>66</td>\n",
" <td>7.1</td>\n",
" <td>7.8</td>\n",
" <td>1330</td>\n",
" <td>271107</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Cinderella (2015)</td>\n",
" <td>85</td>\n",
" <td>80</td>\n",
" <td>67</td>\n",
" <td>7.5</td>\n",
" <td>7.1</td>\n",
" <td>249</td>\n",
" <td>65709</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Ant-Man (2015)</td>\n",
" <td>80</td>\n",
" <td>90</td>\n",
" <td>64</td>\n",
" <td>8.1</td>\n",
" <td>7.8</td>\n",
" <td>627</td>\n",
" <td>103660</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Do You Believe? (2015)</td>\n",
" <td>18</td>\n",
" <td>84</td>\n",
" <td>22</td>\n",
" <td>4.7</td>\n",
" <td>5.4</td>\n",
" <td>31</td>\n",
" <td>3136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Hot Tub Time Machine 2 (2015)</td>\n",
" <td>14</td>\n",
" <td>28</td>\n",
" <td>29</td>\n",
" <td>3.4</td>\n",
" <td>5.1</td>\n",
" <td>88</td>\n",
" <td>19560</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FILM RottenTomatoes RottenTomatoes_User \\\n",
"0 Avengers: Age of Ultron (2015) 74 86 \n",
"1 Cinderella (2015) 85 80 \n",
"2 Ant-Man (2015) 80 90 \n",
"3 Do You Believe? (2015) 18 84 \n",
"4 Hot Tub Time Machine 2 (2015) 14 28 \n",
"\n",
" Metacritic Metacritic_User IMDB Metacritic_user_vote_count \\\n",
"0 66 7.1 7.8 1330 \n",
"1 67 7.5 7.1 249 \n",
"2 64 8.1 7.8 627 \n",
"3 22 4.7 5.4 31 \n",
"4 29 3.4 5.1 88 \n",
"\n",
" IMDB_user_vote_count \n",
"0 271107 \n",
"1 65709 \n",
"2 103660 \n",
"3 3136 \n",
"4 19560 "
]
},
"execution_count": 205,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_sites.head()"
]
},
{
"cell_type": "code",
"execution_count": 206,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 146 entries, 0 to 145\n",
"Data columns (total 8 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 FILM 146 non-null object \n",
" 1 RottenTomatoes 146 non-null int64 \n",
" 2 RottenTomatoes_User 146 non-null int64 \n",
" 3 Metacritic 146 non-null int64 \n",
" 4 Metacritic_User 146 non-null float64\n",
" 5 IMDB 146 non-null float64\n",
" 6 Metacritic_user_vote_count 146 non-null int64 \n",
" 7 IMDB_user_vote_count 146 non-null int64 \n",
"dtypes: float64(2), int64(5), object(1)\n",
"memory usage: 9.2+ KB\n"
]
}
],
"source": [
"all_sites.info()"
]
},
{
"cell_type": "code",
"execution_count": 207,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>RottenTomatoes</th>\n",
" <th>RottenTomatoes_User</th>\n",
" <th>Metacritic</th>\n",
" <th>Metacritic_User</th>\n",
" <th>IMDB</th>\n",
" <th>Metacritic_user_vote_count</th>\n",
" <th>IMDB_user_vote_count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>146.000000</td>\n",
" <td>146.000000</td>\n",
" <td>146.000000</td>\n",
" <td>146.000000</td>\n",
" <td>146.000000</td>\n",
" <td>146.000000</td>\n",
" <td>146.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>60.849315</td>\n",
" <td>63.876712</td>\n",
" <td>58.808219</td>\n",
" <td>6.519178</td>\n",
" <td>6.736986</td>\n",
" <td>185.705479</td>\n",
" <td>42846.205479</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>30.168799</td>\n",
" <td>20.024430</td>\n",
" <td>19.517389</td>\n",
" <td>1.510712</td>\n",
" <td>0.958736</td>\n",
" <td>316.606515</td>\n",
" <td>67406.509171</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>5.000000</td>\n",
" <td>20.000000</td>\n",
" <td>13.000000</td>\n",
" <td>2.400000</td>\n",
" <td>4.000000</td>\n",
" <td>4.000000</td>\n",
" <td>243.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>31.250000</td>\n",
" <td>50.000000</td>\n",
" <td>43.500000</td>\n",
" <td>5.700000</td>\n",
" <td>6.300000</td>\n",
" <td>33.250000</td>\n",
" <td>5627.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>63.500000</td>\n",
" <td>66.500000</td>\n",
" <td>59.000000</td>\n",
" <td>6.850000</td>\n",
" <td>6.900000</td>\n",
" <td>72.500000</td>\n",
" <td>19103.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>89.000000</td>\n",
" <td>81.000000</td>\n",
" <td>75.000000</td>\n",
" <td>7.500000</td>\n",
" <td>7.400000</td>\n",
" <td>168.500000</td>\n",
" <td>45185.750000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>100.000000</td>\n",
" <td>94.000000</td>\n",
" <td>94.000000</td>\n",
" <td>9.600000</td>\n",
" <td>8.600000</td>\n",
" <td>2375.000000</td>\n",
" <td>334164.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" RottenTomatoes RottenTomatoes_User Metacritic Metacritic_User \\\n",
"count 146.000000 146.000000 146.000000 146.000000 \n",
"mean 60.849315 63.876712 58.808219 6.519178 \n",
"std 30.168799 20.024430 19.517389 1.510712 \n",
"min 5.000000 20.000000 13.000000 2.400000 \n",
"25% 31.250000 50.000000 43.500000 5.700000 \n",
"50% 63.500000 66.500000 59.000000 6.850000 \n",
"75% 89.000000 81.000000 75.000000 7.500000 \n",
"max 100.000000 94.000000 94.000000 9.600000 \n",
"\n",
" IMDB Metacritic_user_vote_count IMDB_user_vote_count \n",
"count 146.000000 146.000000 146.000000 \n",
"mean 6.736986 185.705479 42846.205479 \n",
"std 0.958736 316.606515 67406.509171 \n",
"min 4.000000 4.000000 243.000000 \n",
"25% 6.300000 33.250000 5627.000000 \n",
"50% 6.900000 72.500000 19103.000000 \n",
"75% 7.400000 168.500000 45185.750000 \n",
"max 8.600000 2375.000000 334164.000000 "
]
},
"execution_count": 207,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_sites.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Rotten Tomatoes\n",
"\n",
"Let's first take a look at Rotten Tomatoes. RT has two sets of reviews, their critics reviews (ratings published by official critics) and user reviews. \n",
"\n",
"**TASK: Create a scatterplot exploring the relationship between RT Critic reviews and RT User reviews.**"
]
},
{
"cell_type": "code",
"execution_count": 208,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 209,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 100.0)"
]
},
"execution_count": 209,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1500x600 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,4),dpi=150)\n",
"sns.scatterplot(data=all_sites,x='RottenTomatoes',y='RottenTomatoes_User')\n",
"plt.xlim(0,100)\n",
"plt.ylim(0,100)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's quantify this difference by comparing the critics ratings and the RT User ratings. We will calculate this with RottenTomatoes-RottenTomatoes_User. Note: Rotten_Diff here is Critics - User Score. So values closer to 0 means aggrement between Critics and Users. Larger positive values means critics rated much higher than users. Larger negative values means users rated much higher than critics.\n",
"\n",
"**TASK: Create a new column based off the difference between critics ratings and users ratings for Rotten Tomatoes. Calculate this with RottenTomatoes-RottenTomatoes_User**"
]
},
{
"cell_type": "code",
"execution_count": 210,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 211,
"metadata": {},
"outputs": [],
"source": [
"all_sites['Rotten_Diff'] = all_sites['RottenTomatoes'] - all_sites['RottenTomatoes_User']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's now compare the overall mean difference. Since we're dealing with differences that could be negative or positive, first take the absolute value of all the differences, then take the mean. This would report back on average to absolute difference between the critics rating versus the user rating."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Calculate the Mean Absolute Difference between RT scores and RT User scores as described above.**"
]
},
{
"cell_type": "code",
"execution_count": 212,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 213,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"15.095890410958905"
]
},
"execution_count": 213,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_sites['Rotten_Diff'].apply(abs).mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Plot the distribution of the differences between RT Critics Score and RT User Score. There should be negative values in this distribution plot. Feel free to use KDE or Histograms to display this distribution.**"
]
},
{
"cell_type": "code",
"execution_count": 214,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 215,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 2000x800 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,4),dpi=200)\n",
"sns.histplot(data=all_sites,x='Rotten_Diff',kde=True,bins=25)\n",
"plt.title(\"RT Critics Score minus RT User Score\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Now create a distribution showing the *absolute value* difference between Critics and Users on Rotten Tomatoes.**"
]
},
{
"cell_type": "code",
"execution_count": 216,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 217,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 2000x800 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,4),dpi=200)\n",
"sns.histplot(x=all_sites['Rotten_Diff'].apply(abs),bins=25,kde=True)\n",
"plt.title(\"Abs Difference between RT Critics Score and RT User Score\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Let's find out which movies are causing the largest differences. First, show the top 5 movies with the largest *negative* difference between Users and RT critics. Since we calculated the difference as Critics Rating - Users Rating, then large negative values imply the users rated the movie much higher on average than the critics did.**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: What are the top 5 movies users rated higher than critics on average:**"
]
},
{
"cell_type": "code",
"execution_count": 218,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 219,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Users Love but Critics Hate\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>Rotten_Diff</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Do You Believe? (2015)</td>\n",
" <td>-66</td>\n",
" </tr>\n",
" <tr>\n",
" <th>85</th>\n",
" <td>Little Boy (2015)</td>\n",
" <td>-61</td>\n",
" </tr>\n",
" <tr>\n",
" <th>105</th>\n",
" <td>Hitman: Agent 47 (2015)</td>\n",
" <td>-42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>134</th>\n",
" <td>The Longest Ride (2015)</td>\n",
" <td>-42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>125</th>\n",
" <td>The Wedding Ringer (2015)</td>\n",
" <td>-39</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FILM Rotten_Diff\n",
"3 Do You Believe? (2015) -66\n",
"85 Little Boy (2015) -61\n",
"105 Hitman: Agent 47 (2015) -42\n",
"134 The Longest Ride (2015) -42\n",
"125 The Wedding Ringer (2015) -39"
]
},
"execution_count": 219,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(\"Users Love but Critics Hate\")\n",
"all_sites.nsmallest(5,'Rotten_Diff')[['FILM','Rotten_Diff']]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Now show the top 5 movies critics scores higher than users on average.**"
]
},
{
"cell_type": "code",
"execution_count": 220,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 221,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Critics love, but Users Hate\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>Rotten_Diff</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>69</th>\n",
" <td>Mr. Turner (2014)</td>\n",
" <td>42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>112</th>\n",
" <td>It Follows (2015)</td>\n",
" <td>31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>115</th>\n",
" <td>While We're Young (2015)</td>\n",
" <td>31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>Welcome to Me (2015)</td>\n",
" <td>24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>I'll See You In My Dreams (2015)</td>\n",
" <td>24</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FILM Rotten_Diff\n",
"69 Mr. Turner (2014) 42\n",
"112 It Follows (2015) 31\n",
"115 While We're Young (2015) 31\n",
"37 Welcome to Me (2015) 24\n",
"40 I'll See You In My Dreams (2015) 24"
]
},
"execution_count": 221,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(\"Critics love, but Users Hate\")\n",
"all_sites.nlargest(5,'Rotten_Diff')[['FILM','Rotten_Diff']]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## MetaCritic\n",
"\n",
"Now let's take a quick look at the ratings from MetaCritic. Metacritic also shows an average user rating versus their official displayed rating."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Display a scatterplot of the Metacritic Rating versus the Metacritic User rating.**"
]
},
{
"cell_type": "code",
"execution_count": 222,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 223,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 10.0)"
]
},
"execution_count": 223,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1500x600 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,4),dpi=150)\n",
"sns.scatterplot(data=all_sites,x='Metacritic',y='Metacritic_User')\n",
"plt.xlim(0,100)\n",
"plt.ylim(0,10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## IMBD\n",
"\n",
"Finally let's explore IMDB. Notice that both Metacritic and IMDB report back vote counts. Let's analyze the most popular movies.\n",
"\n",
"**TASK: Create a scatterplot for the relationship between vote counts on MetaCritic versus vote counts on IMDB.**"
]
},
{
"cell_type": "code",
"execution_count": 224,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 225,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:xlabel='Metacritic_user_vote_count', ylabel='IMDB_user_vote_count'>"
]
},
"execution_count": 225,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1500x600 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,4),dpi=150)\n",
"sns.scatterplot(data=all_sites,x='Metacritic_user_vote_count',y='IMDB_user_vote_count')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Notice there are two outliers here. The movie with the highest vote count on IMDB only has about 500 Metacritic ratings. What is this movie?**\n",
"\n",
"**TASK: What movie has the highest IMDB user vote count?**"
]
},
{
"cell_type": "code",
"execution_count": 226,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 227,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>RottenTomatoes</th>\n",
" <th>RottenTomatoes_User</th>\n",
" <th>Metacritic</th>\n",
" <th>Metacritic_User</th>\n",
" <th>IMDB</th>\n",
" <th>Metacritic_user_vote_count</th>\n",
" <th>IMDB_user_vote_count</th>\n",
" <th>Rotten_Diff</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>The Imitation Game (2014)</td>\n",
" <td>90</td>\n",
" <td>92</td>\n",
" <td>73</td>\n",
" <td>8.2</td>\n",
" <td>8.1</td>\n",
" <td>566</td>\n",
" <td>334164</td>\n",
" <td>-2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FILM RottenTomatoes RottenTomatoes_User \\\n",
"14 The Imitation Game (2014) 90 92 \n",
"\n",
" Metacritic Metacritic_User IMDB Metacritic_user_vote_count \\\n",
"14 73 8.2 8.1 566 \n",
"\n",
" IMDB_user_vote_count Rotten_Diff \n",
"14 334164 -2 "
]
},
"execution_count": 227,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_sites.nlargest(1,'IMDB_user_vote_count')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: What movie has the highest Metacritic User Vote count?**"
]
},
{
"cell_type": "code",
"execution_count": 228,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 229,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>RottenTomatoes</th>\n",
" <th>RottenTomatoes_User</th>\n",
" <th>Metacritic</th>\n",
" <th>Metacritic_User</th>\n",
" <th>IMDB</th>\n",
" <th>Metacritic_user_vote_count</th>\n",
" <th>IMDB_user_vote_count</th>\n",
" <th>Rotten_Diff</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>88</th>\n",
" <td>Mad Max: Fury Road (2015)</td>\n",
" <td>97</td>\n",
" <td>88</td>\n",
" <td>89</td>\n",
" <td>8.7</td>\n",
" <td>8.3</td>\n",
" <td>2375</td>\n",
" <td>292023</td>\n",
" <td>9</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FILM RottenTomatoes RottenTomatoes_User \\\n",
"88 Mad Max: Fury Road (2015) 97 88 \n",
"\n",
" Metacritic Metacritic_User IMDB Metacritic_user_vote_count \\\n",
"88 89 8.7 8.3 2375 \n",
"\n",
" IMDB_user_vote_count Rotten_Diff \n",
"88 292023 9 "
]
},
"execution_count": 229,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_sites.nlargest(1,'Metacritic_user_vote_count')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fandago Scores vs. All Sites\n",
"\n",
"Finally let's begin to explore whether or not Fandango artificially displays higher ratings than warranted to boost ticket sales."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Combine the Fandango Table with the All Sites table. Not every movie in the Fandango table is in the All Sites table, since some Fandango movies have very little or no reviews. We only want to compare movies that are in both DataFrames, so do an *inner* merge to merge together both DataFrames based on the FILM columns.**"
]
},
{
"cell_type": "code",
"execution_count": 230,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 231,
"metadata": {},
"outputs": [],
"source": [
"df = pd.merge(fandango,all_sites,on='FILM',how='inner')"
]
},
{
"cell_type": "code",
"execution_count": 232,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Int64Index: 145 entries, 0 to 144\n",
"Data columns (total 13 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 FILM 145 non-null object \n",
" 1 STARS 145 non-null float64\n",
" 2 RATING 145 non-null float64\n",
" 3 VOTES 145 non-null int64 \n",
" 4 YEAR 145 non-null object \n",
" 5 RottenTomatoes 145 non-null int64 \n",
" 6 RottenTomatoes_User 145 non-null int64 \n",
" 7 Metacritic 145 non-null int64 \n",
" 8 Metacritic_User 145 non-null float64\n",
" 9 IMDB 145 non-null float64\n",
" 10 Metacritic_user_vote_count 145 non-null int64 \n",
" 11 IMDB_user_vote_count 145 non-null int64 \n",
" 12 Rotten_Diff 145 non-null int64 \n",
"dtypes: float64(4), int64(7), object(2)\n",
"memory usage: 15.9+ KB\n"
]
}
],
"source": [
"df.info()"
]
},
{
"cell_type": "code",
"execution_count": 233,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>STARS</th>\n",
" <th>RATING</th>\n",
" <th>VOTES</th>\n",
" <th>YEAR</th>\n",
" <th>RottenTomatoes</th>\n",
" <th>RottenTomatoes_User</th>\n",
" <th>Metacritic</th>\n",
" <th>Metacritic_User</th>\n",
" <th>IMDB</th>\n",
" <th>Metacritic_user_vote_count</th>\n",
" <th>IMDB_user_vote_count</th>\n",
" <th>Rotten_Diff</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Fifty Shades of Grey (2015)</td>\n",
" <td>4.0</td>\n",
" <td>3.9</td>\n",
" <td>34846</td>\n",
" <td>2015</td>\n",
" <td>25</td>\n",
" <td>42</td>\n",
" <td>46</td>\n",
" <td>3.2</td>\n",
" <td>4.2</td>\n",
" <td>778</td>\n",
" <td>179506</td>\n",
" <td>-17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Jurassic World (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>34390</td>\n",
" <td>2015</td>\n",
" <td>71</td>\n",
" <td>81</td>\n",
" <td>59</td>\n",
" <td>7.0</td>\n",
" <td>7.3</td>\n",
" <td>1281</td>\n",
" <td>241807</td>\n",
" <td>-10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>American Sniper (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>34085</td>\n",
" <td>2015</td>\n",
" <td>72</td>\n",
" <td>85</td>\n",
" <td>72</td>\n",
" <td>6.6</td>\n",
" <td>7.4</td>\n",
" <td>850</td>\n",
" <td>251856</td>\n",
" <td>-13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Furious 7 (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>33538</td>\n",
" <td>2015</td>\n",
" <td>81</td>\n",
" <td>84</td>\n",
" <td>67</td>\n",
" <td>6.8</td>\n",
" <td>7.4</td>\n",
" <td>764</td>\n",
" <td>207211</td>\n",
" <td>-3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Inside Out (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>15749</td>\n",
" <td>2015</td>\n",
" <td>98</td>\n",
" <td>90</td>\n",
" <td>94</td>\n",
" <td>8.9</td>\n",
" <td>8.6</td>\n",
" <td>807</td>\n",
" <td>96252</td>\n",
" <td>8</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FILM STARS RATING VOTES YEAR RottenTomatoes \\\n",
"0 Fifty Shades of Grey (2015) 4.0 3.9 34846 2015 25 \n",
"1 Jurassic World (2015) 4.5 4.5 34390 2015 71 \n",
"2 American Sniper (2015) 5.0 4.8 34085 2015 72 \n",
"3 Furious 7 (2015) 5.0 4.8 33538 2015 81 \n",
"4 Inside Out (2015) 4.5 4.5 15749 2015 98 \n",
"\n",
" RottenTomatoes_User Metacritic Metacritic_User IMDB \\\n",
"0 42 46 3.2 4.2 \n",
"1 81 59 7.0 7.3 \n",
"2 85 72 6.6 7.4 \n",
"3 84 67 6.8 7.4 \n",
"4 90 94 8.9 8.6 \n",
"\n",
" Metacritic_user_vote_count IMDB_user_vote_count Rotten_Diff \n",
"0 778 179506 -17 \n",
"1 1281 241807 -10 \n",
"2 850 251856 -13 \n",
"3 764 207211 -3 \n",
"4 807 96252 8 "
]
},
"execution_count": 233,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Normalize columns to Fandango STARS and RATINGS 0-5 \n",
"\n",
"Notice that RT,Metacritic, and IMDB don't use a score between 0-5 stars like Fandango does. In order to do a fair comparison, we need to *normalize* these values so they all fall between 0-5 stars and the relationship between reviews stays the same.\n",
"\n",
"**TASK: Create new normalized columns for all ratings so they match up within the 0-5 star range shown on Fandango. There are many ways to do this.**\n",
"\n",
"Hint link: https://stackoverflow.com/questions/26414913/normalize-columns-of-pandas-data-frame\n",
"\n",
"\n",
"Easier Hint:\n",
"\n",
"Keep in mind, a simple way to convert ratings:\n",
"* 100/20 = 5 \n",
"* 10/2 = 5"
]
},
{
"cell_type": "code",
"execution_count": 234,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 235,
"metadata": {},
"outputs": [],
"source": [
"# Dont run this cell multiple times, otherwise you keep dividing!\n",
"df['RT_Norm'] = np.round(df['RottenTomatoes']/20,1)\n",
"df['RTU_Norm'] = np.round(df['RottenTomatoes_User']/20,1)"
]
},
{
"cell_type": "code",
"execution_count": 236,
"metadata": {},
"outputs": [],
"source": [
"# Dont run this cell multiple times, otherwise you keep dividing!\n",
"df['Meta_Norm'] = np.round(df['Metacritic']/20,1)\n",
"df['Meta_U_Norm'] = np.round(df['Metacritic_User']/2,1)"
]
},
{
"cell_type": "code",
"execution_count": 237,
"metadata": {},
"outputs": [],
"source": [
"# Dont run this cell multiple times, otherwise you keep dividing!\n",
"df['IMDB_Norm'] = np.round(df['IMDB']/2,1)"
]
},
{
"cell_type": "code",
"execution_count": 238,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>FILM</th>\n",
" <th>STARS</th>\n",
" <th>RATING</th>\n",
" <th>VOTES</th>\n",
" <th>YEAR</th>\n",
" <th>RottenTomatoes</th>\n",
" <th>RottenTomatoes_User</th>\n",
" <th>Metacritic</th>\n",
" <th>Metacritic_User</th>\n",
" <th>IMDB</th>\n",
" <th>Metacritic_user_vote_count</th>\n",
" <th>IMDB_user_vote_count</th>\n",
" <th>Rotten_Diff</th>\n",
" <th>RT_Norm</th>\n",
" <th>RTU_Norm</th>\n",
" <th>Meta_Norm</th>\n",
" <th>Meta_U_Norm</th>\n",
" <th>IMDB_Norm</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Fifty Shades of Grey (2015)</td>\n",
" <td>4.0</td>\n",
" <td>3.9</td>\n",
" <td>34846</td>\n",
" <td>2015</td>\n",
" <td>25</td>\n",
" <td>42</td>\n",
" <td>46</td>\n",
" <td>3.2</td>\n",
" <td>4.2</td>\n",
" <td>778</td>\n",
" <td>179506</td>\n",
" <td>-17</td>\n",
" <td>1.2</td>\n",
" <td>2.1</td>\n",
" <td>2.3</td>\n",
" <td>1.6</td>\n",
" <td>2.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Jurassic World (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>34390</td>\n",
" <td>2015</td>\n",
" <td>71</td>\n",
" <td>81</td>\n",
" <td>59</td>\n",
" <td>7.0</td>\n",
" <td>7.3</td>\n",
" <td>1281</td>\n",
" <td>241807</td>\n",
" <td>-10</td>\n",
" <td>3.6</td>\n",
" <td>4.0</td>\n",
" <td>3.0</td>\n",
" <td>3.5</td>\n",
" <td>3.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>American Sniper (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>34085</td>\n",
" <td>2015</td>\n",
" <td>72</td>\n",
" <td>85</td>\n",
" <td>72</td>\n",
" <td>6.6</td>\n",
" <td>7.4</td>\n",
" <td>850</td>\n",
" <td>251856</td>\n",
" <td>-13</td>\n",
" <td>3.6</td>\n",
" <td>4.2</td>\n",
" <td>3.6</td>\n",
" <td>3.3</td>\n",
" <td>3.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Furious 7 (2015)</td>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>33538</td>\n",
" <td>2015</td>\n",
" <td>81</td>\n",
" <td>84</td>\n",
" <td>67</td>\n",
" <td>6.8</td>\n",
" <td>7.4</td>\n",
" <td>764</td>\n",
" <td>207211</td>\n",
" <td>-3</td>\n",
" <td>4.0</td>\n",
" <td>4.2</td>\n",
" <td>3.4</td>\n",
" <td>3.4</td>\n",
" <td>3.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Inside Out (2015)</td>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>15749</td>\n",
" <td>2015</td>\n",
" <td>98</td>\n",
" <td>90</td>\n",
" <td>94</td>\n",
" <td>8.9</td>\n",
" <td>8.6</td>\n",
" <td>807</td>\n",
" <td>96252</td>\n",
" <td>8</td>\n",
" <td>4.9</td>\n",
" <td>4.5</td>\n",
" <td>4.7</td>\n",
" <td>4.4</td>\n",
" <td>4.3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FILM STARS RATING VOTES YEAR RottenTomatoes \\\n",
"0 Fifty Shades of Grey (2015) 4.0 3.9 34846 2015 25 \n",
"1 Jurassic World (2015) 4.5 4.5 34390 2015 71 \n",
"2 American Sniper (2015) 5.0 4.8 34085 2015 72 \n",
"3 Furious 7 (2015) 5.0 4.8 33538 2015 81 \n",
"4 Inside Out (2015) 4.5 4.5 15749 2015 98 \n",
"\n",
" RottenTomatoes_User Metacritic Metacritic_User IMDB \\\n",
"0 42 46 3.2 4.2 \n",
"1 81 59 7.0 7.3 \n",
"2 85 72 6.6 7.4 \n",
"3 84 67 6.8 7.4 \n",
"4 90 94 8.9 8.6 \n",
"\n",
" Metacritic_user_vote_count IMDB_user_vote_count Rotten_Diff RT_Norm \\\n",
"0 778 179506 -17 1.2 \n",
"1 1281 241807 -10 3.6 \n",
"2 850 251856 -13 3.6 \n",
"3 764 207211 -3 4.0 \n",
"4 807 96252 8 4.9 \n",
"\n",
" RTU_Norm Meta_Norm Meta_U_Norm IMDB_Norm \n",
"0 2.1 2.3 1.6 2.1 \n",
"1 4.0 3.0 3.5 3.6 \n",
"2 4.2 3.6 3.3 3.7 \n",
"3 4.2 3.4 3.4 3.7 \n",
"4 4.5 4.7 4.4 4.3 "
]
},
"execution_count": 238,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Now create a norm_scores DataFrame that only contains the normalizes ratings. Include both STARS and RATING from the original Fandango table.**"
]
},
{
"cell_type": "code",
"execution_count": 239,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 240,
"metadata": {},
"outputs": [],
"source": [
"norm_scores = df[['STARS','RATING','RT_Norm','RTU_Norm','Meta_Norm','Meta_U_Norm','IMDB_Norm']]"
]
},
{
"cell_type": "code",
"execution_count": 241,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>STARS</th>\n",
" <th>RATING</th>\n",
" <th>RT_Norm</th>\n",
" <th>RTU_Norm</th>\n",
" <th>Meta_Norm</th>\n",
" <th>Meta_U_Norm</th>\n",
" <th>IMDB_Norm</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>4.0</td>\n",
" <td>3.9</td>\n",
" <td>1.2</td>\n",
" <td>2.1</td>\n",
" <td>2.3</td>\n",
" <td>1.6</td>\n",
" <td>2.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>3.6</td>\n",
" <td>4.0</td>\n",
" <td>3.0</td>\n",
" <td>3.5</td>\n",
" <td>3.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>3.6</td>\n",
" <td>4.2</td>\n",
" <td>3.6</td>\n",
" <td>3.3</td>\n",
" <td>3.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>5.0</td>\n",
" <td>4.8</td>\n",
" <td>4.0</td>\n",
" <td>4.2</td>\n",
" <td>3.4</td>\n",
" <td>3.4</td>\n",
" <td>3.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4.5</td>\n",
" <td>4.5</td>\n",
" <td>4.9</td>\n",
" <td>4.5</td>\n",
" <td>4.7</td>\n",
" <td>4.4</td>\n",
" <td>4.3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" STARS RATING RT_Norm RTU_Norm Meta_Norm Meta_U_Norm IMDB_Norm\n",
"0 4.0 3.9 1.2 2.1 2.3 1.6 2.1\n",
"1 4.5 4.5 3.6 4.0 3.0 3.5 3.6\n",
"2 5.0 4.8 3.6 4.2 3.6 3.3 3.7\n",
"3 5.0 4.8 4.0 4.2 3.4 3.4 3.7\n",
"4 4.5 4.5 4.9 4.5 4.7 4.4 4.3"
]
},
"execution_count": 241,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"norm_scores.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Comparing Distribution of Scores Across Sites\n",
"\n",
"\n",
"Now the moment of truth! Does Fandango display abnormally high ratings? We already know it pushs displayed RATING higher than STARS, but are the ratings themselves higher than average?\n",
"\n",
"\n",
"**TASK: Create a plot comparing the distributions of normalized ratings across all sites. There are many ways to do this, but explore the Seaborn KDEplot docs for some simple ways to quickly show this. Don't worry if your plot format does not look exactly the same as ours, as long as the differences in distribution are clear.**\n",
"\n",
"Quick Note if you have issues moving the legend for a seaborn kdeplot: https://github.com/mwaskom/seaborn/issues/2280"
]
},
{
"cell_type": "code",
"execution_count": 242,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 243,
"metadata": {},
"outputs": [],
"source": [
"def move_legend(ax, new_loc, **kws):\n",
" old_legend = ax.legend_\n",
" handles = old_legend.legendHandles\n",
" labels = [t.get_text() for t in old_legend.get_texts()]\n",
" title = old_legend.get_title().get_text()\n",
" ax.legend(handles, labels, loc=new_loc, title=title, **kws)"
]
},
{
"cell_type": "code",
"execution_count": 244,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB0cAAALoCAYAAAADXv2OAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAABcSAAAXEgFnn9JSAAEAAElEQVR4nOzdd3hUVf7H8fedyUx6SEiBhBY6JPSOdEEEC2CnKeBaUHRdV12x/FZ0i66rrG3VXRsISKTaQBCQLr1D6BBqAgk1vczc3x8BViQEAklukvm8nmeemHvOPeczERDne885hmmaiIiIiIiIiIiIiIiIiIhUdDarA4iIiIiIiIiIiIiIiIiIlAYVR0VERERERERERERERETEI6g4KiIiIiIiIiIiIiIiIiIeQcVREREREREREREREREREfEIKo6KiIiIiIiIiIiIiIiIiEdQcVREREREREREREREREREPIKKoyIiIiIiIiIiIiIiIiLiEVQcFRERERERERERERERERGPoOKoiIiIiIiIiIiIiIiIiHgEFUdFRERERERERERERERExCOoOCoiIiIiIiIiIiIiIiIiHkHFURERERERERERERERERHxCCqOioiIiIiIiIiIiIiIiIhH8LI6gFyeYRhJgB9wyOosIiIiIiIiIiIiIiIiImVADSDDNM2q13KzYZpmMeeR4mIYxllvb+/AunXrWh1FRERERERERERERERExHJ79+4lOzs71TTNoGu5XytHy7ZDdevWjdm2bZvVOUREREREREREREREREQsFxsbS3x8/DXvuqozR0VERERERERERERERETEI6g4KiIiIiIiIiIiIiIiIiIeQcVREREREREREREREREREfEIKo6KiIiIiIiIiIiIiIiIiEdQcVREREREREREREREREREPIKKoyIiIiIiIiIiIiIiIiLiEbysDiAlwzRNTNO0OoZIhWAYBoZhWB1DRERERERERERERESuk4qjFYjL5eLEiROkpqaSk5NjdRyRCsVut+Pn50dQUBCBgYEqloqIiIiIiIiIiIiIlEMqjlYQLpeLgwcPkpWVZXUUkQrJ5XKRmppKamoqwcHBVKlSBZtNO5OLiIiIiIiIiIiIiJQnKo5WECdOnCArKwu73U6VKlXw9/dX4UakmJimSXZ2NqmpqZw8eZLTp0/j4+NDSEiI1dFERERERERERERERKQIVBytIFJTUwGoUqUKlSpVsjiNSMXj5+eHn58fXl5eHD9+nFOnTqk4KiIiIiIiIiIiIiJSzmhpYQVgmuaFM0b9/f0tTiNSsQUFBQGQnZ2NaZoWpxERERERERERERERkaJQcbQC+HWBRlvpipQsu91+4Z9VHBURERERERERERERKV/KdSXNMAxfwzBeMwxjl2EYWYZhHDUM43PDMKoVcZxuhmG8YhjGLMMwkg3DMA3DSCikv8MwjN6GYXxgGMZWwzAyDMPINAxju2EYbxmGEX7db05EREREREREREREREREilW5PXPUMAwf4GegA5AIfAtEAyOA2wzD6GCa5r6rHO5doHkRpu8GzD33zwnAj4AD6Ag8AwwxDKO7aZo7izCmiIiIiIiIiIiIiIiIiJSg8rxy9GXyC6MrgAamad5nmmZ78ouT4cDnRRjrp3Pj3QzEXkV/NzAFaG+aZm3TNO8yTbMfUI/8omlV4IsizC8iIiIiIiIiIiIiIiIiJaxcrhw1DMMJPHHu21GmaaadbzNNc6xhGMOAboZhtDZNc92VxjNN80+/GrvqVfT/mfxVq7+9fsYwjAeBI0BHwzBqmaZ54MrvqGSZpomZmWl1jCIxfH0xDMPqGCIiIiIiIiIiIiIiIlKBlMviKNAJqATsNU1zQwHt04BmwO3AFYujxck0zaOGYSSTv3o1CrC+OJqZSWL9hlbHKJLI3Tsx/PyKZayFCxfywQcfsHLlSpKTk/H39yciIoJmzZrRrVs37r//fvr378/ixYuLNO7+/fuJjo6+8P0tt9zCjz/+SEBAAMeOHcPvMvkXLVpEjx49Lrpmt9upXLkyrVq14rHHHqN///6XnXf9+vX861//YsmSJSQlJeHt7U1ERASNGzemW7duDBkyhMjIyCK9FxEREREREREREREREU9QXouj588HXX+Z9vPXm5VClosYhhEMhJz7Nqm055eLvfbaa7zyyisANG7cmPbt2+NwONi5cyczZsxg2rRptGnThj59+lxU6ATYs2cPy5cvp0qVKvTp0+eSsQMCAi7887Fjx/jpp58ASEtL45tvvmHw4MGFZvv1uFlZWWzbto25c+cyd+5cXnnlFcaMGXPJPV988QUPP/wwLpeL6Ohobr75Zvz9/dm3bx9z587lhx9+oHr16gwcOLAoPyYRERERERERERERERGPUF6LozXPfT18mfbz12uVQpbfGkX+z3WLaZr7LZi/UJU//QTD29vqGAUys7M5+dDDxTbeunXrGDNmDA6HgylTpjBgwICL2pOSkpg4cSLBwcGMHj36kvvHjRvH8uXLadSoEePGjSt0rsmTJ+NyuYiMjCQxMZEJEyZcsTha0Ljvvvsuf/jDH/jrX//K8OHDLyrYHjlyhMcffxyXy8WHH37Io48+is32v2ODT506xZQpU6hWrVqh84qIiIiIiIiIiIiIiHiq8locPb9kL+My7ennvgaWQpYLDMNoCbx87tvni3Dftss01b3uUL+dy9sbw8enuIctk2bMmIFpmtx7772XFEYBqlatyrPPPlssc02YMAGAjz/+mCFDhjBv3jySkpKoWvWKR9he5KmnnuLjjz9mx44dLFiwgN/97ncX2mbPnk1WVhadOnXiscceu+TekJAQHn300et7IyIiIiIiIiIiIiIiIhWY7cpd5GoYhlEFmAH4AO+YpvmjxZE8XnJyMgDh4eElOs/27dtZv349UVFR3Hbbbdx55524XC4mT558TePFxsYCcPz48Yuul9b7ERERERERERERERERqajKa3E07dxXv8u0+5/7mloKWTAMIxCYDUQDU4FninK/aZqxBb2AvcWf1nPUqFEDgOnTp19SaCxO51eNDho0CJvNxtChQwGYOHHiNY2Xmpr/yzYiIuKi6+ffz4IFC9i5c+e1xhUREREREREREREREfFY5bU4evDc1+qXaT9//UBJBzEMwwf4DmgF/AQMNU3TXdLzypUNGTIEX19fDh06RL169Rg+fDiffvopGzZswOVyFcscpmkyadIkgAtF0Z49exIZGcn69euJj48v0ngnT55k9erV2O12evXqdVFbv379iIiIIDU1lebNm3Pvvffy4YcfsnLlSnJycorl/YiIiIiIiIiIiIiIiFRk5bU4uunc11aXaT9/fXNJhjAMwwv4GugO/ALcaZqmqlRlRJ06dfj++++pUaMGqampjB8/nocffphWrVoRFhbG448/TmJi4nXNsXjxYg4ePEhsbCwtWrQAwGazMWjQIOB/q0qvJCsri7Vr13LHHXdw+vRpXn/9dWrVqnVRn0qVKjF37lxiYmLIzs5m6tSpjBo1io4dOxISEsKQIUPYvXv3db0fERERERERERERERGRiqy8FkeXA2eAuoZhtCig/e5zX78vqQCGYRjAF0A/YCNwq2ma6SU1n1ybnj17smfPHmbMmMHIkSNp1aoVXl5enD59mo8++ogWLVpc1xa157fOvf/++y+6fv77SZMmYZpmgfcuXrwYwzAwDANfX1/atm3L0qVL+fLLL3nuuecKvKdFixZs2bKFuXPn8oc//IEOHTrg4+NDRkYGX331FS1btmTp0qXX/H5EREREREREREREREQqsnJZHD23OvODc9/+2zCM82eMYhjGH4FmwGLTNNf96voThmHsMAzj9WKK8Q4wFNgB9DZN83QxjSvFzOl0cscdd/DRRx+xbt06kpOT+eijjwgJCeH48eM88cQT1zRuVlYW06ZNwzAMBg8efFFbixYtiI2N5dChQyxevLjA+6tUqcKwYcMYNmwYAwYMoEqVKpimyRNPPMHmzZdf9Gyz2ejduzf/+te/WLFiBSdOnOCrr76ievXqpKen87vf/e6a3o+IiIiIiIiIiIi
"text/plain": [
"<Figure size 2250x900 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(15,6),dpi=150)\n",
"sns.kdeplot(data=norm_scores,clip=[0,5],shade=True,palette='Set1',ax=ax)\n",
"move_legend(ax, \"upper left\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Clearly Fandango has an uneven distribution. We can also see that RT critics have the most uniform distribution. Let's directly compare these two.** \n",
"\n",
"**TASK: Create a KDE plot that compare the distribution of RT critic ratings against the STARS displayed by Fandango.**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 167,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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JEmSjq7XlqMAMcZ64N8yX8e691bg1g68+3HgqFMXY4ytpJfX/drR7lOybrrpJgBaW1vZsGEDf/7zn3nuuef47W9/y8MPP0xxcfHBew718MMPs2PHDi688EImTZr0kmtTp049qUyf+9znDhalkiRJkiRJkiRJ6h69uhxVxw354Q8IeXlJxzis2NjI3ve8t9Pfe/vtt7/k++eee445c+bw6KOPcscdd/COd7zjFfdAeqbnjh07eM973sPNN9/caXkKCgp48sknefTRR7n88ss77b2SJEmSJEmSJEk6ulTSAdS9Ql4eIT+/Z351U2l73nnnHSw7586d2y1jHuqDH/wgkJ49KkmSJEmSJEmSpO5jOap+acaMGQDs3Lmz28d+wxvewKxZs3j66ac7XM7+7Gc/46KLLmLAgAEUFhYyc+ZMvvzlL9PQ0PCKe2+++WZCCDz++OPMnTuXSy+9lEGDBhFCoKqqittvv50QArfeeitr167lzW9+M2VlZQwYMICrrrqK5cvT2+a2tLTwpS99iVNOOYX8/HwmTZrEt771rU75dyFJkiRJkiRJktSdLEfVL9XU1ABQUVHR7WOHEPj85z8PwK233nrcz73//e/nb//2b5k/fz4XX3wxV199Ndu2beMzn/kMl112GXV1dYd97pe//CVXXXUVtbW1XHXVVZxzzjmE8NftdNevX8+5557L0qVLueKKKxg3bhwPP/wwc+bMYfv27dxwww189atfZcaMGcyZM4fNmzdzyy238IMf/OCk/j1IkiRJkiRJkiR1N/ccVb/08MMPA/Da1742kfGvvfZazjrrLJ599lkeeughXve61x31/rvuuovvf//7jBgxgscff5zJkycDUF1dzTXXXMOf/vQn/u3f/o3/+q//esWzP/jBD7jjjjt4y1vecth3//SnP+XTn/40X/rSlwghEGPk3e9+N7fffjuXX345qVSKNWvWUF5eDsCjjz7KFVdcwb//+7/z3vd2/h6xkiRJkiRJkiRJXcWZo+o32traWLt2LR/84Ad58sknue66645YGHaH9lmjx7P36P/8z/8cvLe9GAUYOHAg3/rWtwgh8L3vfe+wy+teffXVR/2cEyZM4Atf+MLB2aQhBD7+8Y8DsHz5cr7+9a8fLEYBLr/8cs444ww2btzIhg0bjpldkiRJkiRJkiSpp7AcVZ8XQiCEQFZWFpMmTeK73/0u733ve7nnnnvIzk5u8vQ111zDOeecw7x583jggQeOeF9zczPPPvssAG9/+9tfcX3mzJnMnDmTAwcOsGjRoldcv/baa4+aY86cOeTk5Lzk3IQJEwDIyclhzpw5r3im/fq2bduO+m5JkiRJkiRJkqSexHJUfd5NN93ETTfdxFve8hamTp0KpJea/clPfpJwMo5r79E9e/bQ1NREWVkZRUVFh71n3LhxAGzduvUV18aMGXPUDCNHjnzFueLiYgCGDRtGVlbWEa83NjYe9d2SJEmSJEmSJEk9iXuOqs+7/fbbX/L9f/7nf/KpT32KD3/4w1x66aWMHTs2mWDAVVddxezZs3n22We55557GD58+Am9p31J3MPJz88/6rOp1JF/RuJo1yRJkiRJkiRJknobmw/1O5/85Ce58sorqaurOzhzM0ntGT7/+c8TY3zF9dLSUnJzc9m9eze1tbWHfUf73p+
"text/plain": [
"<Figure size 2250x900 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(15,6),dpi=150)\n",
"sns.kdeplot(data=norm_scores[['RT_Norm','STARS']],clip=[0,5],shade=True,palette='Set1',ax=ax)\n",
"move_legend(ax, \"upper left\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**OPTIONAL TASK: Create a histplot comparing all normalized scores.**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 168,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:ylabel='Count'>"
]
},
"execution_count": 168,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABzMAAALoCAYAAAD8/NhsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAABcSAAAXEgFnn9JSAACXpklEQVR4nOzdeZiWdb0/8PfNzsygkIDiSkYuUC6o5S7mvmuaKwruW2qWlqUd0TrpMfNoi5pm4gop7tkBFY+YZu5LP8hdNNeAUmEGUOD+/cHAERn2GeZheL2u67lunvu7fe7nNP3R+3y/d1GWZQAAAAAAAAAqTavmLgAAAAAAAACgIcJMAAAAAAAAoCIJMwEAAAAAAICKJMwEAAAAAAAAKpIwEwAAAAAAAKhIwkwAAAAAAACgIgkzAQAAAAAAgIokzAQAAAAAAAAqkjATAAAAAAAAqEjCTAAAAAAAAKAiCTMBAAAAAACAiiTMBAAAAAAAACqSMBMAAAAAAACoSG2au4CWpCiK95NUJflHc9cCAAAAAAAAFWCNJHVlWa6yOIOLsiwbuZ7lV1EUH7dv377Tl770peYuBQAAAAAAAJrda6+9lqlTp04sy3KFxRlvZ2bj+seXvvSl3qNHj27uOgAAAAAAAKDZ9enTJ2PGjFnsU029MxMAAAAAAACoSMJMAAAAAAAAoCIJMwEAAAAAAICKJMwEAAAAAAAAKpIwEwAAAAAAAKhIwkwAAAAAAACgIrVp7gIAAAAAAACaQlmWKcuyucuAFqMoihRFsVTXFGYCAAAAAAAtxvTp0zNhwoRMnDgxn3zySXOXAy1Ou3bt0qlTp6y00kpp3bp1k68nzAQAAAAAAFqE6dOn56233sqUKVOauxRosT755JNMmDAhtbW1WXPNNZs80BRmAgAAAAAALcKECRMyZcqUtG7dOiuvvHKqq6vTqlWr5i4LWowZM2aktrY2H3zwQaZMmZIJEyake/fuTbqmMBMAAAAAAGgRJk6cmCRZeeWVs+KKKzZzNdDytGrVavbf1rvvvpuJEyc2eZjp/x0BAAAAAABY5pVlOfsdmdXV1c1cDbRss/7GPvnkk5Rl2aRrCTMBAAAAAIBl3mcDFUfLQtP67N+YMBMAAAAAAABYLgkzAQAAAAAAgIokzAQAAAAAAAAqUpvmLgAAAAAAAKCplWWZurq65i5jkVRVVaUoiuYuA5qVMBMAAAAAAGjx6urqUlNT09xlLJJJkyalurq6Ueb63//93/z617/OX//614wbNy7V1dXp3r17Nthgg2y33XY5/PDDs88++2TUqFGLNO8bb7yRnj17zv6+++6753/+539SU1OTDz74IFVVVQ2Oe+ihh7L99tvPca9169b5whe+kL59++bEE0/MPvvsM891n3nmmfz3f/93Hn744bz//vtp3759unfvnvXXXz/bbbddDjvssPTo0WORnoXKJMwEAAAAAABowc4///yce+65SZL1118/X//619O2bdu89NJLuf322zNs2LBsuumm2XXXXecIJpPk1VdfzaOPPpqVV145u+6661xzfzYg/uCDD3LfffclmRnE3nnnnTn00EPnW9tn550yZUpGjx6dESNGZMSIETn33HMzaNCgucZce+21OfbYYzN9+vT07Nkzu+yyS6qrq/P6669nxIgR+eMf/5jVV189Bx988KL8TFQoYSYAAAAAALBc2efnf0yb9h2bu4wGTZs6OXeduWejzff0009n0KBBadu2bW655Zbsu+++c7S///77ufHGG9O5c+ecddZZc40fPHhwHn300ay33noZPHjwfNcaMmRIpk+fnh49euS9997LDTfcsMAws6F5L7vssnznO9/JT3/60wwcOHCOgPWdd97JSSedlOnTp+fyyy/P8ccfn1atWs1u//e//51bbrklq6222nzXZdkhzAQAAAAAAJYrbdp3rNgws7HdfvvtKcsyBx544FxBZpKsssoqOeOMMxplrRtuuCFJcuWVV+awww7L/fffn/fffz+rrLLKIs1z2mmn5corr8yLL76YkSNH5uijj57d9qc//SlTpkzJVlttlRNPPHGusV26dMnxxx+/ZA9CRWm14C4AAAAAAAAsi8aNG5ck6datW5Ou8/e//z3PPPNMVl111ey555755je/menTp2fIkCGLNV+fPn2SJP/85z/nuL+0nofKIcwEAAAAAABoodZYY40kyW233TZXMNiYZu3KPOSQQ9KqVav0798/SXLjjTcu1nwTJ05MknTv3n2O+7OeZ+TIkXnppZcWt1yWIcJMAAAAAACAFuqwww5Lx44d849//CO9evXKwIED87vf/S7PPvtspk+f3ihrlGWZm266KUlmh5g77LBDevTokWeeeSZjxoxZpPn+9a9/5Yknnkjr1q2z4447ztG29957p3v37pk4cWI23HDDHHjggbn88svz17/+NZ988kmjPA+VRZgJAAAAAADQQq299tq55557ssYaa2TixIm57rrrcuyxx6Zv377p2rVrTjrppLz33ntLtMaoUaPy1ltvpU+fPtloo42SJK1atcohhxyS5P92bS7IlClT8tRTT2W//fbLhx9+mAsuuCBrrbXWHH1WXHHFjBgxIr17987UqVNz66235uSTT84WW2yRLl265LDDDssrr7yyRM9DZRFmAgAAAAAAtGA77LBDXn311dx+++054YQT0rdv37Rp0yYffvhhrrjiimy00UZLdGTrrKNkDz/88Dnuz/p+0003pSzLBseOGjUqRVGkKIp07Ngxm222Wf785z/n+uuvz5lnntngmI022ih/+9vfMmLEiHznO9/J5ptvng4dOqSuri4333xzNt544/z5z39e7OehsggzAQAAAAAAWrh27dplv/32yxVXXJGnn34648aNyxVXXJEuXbrkn//8Z7797W8v1rxTpkzJsGHDUhRFDj300DnaNtpoo/Tp0yf/+Mc/MmrUqAbHr7zyyhkwYEAGDBiQfffdNyuvvHLKssy3v/3tvPDCC/Nct1WrVtl5553z3//933nssccyYcKE3HzzzVl99dVTW1ubo48+erGeh8rTprkLAAAAAAAAYOnq3LlzTjjhhKy66qrZZ5998r//+7+pq6tLVVXVIs1z991356OPPkq7du1mHyv7WePHj08y86jZfv36zdW+3nrrZfDgwbO/T506NYccckjuuOOOHH744Xn22WfTqtWC9+ZVVVXlkEMOSZ8+fbLhhhvmlVdeycsvv5x11llnkZ6HyiPMBAAAAAAAFkpZlqmrq2vuMlJVVZWiKJq7jBbhG9/4RpJk+vTp+fDDDxc5zJz1PsxPPvkkjz766Dz7DRs2LL/5zW/SoUOH+c7Xvn37XHvttXn00Ufzwgsv5MYbb8wRRxyx0PVssMEGWWmllTJhwoSMHz9emNkCCDMBAAAAAICFUldXl5qamuYuI5MmTUp1dXVzl7FMKMtyvsHvq6++mmTmMbRdu3ZdpLnHjx+fESNGpF27dnn//ffTpUuXBvttv/32eeihh3LXXXfloIMOWuC8K664Yn74wx/m9NNPzwUXXJD+/fvP3p25oOf517/+lX/9619JktVWW22RnofK5J2ZAAAAAAAALdSPf/zjnHnmmXnttdfmanvnnXdy/PHHJ0n23nvvtGvXbpHmHjp0aD799NPssssu8wwyk8w+fvbGG29c6LmPP/749OjRIy+++GJuu+222fevuOKKHHfccQ2+T/Nf//pXBg4cmLIss+mmm2attdZahKehUtmZCQAAAAAALLJ9fv7HtGnfcamtN23q5Nx15p6NNlelauzaJk2alMsuuywXX3xx1llnnfTu3TsdOnTI22+/nccffzyffvppevXqlUsvvXSR5551xGxD78r8rAMOOCDf/va3M3z48IwbNy7dunVb4NwdO3bMWWedldNOOy0XXHBBvvWtbyWZeZzt1VdfnauvvjprrbVWNthgg9TU1OT999/PE088kdra2nTr1i2///3vF/l5qEzCTAAAAAAAYJG1ad9xqYaZjamxQtFlwTnnnJNNN900I0aMyPPPP58///nP+eijj7LCCivka1/7WvbZZ5+
"text/plain": [
"<Figure size 2250x900 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.subplots(figsize=(15,6),dpi=150)\n",
"sns.histplot(norm_scores,bins=50)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"### How are the worst movies rated across all platforms?\n",
"\n",
"**TASK: Create a clustermap visualization of all normalized scores. Note the differences in ratings, highly rated movies should be clustered together versus poorly rated movies. Note: This clustermap does not need to have the FILM titles as the index, feel free to drop it for the clustermap.**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 169,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<seaborn.matrix.ClusterGrid at 0x1aa7cb2b548>"
]
},
"execution_count": 169,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 720x720 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.clustermap(norm_scores,cmap='magma',col_cluster=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**TASK: Clearly Fandango is rating movies much higher than other sites, especially considering that it is then displaying a rounded up version of the rating. Let's examine the top 10 worst movies. Based off the Rotten Tomatoes Critic Ratings, what are the top 10 lowest rated movies? What are the normalized scores across all platforms for these movies? You may need to add the FILM column back in to your DataFrame of normalized scores to see the results.**"
]
},
{
"cell_type": "code",
"execution_count": 245,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 246,
"metadata": {},
"outputs": [],
"source": [
"norm_films = df[['STARS','RATING','RT_Norm','RTU_Norm','Meta_Norm','Meta_U_Norm','IMDB_Norm','FILM']]"
]
},
{
"cell_type": "code",
"execution_count": 248,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>STARS</th>\n",
" <th>RATING</th>\n",
" <th>RT_Norm</th>\n",
" <th>RTU_Norm</th>\n",
" <th>Meta_Norm</th>\n",
" <th>Meta_U_Norm</th>\n",
" <th>IMDB_Norm</th>\n",
" <th>FILM</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>3.5</td>\n",
" <td>3.5</td>\n",
" <td>0.2</td>\n",
" <td>1.8</td>\n",
" <td>0.6</td>\n",
" <td>1.2</td>\n",
" <td>2.2</td>\n",
" <td>Paul Blart: Mall Cop 2 (2015)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>4.5</td>\n",
" <td>4.1</td>\n",
" <td>0.4</td>\n",
" <td>2.3</td>\n",
" <td>1.3</td>\n",
" <td>2.3</td>\n",
" <td>3.0</td>\n",
" <td>Taken 3 (2015)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>3.0</td>\n",
" <td>2.7</td>\n",
" <td>0.4</td>\n",
" <td>1.0</td>\n",
" <td>1.4</td>\n",
" <td>1.2</td>\n",
" <td>2.0</td>\n",
" <td>Fantastic Four (2015)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54</th>\n",
" <td>4.0</td>\n",
" <td>3.7</td>\n",
" <td>0.4</td>\n",
" <td>1.8</td>\n",
" <td>1.6</td>\n",
" <td>1.8</td>\n",
" <td>2.4</td>\n",
" <td>Hot Pursuit (2015)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>84</th>\n",
" <td>4.0</td>\n",
" <td>3.9</td>\n",
" <td>0.4</td>\n",
" <td>2.4</td>\n",
" <td>1.4</td>\n",
" <td>1.6</td>\n",
" <td>3.0</td>\n",
" <td>Hitman: Agent 47 (2015)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>4.0</td>\n",
" <td>3.6</td>\n",
" <td>0.5</td>\n",
" <td>1.8</td>\n",
" <td>1.5</td>\n",
" <td>2.8</td>\n",
" <td>2.3</td>\n",
" <td>The Boy Next Door (2015)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>77</th>\n",
" <td>3.5</td>\n",
" <td>3.2</td>\n",
" <td>0.6</td>\n",
" <td>1.8</td>\n",
" <td>1.5</td>\n",
" <td>2.0</td>\n",
" <td>2.8</td>\n",
" <td>Seventh Son (2015)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>78</th>\n",
" <td>3.5</td>\n",
" <td>3.2</td>\n",
" <td>0.6</td>\n",
" <td>1.5</td>\n",
" <td>1.4</td>\n",
" <td>1.6</td>\n",
" <td>2.8</td>\n",
" <td>Mortdecai (2015)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>83</th>\n",
" <td>3.5</td>\n",
" <td>3.3</td>\n",
" <td>0.6</td>\n",
" <td>1.7</td>\n",
" <td>1.6</td>\n",
" <td>2.5</td>\n",
" <td>2.8</td>\n",
" <td>Sinister 2 (2015)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>87</th>\n",
" <td>3.5</td>\n",
" <td>3.2</td>\n",
" <td>0.6</td>\n",
" <td>1.4</td>\n",
" <td>1.6</td>\n",
" <td>1.9</td>\n",
" <td>2.7</td>\n",
" <td>Unfinished Business (2015)</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" STARS RATING RT_Norm RTU_Norm Meta_Norm Meta_U_Norm IMDB_Norm \\\n",
"49 3.5 3.5 0.2 1.8 0.6 1.2 2.2 \n",
"25 4.5 4.1 0.4 2.3 1.3 2.3 3.0 \n",
"28 3.0 2.7 0.4 1.0 1.4 1.2 2.0 \n",
"54 4.0 3.7 0.4 1.8 1.6 1.8 2.4 \n",
"84 4.0 3.9 0.4 2.4 1.4 1.6 3.0 \n",
"50 4.0 3.6 0.5 1.8 1.5 2.8 2.3 \n",
"77 3.5 3.2 0.6 1.8 1.5 2.0 2.8 \n",
"78 3.5 3.2 0.6 1.5 1.4 1.6 2.8 \n",
"83 3.5 3.3 0.6 1.7 1.6 2.5 2.8 \n",
"87 3.5 3.2 0.6 1.4 1.6 1.9 2.7 \n",
"\n",
" FILM \n",
"49 Paul Blart: Mall Cop 2 (2015) \n",
"25 Taken 3 (2015) \n",
"28 Fantastic Four (2015) \n",
"54 Hot Pursuit (2015) \n",
"84 Hitman: Agent 47 (2015) \n",
"50 The Boy Next Door (2015) \n",
"77 Seventh Son (2015) \n",
"78 Mortdecai (2015) \n",
"83 Sinister 2 (2015) \n",
"87 Unfinished Business (2015) "
]
},
"execution_count": 248,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"norm_films.nsmallest(10,'RT_Norm')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**FINAL TASK: Visualize the distribution of ratings across all sites for the top 10 worst movies.**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# CODE HERE"
]
},
{
"cell_type": "code",
"execution_count": 251,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 2250x900 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"print('\\n\\n')\n",
"plt.figure(figsize=(15,6),dpi=150)\n",
"worst_films = norm_films.nsmallest(10,'RT_Norm').drop('FILM',axis=1)\n",
"sns.kdeplot(data=worst_films,clip=[0,5],shade=True,palette='Set1')\n",
"plt.title(\"Ratings for RT Critic's 10 Worst Reviewed Films\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"----\n",
"\n",
"<img src=\"https://upload.wikimedia.org/wikipedia/en/6/6f/Taken_3_poster.jpg\">\n",
"\n",
"**Final thoughts: Wow! Fandango is showing around 3-4 star ratings for films that are clearly bad! Notice the biggest offender, [Taken 3!](https://www.youtube.com/watch?v=tJrfImRCHJ0). Fandango is displaying 4.5 stars on their site for a film with an [average rating of 1.86](https://en.wikipedia.org/wiki/Taken_3#Critical_response) across the other platforms!**"
]
},
{
"cell_type": "code",
"execution_count": 253,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"STARS 4.5\n",
"RATING 4.1\n",
"RT_Norm 0.4\n",
"RTU_Norm 2.3\n",
"Meta_Norm 1.3\n",
"Meta_U_Norm 2.3\n",
"IMDB_Norm 3\n",
"FILM Taken 3 (2015)\n",
"Name: 25, dtype: object"
]
},
"execution_count": 253,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"norm_films.iloc[25]"
]
},
{
"cell_type": "code",
"execution_count": 254,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"9.3"
]
},
"execution_count": 254,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"0.4+2.3+1.3+2.3+3"
]
},
{
"cell_type": "code",
"execution_count": 255,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.86"
]
},
"execution_count": 255,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"9.3/5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----"
]
}
],
"metadata": {
"anaconda-cloud": {},
"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.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
}