Exploratory data analysis of Netflix's content catalogue, including data cleaning, genre/country breakdowns, and a Power BI dashboard.
| File | Description |
|---|---|
raw_netflix.csv |
Original dataset (8,807 rows, 12 columns) — unprocessed Netflix titles |
cleaned_netflix.csv |
Cleaned dataset (8,797 rows, 13 columns) — ready for analysis |
netflix_country.csv |
Exploded country table — one row per show-country pair |
netflix_genres.csv |
Exploded genre table — one row per show-genre pair |
analysis.ipynb |
Jupyter notebook covering cleaning steps and visualisations |
Netflix_Dashboard.pbix |
Power BI dashboard for interactive exploration |
Source: Netflix Titles dataset (publicly available on Kaggle)
Raw columns: show_id, type, title, director, cast, country, date_added, release_year, rating, duration, listed_in, description
Added during cleaning: year_added (extracted from date_added)
The notebook performs the following steps on raw_netflix.csv:
- Missing values — filled
director,cast, andcountrywith placeholder values; imputed missingdurationby content type ('90 min'for Movies,'1 Season'for TV Shows); filled missingratingas'NR' - Dropped rows — removed records where
date_addedwas null (10 rows removed) - Date parsing — stripped whitespace and converted
date_addedto datetime; extractedyear_added - Rating fixes — corrected misplaced duration values (
'74 min','84 min','66 min') in the rating column to'NR'; standardised'Not Rated'and'UR'→'NR' - Text cleanup — stripped leading/trailing whitespace from all text columns; removed embedded newlines from
title,description,cast,director,country,listed_in,duration,rating - Deduplication — dropped exact duplicate rows
- Column names — standardised to lowercase with underscores
Because country and listed_in (genres) can contain multiple comma-separated values per title, two normalised tables were created by exploding these columns:
netflix_country.csv—show_id+ onecountryper rownetflix_genres.csv—show_id+ onegenreper row
These are used in the Power BI dashboard for accurate country and genre counts.
The notebook generates matplotlib charts styled with a Netflix dark theme (#141414 background, #E50914 red palette). Charts cover content type splits, top genres, content additions over time, and rating distributions.
The Netflix_Dashboard.pbix file provides an interactive Power BI dashboard built on the cleaned and derived tables.
To open the dashboard: Power BI Desktop is required (free download from Microsoft).
pandas
matplotlib
jupyter
Install with:
pip install pandas matplotlib jupyter- Open
analysis.ipynbin Jupyter and run all cells to reproduce the cleaning steps and charts. - The cleaned outputs (
cleaned_netflix.csv,netflix_country.csv,netflix_genres.csv) are already included. - Open
Netflix_Dashboard.pbixin Power BI Desktop for the interactive dashboard.







