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

CS Project

The project titled 'Rainfall in India' aims to analyze and visualize rainfall data across different states and years for the CBSE 2026 examination. It utilizes Python and its libraries, including Pandas and Matplotlib, to store, process, and represent rainfall data through various graphs and reports. The project emphasizes reducing manual work and enhancing data accessibility and analysis.

Uploaded by

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

CS Project

The project titled 'Rainfall in India' aims to analyze and visualize rainfall data across different states and years for the CBSE 2026 examination. It utilizes Python and its libraries, including Pandas and Matplotlib, to store, process, and represent rainfall data through various graphs and reports. The project emphasizes reducing manual work and enhancing data accessibility and analysis.

Uploaded by

emailrajibachu
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

VELAMMAL VIDHYASHRAM, SURAPET

CHENNAI - 600066

PROJECT SYNOPSIS
ON

RAIN FALL IN INDIA


FOR CBSE 2026 EXAMINATION
[AS A PART OF THE COMPUTER SCIENCE COURSE (083)]

SUBMITTED BY
NAME : SANJAI S

1
ACKNOWLEDGEMENT

I Sanjai S undertook this Project work, as the part of my XII-Computer Science


course (083). I had tried to apply my best of knowledge and experience, gained during the
study and class work experience. However, developing software system is generally a quite
complex and time-consuming process. It requires a systematic study, insight vision and
professional approach during the design and development. Moreover, the developer always
feels the need, the help and good wishes of the people near you, who have considerable
experience and idea.

I would like to extend my sincere thanks and gratitude to my teacher Ms. Anitha K ,
for giving valuable time and moral support to develop this software.

I also feel indebted to my friends for the valuable suggestions during the project
work.

SANJAI S
Class XII

2
CERTIFICATE
This is to certify that the Project / Dissertation entitled is a

bonafide work done by SANJAI S of class XII Session 2025-26 in

partial fulfillment of CBSE’s AISSCE Examination 2025 and has been

carried out under my direct supervision and guidance. This report or a

similar report on the topic has not been submitted for any other

examination and does not form a part of any other course undergone by

the candidate.

Signature of Student Signature of Teacher / Guide

Name : Sanjai S Name : [Link] K (PGT-CS)

Signature of Internal Signature of Principal

3
TABLE OF CONTENT
• AIM

• INTRODUCTION

• THEORITICAL BACKGROUND

• HARDWARE AND SOFTWARE

• BLOCK DIAGRAM

• LIST OF REPORTS

• CODING AND OUTPUT OF PROJECT

• ADVANTAGES

• LIMITATION

• CONCLUSION

• BIBLOGRAPHY

4
AIM
THE MAIN AIM OF MY PROJECT IS TO CREATE ANALYSIS ON RAINFALL

IN DIFFERENT STATE AND SHOWING COMPARISON BETWEEN

RAINFALL IN DIFFERENT [Link] DATA VISUALIZATION

RAINFALL COMPARISON.

INTRODUCTION

THIS PROJECT HAS BEEN MADE FOR STORING YEAR TO YEAR DATA OF

RAINFALL WITH SUB DIVISION NAME ,AMOUNT OF RAINFALL IN EVERY

MONTH .IT CONTAIN DIFFERENT TYPES OF GRAPHS ,REPORTS

,MAXIMUM AND MINIMUM AMOUNT OF RAINFALL .

5
THEORITICAL BACKGROUND

❖WHAT IS PYTHON?
Python is an interpreted, object-oriented, high-level programming language with
dynamic semantics. Its high-level built in data structures, combined with
dynamic typing and dynamic binding; make it very attractive for Rapid
Application Development, as well as for use as a scripting or glue language to
connect existing components together. Python's simple, easy to learn syntax
emphasizes readability and therefore reduces the cost of program maintenance.
Python supports modules and packages, which encourages program modularity
and code reuse. The Python interpreter and the extensive standard library are
available in source or binary form without charge for all major platforms, and
can be freely distributed.
Often, programmers fall in love with Python because of the increased
productivity it provides. Debugging Python programs is easy: a bug or bad input
will never cause a segmentation fault. Instead, when the interpreter discovers an
error, it raises an exception. A source level debugger allows inspection of local
and global variables, evaluation of arbitrary expressions, setting breakpoints,
stepping through the code a line at a time, and so on. The debugger is written in
Python itself, testifying to Python's introspective power. On the other hand,
often the quickest way to debug a program is to add a few print statements to the
source: the fast edit-test-debug cycle makes this simple approach very effective.

6
What is Pandas?
Pandas is Python’s library for data analysis. Pandas has derived its name from
“Panel Data System” and its has become very popular choice for data analysis.
Data Analysis refers to process of evaluating big data sets using analytical and
statistical tools so as to discover useful information and conclusions to support
business decision making.
While working with Pandas, it is required to import Pandas and numpy both by
writing:
import pandas as pd
importnumpy as np
Pandas is best at handling huge tabular data sets comprising different data
formats.
Pandas provide two data structures for storing data:
a) Series

b) Dataframe

Data visualization

Data visualization “A picture is worth a thousand words”. Most of us are


familiar with thisexpression. Data visualization plays an essential role in the
representation of both small andlarge-scale data. It especially applies when
trying to explain the analysis of increasingly large

7
datasets. Data visualization is the discipline of trying to expose the data to
understand it byplacing it in a visual context. Its main goal is to distill large
datasets into visual graphics toallow for easy understanding of complex
relationships within the data. Several datavisualization libraries are available in
Python, namely Matplotlib, Seaborn, and Folium etc

Purpose of Data visualization

• Better analysis

• Quick action

• Identifying patterns

• Finding errors

• Understanding the story

• Exploring business insights

• Grasping the Latest Trends

What is [Link]

Matplotlib is the whole python package/ library used to create 2D graphs and
plots by usingpython scripts. pyplot is a module in matplotlib, which supports a
very wide variety of graphsand plots namely - histogram, bar charts, power
spectra, error charts etc. It is used along withNumPy to provide an environment
for MatLab. Pyplot provides the state-machine interfaceto the plotting library in
[Link] means that figures and axes are implicitly andautomatically created
8
to achieve the desired [Link] example, calling plot from pyplot
willautomatically create the necessary figure and axes to achieve the desired
plot. Setting a titlewill then automatically set that title to the current axes
[Link] interface isgenerally preferred for non-interactive plotting (i.e.,
scripting).

Various charts types :

CSV FILE:

9
HARDWARE AND SOFTWARE
REQUIREMENT

HARDWARE SYSTEM:
OS- Windows 7 Professional 32-Bit (6.1, Build 7601)
Language: English
System Manufacture-Gigabyte Technology Co., Ltd
BIOS:-BIOS Date: 08/03/13 09:45:07
Ver: 04.06.05
Processor:- Intel (R) Core ™ i3-3220CPU
@3.30 GHz (4CPUs), ~3.3GHz
Memory: 2048 MB RAM
DirectX Version: Direct XII 22

DISPLAY DEVICE:
Name:-Intel(R) HD Graphics
Manufacturer: - Gigabyte Technology Co., Ltd
Chip Type: - Intel(R) HD Graphics Family
DAC Type:-Internal
Approx. Total Memory:-775 MB
Current Display mode: - 1336 X 768
(32 Bit)(60Hz)
Monitor:- Generic PnP Monitor 23

DRIVER:
Main Driver: - igdumdim [Link],igdloiumd [Link],igd lo
Version:-10.18.10.3345
Date:-10/28/13
WHQL logo’s:- Yes
DDI Version: II
Driver Model:-WDDM 1.1 24

10
SOFTWARE REQUIREMENT:
• Windows 2000/XP OS is desirable.
• Python IDLE Ver 3.7.2 or higher should be installed.
• MySQL 8.0 should be installed.
• PANDAS Library with [Link] be present at machine.

LIST OF REPORTS
REPORTS ON COMPLETE DATA
COLUMN WISE REPORT ROW WISE REPORT
>Count>Subdivision
>Mean>Year
>Maximum>Annual
>Minimum>Jan
>Percentage>Feb

11
DATA VISUALISATION

ONE SUBPLOT ON MULTIPLE DATA


GRAPHS ON COMPLETE DATA
>Annual Rainfall
>Monthly Rainfall

5 GRAPHS ON SPECIFIC DATA


>Kerala
>Punjab
>Lakshadweep
>Orissa
>Bihar

12
CODING & OUTPUT
[Link] as plt
import pandas as pd
importnumpy as np
df=pd.read_csv("rainfall in india [Link]")
print(df)

13
14
15
BASIC INFORMATION FROM THE DATAFRAME
print([Link]())

16
print ([Link])

print(df['SUBDIVISION'].unique())

print ([Link])

17
print ([Link])

COLUMNWISE REPORT NO 1:COMPLETE DATAFRAME RAINFALL STATISTICS


print("Annual Rainfall Statistics for India 2000-2002")
print("----------------------")
df=df.sort_values(['ANNUAL'],ascending=False)
print("Total Rainfall :",df[['ANNUAL']].sum())
print("----------------------------")'''

18
print("max Rainfall in a region :",df[['ANNUAL']].max())
print(df[['SUBDIVISION','YEAR','ANNUAL','JAN-FEB','MAR-MAY','JUN-
SEP','OCT-DEC']])

print("-----------------------------")
print("Min rainfall in a region:",df[['ANNUAL']].min())
print(df[['SUBDIVISION','YEAR','ANNUAL','JAN-FEB','MAR-MAY','JUN-
SEP','OCT-DEC']])

19
print("")
print("average or mean rainfall:",df[['ANNUAL']].mean())
print()
print(df[['SUBDIVISION','YEAR','ANNUAL','JAN-FEB','MAR-MAY','JUN-
SEP','OCT-DEC']])
print("")

20
print(df['SUBDIVISION'].unique())

COLUMN WISE REPORT NO 2: ON BASIS OF BIHAR


subdivision=input("enter SUBDIVISION:")
dfsubdivision=df[df['SUBDIVISION']==subdivision]
[Link]()

dfp=dfsubdivision.sort_values(['ANNUAL'],ascending=True)
21
print(dfp[['SUBDIVISION','ANNUAL']])
print("")
print("annual record in %s %subdivision)
print("")
print("total subdivision in %s whose annual :"%subdivision,
dfsubdivision['ANNUAL'].SUM")

print("")
print(" district with maximum population whose annual:")
print(dfp[['SUBDIVISION','ANNUAL']].tail(1))
print("")
print("minimum rainfall":)
print(dfp[['SUBDIVISION','ANNUAL']].head(1))
print("")
print("average of annual :", dfsubdivision['ANNUAL'].mean()
HARYANA DELHI & CHANDIGHAR
dfS=dfsubdivision.sort_values(['ANNUAL'],ascending=True)
print(dfS[['SUBDIVISION',ANNUAL]])

22
print("")
print("ANNUAL record in %s"%subdivision)
print("")
print("total rainfall in %s
annual:"%subdivision,dfsubdivision['ANNUAL'].SUM())
print("")
print("maximum rainfall:")
print(dfa[['SUBDIVISION','ANNUAL']].tail(1))
print("")
print("minimum rainfall:")
print(dfa[['SUBDIVISION','ANNUAL']].head(1))
print("")
print("Average of rainfall:",dfsubdivision['ANNUAL'].mean())
print("Annual Rainfall Statistic for India")
print("")
yr=int(input("Enter the year:"))
dfy=df[df['YEAR']==yr]
print("")
dfy.sort_values(['ANNUAL'],ascending=False)
print("Total rainfall:",dfy[['ANNUAL']].sum())
print("MAX rainfall in a region:",dfy[['ANNUAL']].max())
print("MIN rainfall in a region:",dfy[['ANNUAL']].min())
print("Average or mean rainfall:",dfy[['ANNUAL']].mean())
23
print(" Annual Rainfall Statistics for India")
print("")
print(df['SUBDIVISION'].unique())
sd=input("enter the subdivision:")
dfs=df[df['SUBDIVISION']==sd]
print("")
dfs.sort_values(['ANNUAL'],ascending= False)
print("Total rainfall:",dfy[['ANNUAL']].sum())
print("MAX rainfall in a region:",dfy[['ANNUAL']].max())
print("MIN rainfall in a region:",dfy[['ANNUAL']].min())
print("Average or mean rainfall:",dfy[['ANNUAL']].mean())
print(" Annual Rainfall Statistics for India")
print("")
mon=input("enter the MONTH B/W June-Sep:")
dfm=df[['SUBDIVISION','YEAR',mon]]
print("")
dfm.sort_values([mon],ascending= False)
print("Total rainfall in the month of %s:"%mon,dfm[[mon]].sum())
print("MAX rainfall in a region:",dfm[[mon]].max())
print("MIN rainfall in a region:",dfm[[mon]].min())
print("Average or mean rainfall:",dfm[[mon]].mean())
print(" Annual Rainfall Statistics for India")

24
print("")

mon=input("enter the MONTH B/W Oct-Dec:")


dfm=df[['SUBDIVISION','YEAR',mon]]
print("")
dfm.sort_values([mon],ascending= False)
print("Total rainfall in the month of %s:"%mon,dfm[[mon]].sum())
print("MAX rainfall in a region:",dfm[[mon]].max())
print("MIN rainfall in a region:",dfm[[mon]].min())
print("Average or mean rainfall:",dfm[[mon]].mean())

25
dfpunjab=df[df['SUBDIVISION']=='PUNJAB']
[Link](15)
dfpunjab[['YEAR','ANNUAL']].plot(kind='bar',x='YEAR')
a=int(input("enter the year(2000-2002):"))
dfy=dfpunjab[dfpunjab['YEAR']==a]

dfy
26
[Link][0,3:14].plot(kind='bar')
[Link]("MONTHLY RAINFALL/n %d"%(a))
dfy1=dfpunjab[dfpunjab['YEAR']==2000]
dfy2=dfpunjab[dfpunjab['YEAR']==2001]
dfy3=dfpunjab[dfpunjab['YEAR']==2002]
X=['JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC']

[Link](figsize=(18,6))
[Link]("MONTHLY RAINFALL /n")
[Link](132)
[Link]("2000")
[Link](X,[Link][0,2:14],color='k')
[Link](133)
[Link]("2002")
[Link](X,[Link][0,2:14],'g--')
'''

ADVANTAGES
• RECORDS CAN BE STORED IN FAST MANNER.
• ANY RECORD CAN BE EASILY ACCESSED WITH THE HELP OF
GRAPH.
• GRAPHS CAN BE EASILY STUDIED

27
LIMITATIONS
• PROVIDED EXTREMELY STREAMLINED FORMS OF DATA
REPRESENTATION
• HELPS TO SHORTEN THE PRODURE OF HANDLING DATA
• MAKES DATA FLEXIBLE AND CUSTOMIZABLE

CONCLUSION
“RAINFALL IN INDIA 1901-2015” HAS BEEN MADE TO REDUCE THE

MANUAL WORK AND WITH THE HELPS OF THIS PROJECT EVERY WORK

IS BEING PROCESSED IN ACCURATE MANNER

BIBLOGRAPHY
INFORMATICS PRACTICES SUMITA ARORA CLASS XII
INFORMATICS PRACTICES SUMITA ARORA CLASS XI
[Link]
COLAB PLATFORM

28

You might also like