[go: up one dir, main page]

0% found this document useful (0 votes)
30 views20 pages

Informatics Practices Project Work

The document outlines a project on student performance analysis conducted by Saksham Goel and Nishil M Jain as part of their Informatics Practices coursework. It includes a certification of the project, acknowledgments, an introduction to the analysis, and a Python program for data manipulation and visualization. The conclusion emphasizes the skills gained in Python and data handling, preparing the authors for future projects.

Uploaded by

Saksham Goel
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)
30 views20 pages

Informatics Practices Project Work

The document outlines a project on student performance analysis conducted by Saksham Goel and Nishil M Jain as part of their Informatics Practices coursework. It includes a certification of the project, acknowledgments, an introduction to the analysis, and a Python program for data manipulation and visualization. The conclusion emphasizes the skills gained in Python and data handling, preparing the authors for future projects.

Uploaded by

Saksham Goel
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/ 20

Informatics

practices

PROJECT ON STUDENT’S PERFORMANCE


ANALYSIS

Made by: -
1.Saksham
Goel
2.Nishil M Jain
Class: - XII-I
CERTIFICATE

This is to certify that the Project entitled, Student’s

performance Analysis is a Bonafide work done by

Saksham Goel of class XII-I Session 2024-25 in

partial fulfilment of CBSE’s AISSCE Examination 2025

and has been carried out under my supervision and

guidance.

…………………………
…………………………….
Signature of Teacher Guide Signature of
External Examiner
……….……………..
Signature of Principal

ACKNOWLEDGEMENT
S
I would like to express my deepest gratitude
to my project guide and Informatics Practices
teacher, Ms. Pooja Thakur Ma’am for
guiding me immensely throughout the
project. Her constructive advice and constant
motivation have been responsible for the
successful completion of this project.

My sincere thanks go to Ms. Meenu Kanwar


Ma’am, our principal, for her coordination in
extending every possible support for the
completion of this project.
I also thank my parents for their motivation
and support. I must thank my classmates for
their timely help and support for completion
of this project.
Introduction
Analysis of student performance:
The trends in student performance analysis
and prediction reflect a shift towards more
data-driven, personalized, and ethical
approaches in education. By harnessing
technology and analytics, educational
institutions can better support student
success and adapt to the evolving landscape
of learning. Continuous innovation and
attention to ethical considerations will be
crucial as these trends develop further.
Syntax
import matplotlib.pyplot as plt

import pandas as pd

# Load the data


df = pd.read_csv("C:\\Users\\Saksham Goel\\OneDrive\\Desktop\\Saksham
Goel XII-I IP PROJECT\\StudentPerformanceFactors(New and final).csv")

def main_menu():
print('Python program for analysis of student data.')
print('----------------------------------------------------------')
print('1. Print data')
print('2. Dataframe functions')
print('3. Analyse data')
print('4. Data visualisation')
print('5. Modify data')
print('6. Exit')

while True:
main_menu()
choice = int(input('Enter choice: '))

if choice == 1:
print(df)

elif choice == 2:
print('1. Print column names\n2. Print indexes\n3. Print shape\n4.
Print size\n5. Print transpose' )
sub_choice = int(input('Enter choice: '))
if sub_choice == 1:
print(df.columns)
elif sub_choice == 2:
print(df.index)
elif sub_choice == 3:
print(df.shape)
elif sub_choice == 4:
print(df.size)
elif sub_choice == 5:
print(df.T)

elif choice == 3:
print('1. Print datatypes\n2. Print top/bottom rows\n3. Sort data\n4.
Search student')
sub_choice = int(input('Enter choice: '))
if sub_choice == 1:
print(df.dtypes)
elif sub_choice == 2:
num = int(input('Enter number of rows: '))
part = input('Top or bottom (t/b): ')
if part == 't':
print(df.head(num))
else:
print(df.tail(num))
elif sub_choice == 3:
col = input('Enter column to sort by: ')
order = input('Ascending or descending (asc/desc): ')
print(df.sort_values(by=[col], ascending=(order == 'asc')))
elif sub_choice == 4:
name = input('Enter student name: ')
print(df.loc[df['Name'] == name])

elif choice == 4:
print('1. Plot chart between columns\n2. Plot grouped chart')
sub_choice = int(input('Enter choice: '))
if sub_choice == 1:
chart_type = input('Enter chart type (bar, barh, line): ')
col1 = input('Enter first column: ')
col2 = input('Enter second column: ')
if col1 not in df.columns or col2 not in df.columns:
print("One or both columns do not exist in the dataset.")
continue

limit = int(input('Enter the number of records to display (e.g., 10): '))


data_to_plot = df.nlargest(limit, col2)

plt.figure(figsize=(10, 6))
if chart_type == 'bar':
data_to_plot.plot(kind='bar', x=col1, y=col2, legend=False,
color='skyblue', width=0.6)
elif chart_type == 'barh':
data_to_plot.plot(kind='barh', x=col1, y=col2, legend=False,
color='lightgreen', width=0.6)
elif chart_type == 'line':
data_to_plot.plot(kind='line', x=col1, y=col2, legend=False,
marker='o')

plt.title(f'{chart_type.capitalize()} Chart for {col1} vs {col2}')


plt.xlabel(col1)
plt.ylabel(col2)
plt.xticks(rotation=45)
plt.tight_layout()
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.show()
elif sub_choice == 2:
col = input('Enter column for grouping: ')
if col not in df.columns:
print(f"Column '{col}' does not exist in the dataset.")
continue

limit = int(input('Enter the number of groups to display (e.g., 10): '))


grouped_data = df.groupby(col).size().nlargest(limit)

plt.figure(figsize=(10, 6))
grouped_data.plot(kind='bar', color='coral', width=0.6)
plt.title(f'Grouped Bar Chart for {col}')
plt.ylabel('Count')
plt.xticks(rotation=45)
plt.tight_layout()
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.show()

elif choice == 5:
print('1. Modify student score\n2. Modify student info')
sub_choice = int(input('Enter choice: '))
name = input('Enter student name: ')
col = input('Enter column to modify: ')
new_value = input('Enter new value: ')
df.loc[df['Name'] == name, col] = new_value
print('Data updated.')

elif choice == 6:
print('Exiting program...')
break
Output
1. Printing Data:

2. DataFrame functions:
a) Printing column names

b) Printing index of dataframe

c)(i) Printing shape of dataframe


C(ii) Printing size of dataframe

C(iii) Printing Transpose of dataframe


3. Analyze Data
a) Print Datatypes
b) Print Top/Bottom rows
c)Print data in ascending/descending order

d) Print data to search student


4.Data visualization
a) Plotting chart between two
columns
b) Plotting grouped chart
bibliography
 Informatics Practices NCERT

 Informatics Practices by Sumita Arora

 Matplotlib.org

 geeksforgeeks.com
 stackoverflow.com

Conclusion
This project helped me to improve my skills in
python and various libraries. We have a better
understanding of dataframes and graphs.

This project provided me with great experience


of creating further projects and apps on our own
which will help me a lot in future.

We are confident in our ability to create useful


programs without any problem.

You might also like