0% found this document useful (0 votes)
2 views21 pages

Informatics Practices Project (1) Manan

The document outlines a project titled 'STUDENT RECORDS' developed by Manan Tyagi for class XII, focusing on student data analysis using Python libraries Pandas and Matplotlib. It includes a certificate of originality, acknowledgments, an index, and detailed coding sections for data management and visualization. The project provides functionalities for creating, analyzing, and visualizing student records through a user-friendly interface.

Uploaded by

programerayush
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views21 pages

Informatics Practices Project (1) Manan

The document outlines a project titled 'STUDENT RECORDS' developed by Manan Tyagi for class XII, focusing on student data analysis using Python libraries Pandas and Matplotlib. It includes a certificate of originality, acknowledgments, an index, and detailed coding sections for data management and visualization. The project provides functionalities for creating, analyzing, and visualizing student records through a user-friendly interface.

Uploaded by

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

Informatics practices

Project class XII

Project title:STUDENT RECORDS


Submitted to:Mrs.Neha choudhary
Concept used :Pandas and Matplotlib
Complier version:Python 3.7.0
Developed by:Manan Tyagi
Class:Xii G
BOARD ROLL NO. :14610415
CERTIFICATE

This is to certify that student record analysis infromatics


practices project is developed by Manan Tyagi under my
supervision in the computer lab
St.Andrews.Scots.Sr.Sec.School in the session 2022-
2023.The work done by them is original.

Ms.Neha Choudhary
Informatics Practices
Date:
ACKNOWLEDGEMENT
I would like to express my special thanks of gratitude to
my teacher Ms.Neha Choudhary who gave me the golden
opportunity to do this project. This also helped me to
know so many new things while doing the project I am
really thankful to you who gave me valuable suggestions
on this project made by which gave me inspiration to
improve my work.
INDEX
SNO DESCRIPTION PAGE.NO.
1 Introduction 1
2 Csv File data Format 2
3 Coding 2-8
4 Output screen 9-16
5 Bibliography 17
INTRODUCTION
Technlogy used:
Python 3.7.0
*Pandas
*Matplotlib
Pandas:Pandas is a software library written for the
Python programming language for data manipulation and
analysis. In particular, it offers data structures and
operations for manipulating numerical tables and time
series.
To import this library: import pandas as pd
MATPLOTLIB: Matplotlib is a plotting library for the
Python programming language its numerical
mathematics extension NumPy
To import this library: import matplotlib.pyplot as plt
Csv data
File name: stud.csv
File location : C:\Users\User\Downloads\
XIIInfo.Pract.176\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("4. 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 = []

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, 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 == 3:

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 == 4:

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 screen
BIBLIOGRAPHY
1.Informatics Practices By-Sumit Arora

2.Informatics Practices With Python By-Preeti Arora

3.Class Notes

You might also like