From 9562582f043b3503cf601c41a9dc41670cb230cd Mon Sep 17 00:00:00 2001 From: Pranav-Dawange Date: Sun, 7 Jun 2026 18:42:51 +0530 Subject: [PATCH] Add Student Performance Analysis project --- Student-Performance-Analysis/README.md | 32 +++++++++++++++++++ Student-Performance-Analysis/requirements.txt | 2 ++ .../student_analysis.py | 24 ++++++++++++++ Student-Performance-Analysis/student_data.csv | 7 ++++ 4 files changed, 65 insertions(+) create mode 100644 Student-Performance-Analysis/README.md create mode 100644 Student-Performance-Analysis/requirements.txt create mode 100644 Student-Performance-Analysis/student_analysis.py create mode 100644 Student-Performance-Analysis/student_data.csv diff --git a/Student-Performance-Analysis/README.md b/Student-Performance-Analysis/README.md new file mode 100644 index 00000000..c48cfaea --- /dev/null +++ b/Student-Performance-Analysis/README.md @@ -0,0 +1,32 @@ +# Student Performance Analysis Dashboard + +## Description + +A simple Data Analysis project using Python, Pandas, and Matplotlib. + +The project: + +- Reads student marks from a CSV file +- Calculates average marks +- Identifies the top performer +- Visualizes student performance using a bar chart + +## Technologies Used + +- Python +- Pandas +- Matplotlib + +## Run + +```bash +pip install -r requirements.txt +python student_analysis.py +``` + +## Output + +Displays: +- Student summary +- Top performer +- Performance chart \ No newline at end of file diff --git a/Student-Performance-Analysis/requirements.txt b/Student-Performance-Analysis/requirements.txt new file mode 100644 index 00000000..961b1513 --- /dev/null +++ b/Student-Performance-Analysis/requirements.txt @@ -0,0 +1,2 @@ +pandas +matplotlib \ No newline at end of file diff --git a/Student-Performance-Analysis/student_analysis.py b/Student-Performance-Analysis/student_analysis.py new file mode 100644 index 00000000..ce7cb33c --- /dev/null +++ b/Student-Performance-Analysis/student_analysis.py @@ -0,0 +1,24 @@ +import pandas as pd +import matplotlib.pyplot as plt + +df = pd.read_csv("student_data.csv") + +df["Average"] = df[["Math", "Science", "English"]].mean(axis=1) + +print("\nStudent Performance Summary") +print(df) + +topper = df.loc[df["Average"].idxmax()] + +print("\nTop Performer:") +print(topper["Name"]) + +plt.figure(figsize=(8,5)) +plt.bar(df["Name"], df["Average"]) +plt.title("Average Marks of Students") +plt.xlabel("Students") +plt.ylabel("Average Marks") +plt.xticks(rotation=45) +plt.tight_layout() + +plt.show() \ No newline at end of file diff --git a/Student-Performance-Analysis/student_data.csv b/Student-Performance-Analysis/student_data.csv new file mode 100644 index 00000000..0dddfbb7 --- /dev/null +++ b/Student-Performance-Analysis/student_data.csv @@ -0,0 +1,7 @@ +Name,Math,Science,English +Rahul,85,78,90 +Priya,92,88,95 +Amit,70,75,72 +Sneha,95,91,89 +Rohan,65,68,70 +Anjali,88,85,92 \ No newline at end of file