Netflix! What started in 1997 as a DVD rental service has since exploded into one of the largest entertainment and media companies.
Given the large number of movies and series available on the platform, it is a perfect opportunity to flex your exploratory data analysis skills and dive into the entertainment industry.
You work for a production company that specializes in nostalgic styles. You want to do some research on movies released in the 1990's. You'll delve into Netflix data and perform exploratory data analysis to better understand this awesome movie decade!
You have been supplied with the dataset netflix_data.csv, along with the following table detailing the column names and descriptions. Feel free to experiment further after submitting!
The data
netflix_data.csv
| Column | Description |
|---|---|
show_id | The ID of the show |
type | Type of show |
title | Title of the show |
director | Director of the show |
cast | Cast of the show |
country | Country of origin |
date_added | Date added to Netflix |
release_year | Year of Netflix release |
duration | Duration of the show in minutes |
description | Description of the show |
genre | Show genre |
# Importing pandas and matplotlib
import pandas as pd
import matplotlib.pyplot as plt
# Read in the Netflix CSV as a DataFrame
netflix_df = pd.read_csv("netflix_data.csv")# Show the first five columns
netflix_df.head()# Check for missing values
netflix_df.isnull().sum()# Filter for movies
netflix_df_movies = netflix_df[netflix_df['type'] == 'Movie']
netflix_df_movies.head()# Filter for movies released in 1990's
netflix_df_90s = netflix_df[(netflix_df['release_year'] >= 1990) & (netflix_df['release_year'] <= 1999)]
netflix_df_90s.head()# Analyze the distribution of movie durations
plt.figure(figsize=(10, 6))
netflix_df_90s['duration'] = netflix_df_90s['duration'].astype(str).str.extract('(\d+)').astype(int)
plt.hist(netflix_df_90s['duration'].dropna(), bins=20, edgecolor='black')
plt.title('Distribution of Movie Durations in the 1990s')
plt.xlabel('Duration (Minutes)')
plt.ylabel('Frequency')
plt.show()# Determine the most frequent duration visually and save it
duration = netflix_df_90s['duration'].mode()[0]
print(f"The most frequent movie duration in the 1990s is {duration} minutes.")# Count the number of short action movies from the 1990s
short_action_movies = netflix_df_90s[(netflix_df_90s['genre'].str.contains('Action', case=False, na=False)) & (netflix_df_90s['duration'] < 90)]
short_movie_count = len(short_action_movies)
print(f"The number of short action movies (less than 90 minutes) from the 1990s is {short_movie_count}.")# Sort by release year
netflix_sort = netflix_df_90s['release_year'].value_counts().sort_index()
print(netflix_sort)# Analyze the distribution of movies by release year
plt.figure(figsize=(10, 6))
netflix_df_90s['release_year'].value_counts().sort_index().plot(kind='bar')
plt.title('Number of Movies Released Each Year in the 1990s')
plt.xlabel('Release Year')
plt.ylabel('Number of Movies')
plt.xticks(rotation = 0)
plt.show()# Popular Genre in the 1990's
netflix_df_pop = netflix_df_90s['genre'].value_counts()
print(netflix_df_pop)# Analyze the most popular genres
plt.figure(figsize=(10, 6))
netflix_df_90s['genre'].value_counts().plot(kind='bar')
plt.title('Popular Genres of 1990s Movies')
plt.xlabel('Genre')
plt.ylabel('Number of Movies')
plt.xticks(rotation = 45)
plt.show()# Top countries producing in the 1990's
netflix_df_top = netflix_df_90s['country'].value_counts()
print(netflix_df_top)