Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions Student-Performance-Analysis/README.md
Original file line number Diff line number Diff line change
@@ -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
2 changes: 2 additions & 0 deletions Student-Performance-Analysis/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
pandas
matplotlib
24 changes: 24 additions & 0 deletions Student-Performance-Analysis/student_analysis.py
Original file line number Diff line number Diff line change
@@ -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()
7 changes: 7 additions & 0 deletions Student-Performance-Analysis/student_data.csv
Original file line number Diff line number Diff line change
@@ -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