Skip to content

vickycodeswith/-Project-Netflix-Data-Analysis-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎬 Netflix Movies Data Analysis

Python Jupyter Notebook Pandas Matplotlib License

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.


📌 Project Overview

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.


🎯 Project Objectives

The main objectives of this project are:

  1. Import and understand the movie dataset
  2. Identify missing values and duplicate records
  3. Clean and prepare the data for analysis
  4. Perform exploratory data analysis
  5. Create meaningful charts and visualizations
  6. Discover patterns and trends in the movie data
  7. Present the findings in a clear and understandable format

✨ Key Features

  • 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

🛠️ Tech Stack

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

📂 Repository Structure

-Project-Netflix-Data-Analysis-/
│
├── .DS_Store
├── Movies_Data_Analysis.ipynb
├── movie data analysis project ppt.pptx
├── mymoviedb.csv
└── README.md

File Description

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

🔍 Analysis Workflow

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

📊 Exploratory Data Analysis

The notebook may include analyses such as:

1. Dataset Understanding

  • Number of rows and columns
  • Column names
  • Data types
  • Statistical summary
  • Null-value count
  • Duplicate-row count

2. Genre Analysis

  • Most common movie genres
  • Genre frequency distribution
  • Comparison of ratings across genres

3. Release-Year Analysis

  • Number of movies released each year
  • Growth or decline in movie production
  • Identification of years with the highest number of releases

4. Rating Analysis

  • Distribution of movie ratings
  • Highest-rated movies
  • Comparison between ratings and vote counts

5. Popularity Analysis

  • Most popular movies
  • Distribution of popularity scores
  • Relationship between popularity and ratings

6. Runtime Analysis

  • Runtime distribution
  • Average movie runtime
  • Identification of unusually short or long movies

7. Language or Country Analysis

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

📈 Example Visualizations

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

💻 Installation and Setup

1. Clone the Repository

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-

2. Create a Virtual Environment

Windows

python -m venv venv
venv\Scripts\activate

macOS or Linux

python3 -m venv venv
source venv/bin/activate

3. Install the Required Libraries

pip install pandas numpy matplotlib seaborn jupyter

You can also create a requirements.txt file containing:

pandas
numpy
matplotlib
seaborn
jupyter

Then install all packages using:

pip install -r requirements.txt

4. Open the Jupyter Notebook

jupyter notebook

Open:

Movies_Data_Analysis.ipynb

Run the notebook cells from top to bottom.


🧪 Basic Python Example

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())

🧹 Data Cleaning Example

# 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.


📊 Visualization Example

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_Average with the correct rating-column name from the dataset when necessary.


💡 Possible Business Insights

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:

![Genre Analysis](screenshots/genre-analysis.png)

![Ratings Distribution](screenshots/ratings-distribution.png)

![Release-Year Trend](screenshots/release-year-trend.png)

🚀 Future Improvements

  • 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.txt file
  • Remove .DS_Store from the repository
  • Add screenshots of important visualizations
  • Improve notebook documentation and code comments

🧹 Recommended Repository Cleanup

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 push

🤝 Contributing

Contributions and suggestions are welcome.

  1. Fork the repository
  2. Create a new branch
git checkout -b feature/improvement
  1. Commit your changes
git commit -m "Improve movie data analysis"
  1. Push your branch
git push origin feature/improvement
  1. Open a Pull Request

👨‍💻 Author

Nitesh Kumar Yadav


⭐ Support

If this project is useful, please give the repository a ⭐.


📄 License

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.

About

✅ Data Collection & Cleaning: Preparing Netflix data for analysis. ✅ Exploratory Data Analysis (EDA): Identifying trends, patterns, and insights. ✅ Visualization: Creating stunning charts and graphs to present findings. ✅ Machine Learning (if applicable): Predictive modeling for personalized recommendations.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages