This project analyzes student grades using a dataset stored in JSON format. The dataset includes:
- Student ID
- Class ID
- Exam Scores
- Quiz Scores
- Homework Scores
The objective is to extract, clean, and analyze this data using Python, Pandas, and Matplotlib/Seaborn for visualization.
- Project Description
- Technologies Used
- Dataset Overview
- Project Workflow
- Installation & Setup
- Usage
- Results & Visualization
- Future Improvements
- Contributors
🔹 Python
🔹 Pandas
🔹 NumPy
🔹 Matplotlib
🔹 Seaborn
🔹 Requests (for data fetching)
🔹 BeautifulSoup (for HTML parsing)
The dataset is obtained from a publicly available JSON file. Each student has three types of scores:
- Exam Score
- Quiz Score
- Homework Score
Example JSON entry:
{
"_id": {"$oid": "50906d7fa3c412bb040eb577"},
"student_id": 10,
"class_id": 2,
"scores": [
{"type": "exam", "score": 89.23},
{"type": "quiz", "score": 76.55},
{"type": "homework", "score": 91.12}
]
}
✅ Step 1: Fetch JSON data from the remote URL
✅ Step 2: Convert the JSON file into a Pandas DataFrame
✅ Step 3: Extract individual scores (exam, quiz, homework)
✅ Step 4: Clean and preprocess the dataset
✅ Step 5: Perform statistical analysis
✅ Step 6: Visualize results using Matplotlib and Seaborn
git clone https://github.com/VIPULbunny/student-grades-json-analysis.git
cd student-grades-json-analysis
Ensure you have Python 3 installed. Then, install the required packages:
pip install pandas numpy matplotlib seaborn requests beautifulsoup4
Execute the Python script:
python analysis.py
- Run the script to fetch the JSON data and process it.
- View the statistical summary of student grades.
- Visualize the results using histograms and scatter plots.
🚀 Add advanced data visualizations (box plots, heatmaps)
🚀 Implement machine learning models for predicting student performance
🚀 Integrate a web dashboard using Streamlit or Dash
💡 Vipul Solanki(https://github.com/VIPULbunny)
This project is licensed under the MIT License.