100% found this document useful (1 vote)
5K views23 pages

Class 12 Informatics Practices IP Project On CBSE Result Statistics

This document describes a student project analyzing CBSE Class X exam results from 2022. The project uses Python and libraries like Pandas, NumPy, and Matplotlib to import and analyze exam data. It includes code to display the data, perform analyses, and create visualizations like graphs of registrations, appearances and success rates by region and school type. The project aims to provide an interactive way to explore and understand the CBSE exam results data.

Uploaded by

Pushpendra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
5K views23 pages

Class 12 Informatics Practices IP Project On CBSE Result Statistics

This document describes a student project analyzing CBSE Class X exam results from 2022. The project uses Python and libraries like Pandas, NumPy, and Matplotlib to import and analyze exam data. It includes code to display the data, perform analyses, and create visualizations like graphs of registrations, appearances and success rates by region and school type. The project aims to provide an interactive way to explore and understand the CBSE exam results data.

Uploaded by

Pushpendra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

ST.

JOSEPH’S SCHOOL
SHAKTINAGAR

Session 2023-24
INFORMATICS PRACTICES
PROJECT
ON
CBSE Results Statistics Class X – 2022

[As a part of Informatics Practices course (065)]

SUBMITTED BY:
PUSHPENDRA
CLASS: XII A
BOARD ROLL NUMBER:

UNDER THE GUIDANCE OF :


Mr. Mritunjay Kumar Singh
P.G.T.(Computer)
INDEX

➢Acknowledgement
➢Certificate
➢Introduction
➢Objective
➢Software and Hardware Requirements
➢Theoretical Concepts Applied
➢Python Code
➢Output
➢Conclusion
➢Bibliography
ACKNOWLEDGEMENT

I express my sincere gratitude towards Mr.


Mritunjay Kumar Singh, my esteemed teacher,
for providing me with the golden opportunity to
undertake and complete the project on CBSE
Results Statistics 2022. His guidance and support
has been invaluable in enhancing my
understanding and contributing to my knowledge.
I would also like to extend my gratitude towards
Principal Fr. Archibald D’Silva for facilitating the
necessary resources and creating an environment
supportive for the successful execution of this
project.

Date : Pushpendra
December 5, 2023 12th A
Roll No. : 25
Board Roll No.
CERTIFICATE

This is to certify that the content of this project


entitled, CBSE Results statistics 2022 by
Pushpendra is the bonafide work submitted to St.
Joseph’s School, Shaktinagar.

The original research work was carried out by him


under my supervision in academic year 2023-24.
On the basis of the declaration made by him I
recommend this project report for evaluation.

Mr. Mritunjay Kumar Fr. Archibald D’Silva


Singh Principal
P.G.T.(Computer)
INTRODUCTION
The CBSE Result Statistics Class X - 2022 project
dives into the analysis and visualization of Class X
results data from CBSE in 2022. It explores
regions, school types, and key metrics like
registrations, appearances, and success rates.

Using Python and data analysis libraries like


pandas, numpy, and matplotlib, this project aims
to provide analyzed and visualized data in CBSE
Class X results. It provides an interactive interface
for users to engage with the data, making
exploration more accessible.
OBJECTIVE
Aim: To create a tangible and useful IP application

• Understanding Data : Develop a


comprehensive understanding of the dataset
• Data collection : Storing Data in a CSV file
• Importing Data in Pandas : Import data from a
CSV file into a DataFrame
• Data Analysis : Analyze data using Python
Pandas Library
• Data Visualization : Generate appropriate
charts and graphs to visualize data.
SOFTWARE AND
HARDWARE
REQUIREMENTS

• Jupyter (Anaconda 3)
• MS Excel 2019 for data storage

THEORETICAL CONCEPTS
IMPLEMENTED

• Python pandas library


• CSV files
• Python numpy library
• Python matplotlib.pyplot library
PYTHON CODE
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.read_csv("C:\\Users\\Tony\\Downloads\\Class10-2022.csv", header=0)

def mainmenu():
print('\n')
print("--x-"*40)
print("--MAIN MENU--:")
print("1. Display the DataFrame")
print("2. Display information about the DataFrame")
print("3. Display information about selected region")
print("4. Display a graph of the total number of \
students registered and appeared for the exam")
print("5. Display a graph of the number of students registered\
and appeared from different types of schools")
print("6. Display the data of a region in form of a bar graph")
print("7. Display the number of registered/appeared/passed\
students in form of a bar graph")
print("0. Exit\n")

print("==="*40)
print(" WELCOME!!! ")
print(" CBSE Result Statistics Class X - 2022 ")
print("==="*40)
while True:
mainmenu()
choice = input("Enter your choice: ")

if choice == "1":
print("You selected to Display the DataFrame")
print(df)

elif choice == "2":


print("You selected -- Display information about the DataFrame")
print(df.describe())

elif choice == "3":


print("You selected -- Display all the information about selected region")
reg = df['Region'].unique()
for i in range(len(reg)):
print(i,reg[i])
print("Select the region")
code = int(input("Enter the code of the region: "))
if code in range(len(reg)):
regn= reg[code]
data = df[df['Region'] == regn]
print(data)
else:
print("Invalid choice. Please enter a valid option")

elif choice == "4":


print("You selected -- Display a graph of the total number\
of students registered and appeared for the exam")
reg = df['Region'].unique()
x = np.arange(len(reg))

regd = df[df['Type'] == 'Regd']['TOTAL']


appd = df[df['Type'] == 'Appd']['TOTAL']
passed = df[df['Type'] == 'Pass']['TOTAL']

plt.figure(figsize=(15,8))
plt.bar(x, regd, width = 0.3, label ='Rgistered')
plt.bar(x+0.3, appd, width = 0.3, label ='Appeared')
plt.bar(x+0.6, passed, width = 0.3, label ='Passed')
plt.xlabel('Region')
plt.ylabel('Number of Students')
plt.title('Number of Students Registered and Appeared')
plt.xticks(x+0.3, reg, rotation='vertical')
plt.legend()
plt.show()

elif choice == "5":


print("You selected -- Display a graph of the number of students\
registered and appeared from different types of schools")
reg = df['Region'].unique()
x = np.arange(len(reg))

options = {1: 'CTSA',2: 'GOVT',3: 'GOVT AIDED',4: 'INDEPENDENT',


5: 'JNV',6: 'KV',7: 'TOTAL'}
print('Select the column:')
print('1. CTSA \n2. GOVT \n3. GOVT Aided \n4. INDEPENDENT\n5. \
JNV \n6. KV \n7. TOTAL')
col = int(input("Enter the number corresponding to the column \
you want to display: "))

if col in range(1,8):
colm = options[col]

regd = df[df['Type'] == 'Regd'][colm]


appd = df[df['Type'] == 'Appd'][colm]
passed = df[df['Type'] == 'Pass'][colm]

plt.figure(figsize=(15,8))
plt.bar(x, regd, width = 0.3, label ='Rgistered')
plt.bar(x+0.3, appd, width = 0.3, label ='Appeared')
plt.bar(x+0.6, passed, width = 0.3, label ='Passed')
plt.xlabel('Region')
plt.ylabel('Number of Students')
plt.title('Number of Students Registered and Appeared')
plt.xticks(x+0.3, reg, rotation='vertical')
plt.legend()
plt.show()
else:
print("Invalid choice. Please enter a valid option")

elif choice == "6":


print("You selected -- Display the data of a region in form of a bar graph")
reg = df['Region'].unique()

for i in range(len(reg)):
print(i,reg[i])
print("Select the region")
code = int(input("Enter the code of the region: "))

if code in range(1,17):
regn = reg[code]

types = ["CTSA", "GOVT", "GOVT AIDED", "INDEPENDENT", "JNV", "KV",\


"TOTAL"]
x = np.arange(len(types))

regd = df[df['Type'] == 'Regd'][types]


appd = df[df['Type'] == 'Appd'][types]
passed = df[df['Type'] == 'Pass'][types]

regis = df[(df['Type'] == 'Regd') & (df['Region'] == regn)][types].values[0]


appear = df[(df['Type'] == 'Appd') & (df['Region'] == regn)][types].values[0]
passed1 = df[(df['Type'] == 'Pass') & (df['Region'] == regn)][types].values[0]

plt.figure(figsize=(15,8))
plt.bar(x,regis, width = 0.3, label = f'{regn} Registered')
plt.bar(x+0.3, appear, width = 0.3, label = f'{regn} Appeared')
plt.bar(x+0.6, passed1, width = 0.3, label = f'{regn} Passed')
plt.title(f'Number of students in {regn} by school type')
plt.xlabel("School type")
plt.ylabel("Number of school")
plt.xticks(x+0.3, types)
plt.legend()
plt.show()
else:
print("Invalid choice. Please enter a valid option")

elif choice == "7":


print("You Selected -- Display the number of registered/
appeared/passed students in form of a bar graph")
reg = df['Region'].unique()
x = np.arange(len(reg))

options = {1: 'Registered',2: 'Appeared',3: 'Passed'}


print('1. Registered \n2. Appeared \n3. Passed')
print("Slect the status")
code = int(input("Enter the number corresponding to the\
status you want to display: "))

if code in range(1,4):
status = options[code]
stat = df[df['Type'] == status]["TOTAL"]

plt.figure(figsize=(15,8))
pl elif choice == "0":

👋
print("\nExiting the program. \nThank you \nHave a nice day
\nGoodbye! ")
😊 \

print("==="*40)
break

else:
print("Invalid choice. Please enter a valid option.")

t.bar(x, regd, width = 0.3, label =f'{status}')


plt.xlabel('Region')
plt.ylabel('Number of Students')
plt.title(f'Number of Students {status}')
plt.xticks(x, reg, rotation='vertical')
plt.legend()
plt.show()
else:
print("Invalid choice. Please enter a valid option")
OUTPUT
➢ Welcome and Main Menu

1. Display the DataFrame


2. Display information about the DataFrame
3. Display information about the selected region
4.Display a graph of the total number of students
5. Display the data of different type of schools in form
of a bar graph
6. Display the data of a region in form of a bar graph
7. Display the number of registered/appeared/passed
students in form of a bar graph
8. Exit
CONCLUSION
In conclusion, the CBSE Result Statistics Class X -
2022 project provides a comprehensive exploration of
the CBSE Class X results dataset. Through interactive
visualizations and insightful statistics, users can gain
valuable insights into the performance of students
across diverse regions and school types.

This project not only serves as a tool for data analysis


but also as a user-friendly interface, enabling users to
explore and interpret the data. The visualizations
generated offer a clear understanding of the
registration, appearance, and success trends, cultivating
a deeper understanding of the educational landscape
represented in the CBSE Class X results for the year
2022.
BIBLIOGRAPHY
In order to work on this project titled- “CBSE
Results statistics 2022” the following books and
sites are referred by me during the various phases
of development of the project.

 Informatics Practices Book – Class XII by


Sumita Arora
 https://data.gov.in/ - dataset
 https://matplotlib.com/stable - references
 https://stackoverflow.com/ - troubleshooting
and problem solving

Thank
you

You might also like