Result Analysis Report
Result Analysis Report
2023-24
INFORMATICS PRACTICES
PROJECT REPORT ON
Submitted By:
Name:
Class: Div.
Register Number:
Date of Examination:
Center of Examination:
CERTIFICATE
This is to certify that,
………………………….…………
of ……………………. has satisfactorily completed the
Project work of Informatics Practices prescribed by the Central Board
of Secondary Education (C.B.S.E.) course for the year 2023-
24.
Teacher-in-charge
External Examiner:
Signature:
PROJECT DESCRIPTION
MODULES USED
SOFTWARE SPECIFICATION
CODING
BIBLIOGRAPHY
PROJECT DESCRIPTION
Result Analysis System is a Python based project. The project consists of a simple file-based
student management system that maintains the records in the files. The CSV file is used to
store the record as a comma-separated value. Aim of the project is to design a project to
analyze the data set of Secondary School Result and calculate Total Marks, Percentage of
marks, Average marks, Subject wise pass or fail, to view a certain number of records fromtop
or bottom, result of school for a particular session, working on records menu, to insert a new
record, to delete a record, insert and delete new columns, search for the details of a specific
subject and so on. The Student Result Analysis helps the teacher to analyse the result and
generates its report by just one clicks and it also allows the students to see their
academicperformance. It also solves the data management problem as all the data is
centralized and if any change is made in data then everyone who is using this application can
see it.
The project has been developed using Python version 3.7 which includes Pandas matplotlib
and csv file. Thus, the entire project is based on importing and exporting data between
Python Pandas (Data Frame) and csv file, then visualize in the form of graphs using different
RAM:4 GB or higher
Languages:
storing some important and necessary information by the user. Usually, the data
inputted by the user along with the generated output are displayed but are not stored,
since all the program execution takes place inside the RAM, which is a temporary
memory, and as soon as we close the form, its contents (form input and generated
output) get erased. They can’t be retrieved since they are not getting saved on a hard
disk (or any secondary storage device). Thus, when the application is executed for the
second time, it requires a new set of inputs from the user. This limitation can be
overcome by sending the output generated and saving the input fetched from the user in
a database created at the back-end of the application. The input is fetched from the user
using Python Interface. This is termed as the Front End Interface of the application.
secondary storage device, which is usually the hard disk, so that the data can be
A comma-separated values file is a delimited text file that uses a comma to separate values.
Each line of the file is a data record. Each record consists of one or more fields, separated
by commas. The use of the comma as a field separator is the source of the name for this file
format.
CODING
import pandas as pd
import matplotlib.pyplot as plt
while(True):
print("Main Menu")
print("1. Fetch data")
print("2. DataFrame Statistics")
print("3. Display Records")
print("4. Working on Records")
print("5. Working on Columns")
print("6. Search specific row/column")
print("7. Data Analytics")
print("8. Data Visualization")
print("9. Exit")
ch=int(input("Enter your choice"))
if ch==1:
result=pd.read_csv("/content/result.csv")
print(result)
elif ch==2:
global human
while (True):
print("DataFrame Statistics Menu")
print("1. Display the Transpose")
print("2. Display all column names")
print("3. Display the indexes")
print("4. Display the shape")
print("5. Display the dimension")
print("6. Display the data types of all columns")
print("7. Display the size")
print("8. Exit")
ch2=int (input("Enter
choice")) if ch2==1:
print(result.T)
elif ch2==2:
print(result.columns)
elif ch2==3:
print(result.index)
elif ch2==4:
print(result.shape)
elif ch2==5:
print(result.ndim)
elif ch2==6:
print(result.dtypes)
elif ch2==7:
print(result.size)
elif ch2==8:
break
elif ch==3:
while(True):
print("Display Records Menu")
print("1. Top 5 Records")
print("2. Bottom 5 Records")
print("3. Specific number of records from the top")
print("4. Specific number of records from the bottom")
print("5. Details of a specific Subject")
print("6. Display details of all subjects")
print("7. Exit")
ch3=int(input("Enter choice"))
if ch3==1:
print(result.head())
elif ch3==2:
print(result.tail())
elif ch3==3:
n=int(input("Enter how many records you want to display from the
top"))
print(result.head(n))
elif ch3==4:
n=int(input("Enter how many records you want to display from the
bottom"))
print(result.tail(n))
elif ch3==5:
st=input("Enter the subject name for which you want to see the
details")
print(result.loc[st])
elif ch3==6:
print("Results of XYZ school for the session 2018-19")
print(result)
elif ch3==7:
break
elif ch==4:
while(True):
print("Working on Records Menu")
print("1. Insert a specific subject
Detail") print("2. Delete a specific
subject Detail") print("3. Update a
specific subject detail") print("4. Exit")
ch4=int(input("Enter
choice")) if ch4==1:
a=input("Enter subject name")
b=int(input("Enter number of students
appeared:")) c=int(input("Enter highest marks
obtained:")) d=int(input("Enter average marks
obtained")) e=int(input("Enter number of A1's"))
f=int(input("Enter number of A2's"))
g=int(input("Enter percentage of A1 and A2's"))
h=int(input("Enter number of B1's"))
i=int(input("Enter number of B2's"))
j=int(input("Enter number of C1's"))
k=int(input("Enter number of C2's"))
l=int(input("Enter number of D's"))
m=int(input("Enter number of E's"))
human.loc[a]=[b,c,d,e,f,g,h,i,j,k,l,m]
print("Data successfully inserted")
elif ch4==2:
a=input("Enter subject name whose data needs to be deleted”)
human.drop([a],inplace=True)
print("Data successfully deleted")
elif ch4==3:
a=input("Enter subject name whose data needs to be updated")
b=int(input("Enter number of students appeared:"))
c=int(input("Enter highest marks obtained:"))
d=int(input("Enter average marks obtained"))
e=int(input("Enter number of A1's"))
f=int(input("Enter number of A2's"))
g=int(input("Enter percentage of A1 and A2's"))
h=int(input("Enter number of B1's"))
i=int(input("Enter number of B2's"))
j=int(input("Enter number of C1's"))
k=int(input("Enter number of C2's"))
l=int(input("Enter number of D's"))
m=int(input("Enter number of E's"))
human.loc[a]=[b,c,d,e,f,g,h,i,j,k,l,m]
print("Data successfully updated")
elif ch4==4:
break
elif ch==5:
while(True):
print("Working on Columns Menu")
print("1. Insert a new column
data") print("2. Delete a specific
column") print("3. Exit")
ch5=int(input("Enter choice"))
if ch5==1:
print("Enter details")
h=input("Enter column/heading
name")
det=eval(input("Enter details corresponding to all subject:
(enclosed in [ ])"))
result[h]=pd.Series(data=det,index=result.index)
print("Column inserted")
elif ch5==2:
a=input("Enter column name which needs to be deleted")
human.drop([a],axis=1,inplace=False)
print("Column Temporary deleted")
elif ch5==3:
break
elif ch==6:
while(True):
print("Search Menu")
print("1. Search for the details of a specific subject")
print("2. Search details of a specific as per a specific column heading")
print("3. Exit")
ch6=int(input("Enter choice"))
if ch6==1:
st=input("Enter the name of the subject whose details you want to see")
print(result.loc[st])
elif ch6==2:
col=input("Enter column/heading name whose details you want to see")
print(result[col])
elif ch6==3:
break
elif ch==7:
while(True):
print("Data Analytics Menu")
print("1. Subject with maximum average
marks") print("2. Subject with minimum
average marks") print("3. Subject with
maximum highest marks") print("4. Subject
with minimum highest marks")
print("5. Subject with maximum percentage of A1 and
A2") print("6. Subject with minimum percentage of A1
and A2") print("7. Exit")
chana=int(input("Enter
choice:")) if chana==1:
m=result['Average'].max()
s=result.loc[result.Average==m]
print("Subject with maximum average marks of ",m," is\n ",s.index)
elif chana==2:
m=result['Average'].min()
s=result.loc[result.Average==m]
print("Subject with minimum average marks of ",m," is\n ",s.index)
elif chana==3:
m=result['Highest'].max()
s=result.loc[result.Highest==m]
print("Subject with maximum highest marks of ",m," is\n ",s.index)
elif chana==4:
m=result['Highest'].min()
s=result.loc[result.Highest==m]
print("Subject with minimum highest marks of ",m," is\n ",s.index)
elif chana==5:
m=result['Per'].max()
s=result.loc[result.Per==m]
print("Subject with maximum percentage of A1 and A2",s.index,"\n
Percentag being",m)
elif chana==6:
m=result['Per'].min()
s=result.loc[result.Per==m]
print("Subject with minimum percentage of A1 and A2",s.index,"\n
Percentage being",m)
elif chana==7:
break
elif ch==8:
while(True):
print("Data Visualization Menu")
print("1. Line plot")
print("2. Bar chart")
print("3. Histogram plot")
print("4. Exit")
ch8=int(input("Enter
Choice:")) if ch8==1:
plt.plot(result['Average'],result.index,color='r')
plt.plot(result['Per'],result.index,color='b')
plt.show()
elif ch8==2:
plt.bar(result['Average'],result.index,width=0.8,color='orange')
plt.show()
elif ch8==3:
plt.hist(result['Average'],color='green')
plt.show()
elif ch8==4:
break
elif ch==9:
break
print("Thank You")
CSV File
OUTPUT SCREENSHOTS
CONCLUSION
All the requirements and goals are achieved in the project which makes it simple and user-
friendly web application for student result analysis and to generate the performance report
of the student in the form of excel sheet. It will help in increase the productivity of teacher
and the school staff as they don’t have to waste their time on analysis of result and in
generating the performance report of the student it also helps the teacher and school staff in
maintaining the student data as this web application use the centralized relational database
and we can access the data from the database from the remote location through the web
application only required is the user id and password to get access to the data.
BIBLIOGRAPHY
https://en.wikipedia.org/wiki/Student_information_system
https://www.academia.edu/10238441/STUDENT_RESULT_ANALYSIS_REPORT