100% found this document useful (1 vote)
335 views

StudentMgmStystme ProjectFinal

The document describes a student management system project built using Python. It uses the Pandas library to work with student data stored in a CSV file, allowing users to add, analyze, and visualize the data. The analysis functions allow sorting, filtering, and finding minimum/maximum values in the data. Matplotlib is used to create line graphs and bar graphs visualizing subject marks and overall marks. The system has a menu-driven interface and allows exporting the data frame back to a CSV file. Limitations and hardware/software requirements are also outlined.

Uploaded by

ushavalsa
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
335 views

StudentMgmStystme ProjectFinal

The document describes a student management system project built using Python. It uses the Pandas library to work with student data stored in a CSV file, allowing users to add, analyze, and visualize the data. The analysis functions allow sorting, filtering, and finding minimum/maximum values in the data. Matplotlib is used to create line graphs and bar graphs visualizing subject marks and overall marks. The system has a menu-driven interface and allows exporting the data frame back to a CSV file. Limitations and hardware/software requirements are also outlined.

Uploaded by

ushavalsa
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 23

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

You might also like