An exploratory data analysis project that studies a Netflix movie dataset using Python, Pandas, NumPy, Matplotlib, and Seaborn.
The project focuses on data cleaning, exploratory data analysis, visualization, and extracting useful insights from movie-related information.
Streaming platforms contain a large amount of entertainment data. Analyzing this data can help us understand:
- The distribution of movies across genres
- Popular and highly rated titles
- Release-year trends
- Runtime patterns
- Language and country representation
- Relationships between ratings, popularity, votes, and other movie attributes
This repository contains a Jupyter Notebook for the complete analysis, the dataset used in the project, and a PowerPoint presentation summarizing the work.
The main objectives of this project are:
- Import and understand the movie dataset
- Identify missing values and duplicate records
- Clean and prepare the data for analysis
- Perform exploratory data analysis
- Create meaningful charts and visualizations
- Discover patterns and trends in the movie data
- Present the findings in a clear and understandable format
- Dataset inspection and summary
- Missing-value analysis
- Duplicate-record detection
- Data-type correction
- Statistical summary of numerical columns
- Univariate and bivariate analysis
- Genre-based analysis
- Release-year trend analysis
- Rating and popularity analysis
- Runtime distribution analysis
- Data visualization using charts and graphs
- Project presentation included in PowerPoint format
| Category | Technology |
|---|---|
| Programming Language | Python |
| Data Analysis | Pandas, NumPy |
| Data Visualization | Matplotlib, Seaborn |
| Development Environment | Jupyter Notebook |
| Dataset Format | CSV |
| Presentation | Microsoft PowerPoint |
| Version Control | Git and GitHub |
-Project-Netflix-Data-Analysis-/
│
├── .DS_Store
├── Movies_Data_Analysis.ipynb
├── movie data analysis project ppt.pptx
├── mymoviedb.csv
└── README.md
| File | Description |
|---|---|
Movies_Data_Analysis.ipynb |
Main notebook containing data cleaning, EDA, visualizations, and insights |
mymoviedb.csv |
Dataset used for the movie analysis |
movie data analysis project ppt.pptx |
Presentation summarizing the project and findings |
.DS_Store |
macOS-generated system file |
README.md |
Project documentation |
Raw Movie Dataset
│
▼
Import Required Libraries
│
▼
Load and Inspect Dataset
│
▼
Handle Missing and Duplicate Values
│
▼
Correct Data Types
│
▼
Exploratory Data Analysis
│
▼
Create Visualizations
│
▼
Identify Trends and Insights
│
▼
Prepare Final Presentation
The notebook may include analyses such as:
- Number of rows and columns
- Column names
- Data types
- Statistical summary
- Null-value count
- Duplicate-row count
- Most common movie genres
- Genre frequency distribution
- Comparison of ratings across genres
- Number of movies released each year
- Growth or decline in movie production
- Identification of years with the highest number of releases
- Distribution of movie ratings
- Highest-rated movies
- Comparison between ratings and vote counts
- Most popular movies
- Distribution of popularity scores
- Relationship between popularity and ratings
- Runtime distribution
- Average movie runtime
- Identification of unusually short or long movies
When the required columns are available, the analysis can also explore:
- Most common original languages
- Countries producing the highest number of titles
- Comparison of ratings across languages or countries
The project can include charts such as:
- Bar chart of the most common genres
- Histogram of movie ratings
- Line chart of releases by year
- Bar chart of the most popular movies
- Distribution plot of movie runtime
- Scatter plot of rating versus popularity
- Correlation heatmap for numerical features
- Pie chart of language or genre distribution
git clone https://github.com/vickycodeswith/-Project-Netflix-Data-Analysis-.git
cd -- -Project-Netflix-Data-Analysis-If the cd command above does not work in your terminal, use:
cd ./-Project-Netflix-Data-Analysis-python -m venv venv
venv\Scripts\activatepython3 -m venv venv
source venv/bin/activatepip install pandas numpy matplotlib seaborn jupyterYou can also create a requirements.txt file containing:
pandas
numpy
matplotlib
seaborn
jupyter
Then install all packages using:
pip install -r requirements.txtjupyter notebookOpen:
Movies_Data_Analysis.ipynb
Run the notebook cells from top to bottom.
import pandas as pd
df = pd.read_csv("mymoviedb.csv")
print(df.head())
print(df.shape)
print(df.info())
print(df.isnull().sum())
print(df.duplicated().sum())# Remove duplicate rows
df = df.drop_duplicates()
# Remove unnecessary spaces from column names
df.columns = df.columns.str.strip()
# Display missing values
missing_values = df.isnull().sum()
print(missing_values)The exact cleaning operations depend on the columns and data quality of mymoviedb.csv.
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize=(10, 6))
sns.histplot(df["Vote_Average"], bins=20, kde=True)
plt.title("Distribution of Movie Ratings")
plt.xlabel("Rating")
plt.ylabel("Number of Movies")
plt.show()Replace
Vote_Averagewith the correct rating-column name from the dataset when necessary.
This type of analysis can help answer questions such as:
- Which movie genres are most common?
- Which genres receive the best average ratings?
- Which years had the highest number of releases?
- Are highly popular movies always highly rated?
- What is the typical runtime of a movie?
- Which titles have high ratings but low popularity?
- Which language or country is most represented?
Then display them in this README:


- Create an interactive dashboard using Streamlit
- Build a Power BI or Tableau dashboard
- Add filters for genre, year, language, and rating
- Perform sentiment analysis on movie reviews
- Add a movie recommendation system
- Create an automated data-cleaning pipeline
- Add more advanced statistical analysis
- Deploy the analysis as a web application
- Add a
requirements.txtfile - Remove
.DS_Storefrom the repository - Add screenshots of important visualizations
- Improve notebook documentation and code comments
The .DS_Store file is generated automatically by macOS and is not needed in the repository.
Add the following entry to .gitignore:
.DS_Store
Then remove it from Git tracking:
git rm --cached .DS_Store
git commit -m "Remove unnecessary DS_Store file"
git pushContributions and suggestions are welcome.
- Fork the repository
- Create a new branch
git checkout -b feature/improvement- Commit your changes
git commit -m "Improve movie data analysis"- Push your branch
git push origin feature/improvement- Open a Pull Request
Nitesh Kumar Yadav
- GitHub: @vickycodeswith
- Repository: Netflix Movies Data Analysis
If this project is useful, please give the repository a ⭐.
This project is created for educational and portfolio purposes.
You may add an MIT License if you want other developers to reuse or contribute to the project.