Skip to content

M3M397/Student-Performance-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Student Performance Analyzer (Python & Streamlit)

A professional, interactive Data Science dashboard built using Python, Streamlit, and Pandas. This application allows users to upload student datasets and instantly generate actionable academic insights through automated grading and ranking.


Project Overview

The Student Performance Analyzer automates the manual process of calculating grades and identifying student performance trends. It demonstrates a complete data science workflow—from dynamic data ingestion and cleaning to interactive visualization.

Key focuses include:

  • Dynamic Data Processing using Pandas
  • Interactive Dashboarding with Streamlit
  • Defensive Programming (input validation for numeric vs. text columns)
  • Data-Driven Logic (automated grading using Pandas binning)
  • Modern UI/UX Design

Key Features

  • Universal File Support: Upload any CSV or Excel dataset.
  • Dynamic Column Mapping: Automatically detects and filters numeric subject columns and text-based name columns.
  • Automated Grading: Assigns letter grades (A–F) based on averages using Pandas cut().
  • Performance Tracking:
    • Top 10 Performers: Real-time leaderboard using .nlargest().
    • Failing Students Detector: Instantly flags students requiring academic attention.
  • Class Metrics: Summary cards for Total Students, Class Average, and Fail Count.

Tech Stack

  • Python
  • Streamlit (Web Interface)
  • Pandas (Data Manipulation)

Project Structure

Student-Performance-Analyzer/
│
├── main.py                # Core application logic and UI
├── requirements.txt       # List of dependencies
│
└── data/
    └── student_sample.csv # Sample dataset for testing
  • main.py → Handles file uploads, sidebar configuration, and UI rendering
  • requirements.txt → Ensures consistent environment setup

Installation & Usage

  1. Clone the repository:
git clone https://github.com/your-username/Student-Performance-Analyzer.git
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the application:
streamlit run main.py

Purpose of This Project

This project demonstrates my ability to:

  • Build robust, end-to-end Data Science dashboards
  • Implement flexible logic that handles varied user inputs
  • Turn raw data into actionable visual insights
  • Apply data cleaning and feature engineering in real-world scenarios

It reflects my focus on building data-driven solutions that provide immediate value to users.


Developer

Muhammad Bazil

About

Interactive Python & Streamlit dashboard to analyze student performance, generate automated grades, and track top performers using Pandas

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages