CHINMAYA VIDYALAYA
PALLAVUR
PROJECT REPORT ON
STUDENT MANAGEMENT SYSTEM
AS PART OF INFORMATICS PRACTICES [065]
CLASS XII
Submitted by: Submitted to:
NIBHA P Mrs.K.Usha Baburaj
CERTIFICATE
This is to certify that the Informatics Practices Project work title
“STUDENT MANAGEMENT SYSTEM” is a bonafide work done
by _________________ of class XII of Chinmaya Vidyalaya
Pallavur under the guidance and supervision of Mrs K.Usha Baburaj
during the academic year 2022-23.
Signature of Signature of
INTERNAL EXAMINER EXTERNAL EXAMINER
Signature of Principal
ACKNOWLEDGEMENT
I would specially thank Mrs K .Usha Baburaj, our Computer
Science teacher for providing her valuable guidance,
suggestions and comments throughout the course of project.
I would also like to express my sincere gratitude to our
Principal Mr. Jayan Kambrath for providing an opportunity
to work of investigatory project on the topic “food
management system”
TABLE OF CONTENTS
1. About the project
2. Short description of the modules
3. Implementation
4. Output screenshots
5. Limitations
6. Requirements
7. Conclusion
8. Bibliography
About the Project
This project is based on maintaining student details. The main
process includes adding, updating, analysing and visualizing
the result analysis of students data
The project includes various functions of python pandas and
CSV libraries to perform various task as mentioned.
Short description of the modules
Pandas
Pandas is an open-source library that is made mainly for working with
relational or labeled data both easily and intuitively. It provides
various data structures and operations for manipulating numerical data
and time series. This library is built on top of the NumPy library.
Pandas is fast and it has high performance & productivity for users.
Advantages
Fast and efficient for manipulating and analysing data.
Data from different file objects can be loaded.
Easy handling of missing data (represented as NaN) in floating point as
well as non-floating-point data
Size mutability: columns can be inserted and deleted from DataFrame and
higher dimensional objects
CSV:
A CSV file (Comma Separated Values file) is a type of plain text file
that uses specific structuring to arrange tabular data. Because it's a
plain text file, it can contain only actual text data—in other words,
printable ASCII or Unicode characters. The structure of a CSV file is
given away by its name
MATPLOTLIB
Matplotlib is a comprehensive library for creating static, animated,
and interactive visualizations in Python. Matplotlib makes easy things
easy and hard things possible.
Create publication quality plots.
Make interactive figures that can zoom, pan, update.
Customize visual style and layout.
IMPLEMENTATION
stud.csv
Source Code
import pandas as pd
import matplotlib.pyplot as plt
def main_menu():
print("\n------- Student Management System -------\n")
print("1. Create/Import New Dataframe")
print("2. Student Data Analysis")
print("3. Student Data Visualisation")
print("4. Export Dataframe to csv file")
def create_dataframe_menu():
print("\n------- Create Dataframe -------\n")
print("1. Create Dataframe")
print("2. Import Dataframe from csv file")
print("3. Add/Modify Custom Index")
print("4. Add/Modify Custom Column Head")
print("5. Return to main menu")
def analysis_menu():
print("\n------- Data Analysis using Python -------\n")
print("1. Display All records")
print("2. Print first nth records")
print("3. Print last nth records")
print("4. Print All records in order of Name")
print("5. Display student with maximum marks")
print("6. Display student with minimum marks")
print("7. Display students who have secured passing marks")
print("8. Print distinct classes")
print("9. Add a row to Dataframe")
print("10. Delete a row from Dataframe")
print("11. Return to main menu")
def visualisation_menu():
print("\n------- Visualisation using Matplotlib -------\n")
print("1. Plot Line graph (Subject wise marks)")
print("2. Plot Bar graph (Students, Marks)")
#print("3. Plot Horizontal Bar graph (Student, Class)")
print("3. Return to main menu")
cols = ['admn','name','dob','class','maths','english','science','marks']
df = pd.DataFrame([],columns = cols) # Create an EmptyDataFrame
while True:
main_menu()
ch = int(input("Select Option: "))
if ch == 1:
# Create New Dataframe
create_dataframe_menu()
ch = int(input("Select Option: "))
if ch == 1:
data = []#list
while True:
ch = input("Add Row [y/n]")
if ch.lower() == 'y':
admn = int(input("Admission Number: "))
name = input("Student Name: ")
dob = input("DOB in dd-mm-yyyy format: ")
std = int(input("Class: "))
maths = float(input("Maths: "))
english = float(input("English: "))
science = float(input("Science: "))
marks = maths+english+science
data.append([admn, name, dob, std,maths,english,science, marks])
else:
break
df = pd.DataFrame(data, columns = cols)
elif ch == 2:
file = input("File name: ")
df = pd.read_csv(file)
elif ch == 3:
index_list = input("Index List: ").split(",")
df.index = index_list
elif ch == 4:
column_list= input("Column List: ").split(",")
df.columns = column_list
print(df)
elif ch == 2:
while True:
# Student Data Analysis
analysis_menu()
ch = int(input("Select Option: "))
if ch == 1:
print(df)
elif ch == 2:
nth = int(input("Enter no of rows to display: "))
print(df.head(nth))
elif ch == 3:
nth = int(input("Enter number of rows to display: "))
print(df.tail(nth))
elif ch == 4:
print(df.sort_values(by='name'))
elif ch == 5:
print(df[df['marks'] == df['marks'].max()])
elif ch == 6:
print(df[df.marks == df["marks"].min()])
elif ch == 7:
print(df[df['marks']*100/240 >= 33])
elif ch == 8:
print(df['class'].unique())
elif ch == 9:
while True:
ch = input("Add Row [y/n]")
if ch.lower() == 'y':
admn = int(input("Admission Number: "))
name = input("Student Name: ")
dob = input("DOB in dd-mm-yyyy format: ")
std = int(input("Class: "))
maths = float(input("Maths: "))
english = float(input("English: "))
science = float(input("Science: "))
marks = maths+english+science
df = df.append({"admn": admn, "name":name,
"dob": dob, "class": std, "maths": maths,
"english": english, "science": science,
"marks": marks}, ignore_index=True)
else:
break
elif ch == 10:
print("1. Delete Row by Index")
print("2. Delete Row by Admn No.")
ch = int(input("Select Option: "))
if ch == 1:
idx = int(input("Index to delete: "))
df = df.drop(index = idx)
elif ch == 2:
admn = int(input("Admn no to delete: "))
df = df.drop(df[df["admn"] == admn].index)
else:
print("Wrong Option Selected! ")
else:
print("Returning to main menu")
break
elif ch == 3:
while True:
# Student Data Visualisation
visualisation_menu()
ch = int(input("Select Option: "))
if ch == 1:
plt.plot(df['name'], df['maths'], label='Maths', color = "blue", marker="*")
plt.plot(df['name'], df['english'], label='English', color = "green", marker="*")
plt.plot(df['name'], df['science'], label='Science', color = "purple", marker="*")
plt.xlabel("Student", fontsize=12)
plt.ylabel("Marks", fontsize=12)
plt.title("Subject Wise Marks of Students", fontsize=16)
plt.legend()
plt.show()
elif ch == 2:
x_values = df["name"]
y_values = df['marks']
plt.bar(x_values, y_values, color = 'orange')
plt.xlabel("Students", fontsize=12)
plt.ylabel("Marks", fontsize=12)
plt.title("Students - Marks Visualisation", fontsize=14)
plt.show()
elif ch == 4:
x_values = df["name"]
y_values = df["class"]
plt.barh(x_values, y_values, color = 'magenta')
plt.xlabel("Students", fontsize=12)
plt.ylabel("Class", fontsize=12)
plt.title("Students - Class Visualisation", fontsize=16)
plt.show()
elif ch == 3:
print("Returning to main menu")
break
else:
print("Wrong Option Selected! ")
elif ch == 4:
# Export Dataframe to csv file
file = input("File name: ")
df.to_csv(file, index = False)
elif ch == 5:
# Exit
print("Bye ...")
exit()
else:
# Error Display and Exit
print("Error! Wrong option selected. ")
break
OUTPUT SCREENTS
LIMITATIONS
Graphical interfacing can be added
Exporting csv files to remote servers
HARDWARE AND SOFTWARE REQUIREMENTS
I.OPERATING SYSTEM : WINDOWS 7 AND ABOVE
II. PROCESSOR : PENTIUM(ANY) OR AMD
ATHALON(3800+- 4200+ DUAL CORE)
III. MOTHERBOARD : 1.845 OR 915,995 FOR PENTIUM 0R MSI
K9MM-V VIA K8M800+8237R PLUS
CHIPSET FOR AMD ATHALON
IV. RAM : 512MB+
V. Hard disk : SATA 40 GB OR ABOVE
VI. CD/DVD r/w multi drive combo: (If back up required)
VII. FLOPPY DRIVE 1.44 MB : (If Backup required)
VIII. MONITOR 14.1 or 15 -17 inch
IX. Key board and mouse
X. Printer : (if print is required – [Hard copy])
SOFTWARE REQUIREMENTS:
Windows OS
Python 3.7 and above
MS-Word
CONCLISION
This Project is made in order to replace the manual work, i.e.
like writing down customer details etc. This also helps the people
using this to save space and save money. This is very cost- effective
way to run a business. Overall improves efficiency.
BIBILOGRAPHY
Class 12 Sumitha Aroara Informatics Practices Text
book
www.python4csip.com
http://python.mykvs.in