Professional Documents
Culture Documents
PROJECT FINAL Abcdpdf PDF To Word
PROJECT FINAL Abcdpdf PDF To Word
ACKNOWLEDGMENT
2
Shishir, Abhinav, Ashutosh IP Project
CERTIFICATE
This is to certify that this Project File is a bonafide work done by Mr Shishir
Dwivedi, Mr Abhinav Raj students of class XII D, Session 2021- 2022 in partial
fulfilment of Informatics Practices practical examination of CBSE’s AISSCE
Examination 2021 and has been carried out under the direct supervision and
guidance of Ms SAPNA RAI (Subject Teacher). 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
Date:
Signature: Signature:
3
Shishir, Abhinav, Ashutosh IP Project
INDEX
01. Introduction
04. Brainstorming
05. Data Source and Description of the CSV file along with
Instances and Attributes
06. Design/Prototype/Tools
4
Shishir, Abhinav, Ashutosh IP Project
Project Logbook
1. Abhinav Raj
2. Shishir Dwivedi
3. Ashutosh Singh
5
Shishir, Abhinav, Ashutosh IP Project
1. Introduction
This Project will Showcase the Global Climate Risk Index Using Python Language and
Libraries Within Which are:
1. Pandas is a Python package providing fast, flexible, and expressive data structures
designed to make working with “relational” or “labelled” data both easy and intuitive.
It aims to be the fundamental high-level building block for doing practical, real-world
data analysis in Python.
3. Tkinter is a Python binding to the Tk GUI toolkit. It is the standard Python interface
to the Tk GUI toolkit and is Python's de-facto standard GUI. Tkinter is included with
standard Linux, Microsoft Windows and Mac OS X installs of Python.
4. NumPy is a library for the Python programming language, adding support for large,
multi-dimensional arrays and matrices, along with a large collection of high-level
mathematical functions to operate on these arrays.
Other than that we will use Microsoft Visual Studio Codes 2020
Which will be providing us with the platform to code upon and liberties in that
Would be as follow:
1. Rich presence
6
Shishir, Abhinav, Ashutosh IP Project
The Global Climate Risk Index 2021 analyses to what extent countries and
regions have been affected by impacts of weather-related loss events (storms,
floods, heat waves etc.). The most recent data available — for 2019 and from
2000 to 2019 — were taken into account. The countries and territories affected
most in 2019 were Mozambique, Zimbabwe as well as the Bahamas. For the
period from 2000 to 2019 Puerto Rico, Myanmar and Haiti rank highest.
Climate Risk Index clearly shows: Signs of escalating climate change can no
longer be ignored – on any continent or in any region. Impacts from extreme
weather events hit the poorest countries hardest as these are particularly
vulnerable to the damaging effects of a hazard and have a lower coping capacity
and may need more time to rebuild and recover. The Climate Risk Index may
serve as a red flag for already existing vulnerabilities that may further increase
as extreme events will become more frequent or more severe due to climate
change. The heatwaves in Europe, North America and Japan also confirm: High-
income countries are feeling climate impacts more clearly than ever before.
Effective climate change mitigation is therefore in the self-interest of all
countries worldwide.
2. Team Roles
2.1 Who is in your team and what are their roles?
7
Shishir, Abhinav, Ashutosh IP Project
2.2 Project plan
Preparing for Coursework, 04/08/2021 04/08/2021 Abhinav Raj Was done fairly quickly.
the project readings
Defining the Background 04/08/2021 04/08/2021 Shishir We looked around internet for Ideas
problem reading Dwivedi and Looked at some sample codes
8
Shishir, Abhinav, Ashutosh IP Project
2.3 Communications plan
2.4 Team meeting minutes (create one for each meeting held)
Will you meet face-to-face, online or a mixture of each to communicate?
Answer: Via Discord Group Call and Screen Share Feature long with collaborative
Dateacce to google
of meeting: documents.
04/08/2021
Who attended: Abhinav, Ashutosh and Shishir
Who wasn’t able to attend: N/A
How often will you come together to share your progress?
Daily of meeting: to pick a topic and discuss roles
Purpose
Items discussed:
Who will set
● What up to
Topic online documents and ensure that everyone is contributing?
Choose
Both will do
● Library which will be included.
● How much time will be dedicated towards the project
What tools will you use for communication?
Discord,
Things to do WhatsApp, TeamSpeak
(what, by whom, by when)
● Complete Synopsis, By Both, by 31st Aug?
● To create Repository, By Abhinav, by 04/08/2021
● N/A
9
Shishir, Abhinav, Ashutosh IP Project
Items discussed:
● What Topic to Choose
● Who will handle what part of the coding
● What sort of info will be displayed for User
● What info will be required by us overall
Items discussed:
● We watched and learned via youtube about how to insert those in VSC and how
to use them eventually.
1
Shishir, Abhinav, Ashutosh IP Project
Date of meeting:10/08/2021
Who attended: Abhinav, Ashutosh and Shishir
Who wasn’t able to attend: n/a
Items discussed:
● We filled the rest of the synopsis
● Discussed what we will do next
● And we also discussed what
1
Shishir, Abhinav, Ashutosh IP Project
3. Problem Definition
3.1 List important local issues faced by your school or community
There are fatalities across the globe and this is majorly due to Global Warming Not only that
but Scientists point out that sea levels have risen and fallen substantially over Earth's 4.6-
3.2 Which issues matter to you and why?
billion-year history. But the recent rate of global sea-level rise has departed from the
average rate of the past two to three thousand years and is rising more rapidly—about one-
tenth of an inch a year. The famed snows of Kilimanjaro have melted more than 80 per cent
Everywhere on Earth ice is changing, Thawing permafrost has caused the ground to
since 1912. Glaciers in the Garhwal Himalaya in India are retreating so fast that researchers
subside more than 15 feet (4.6 meters) in parts of Alaska, From the Arctic to Peru, from
believe that most central and eastern Himalayan glaciers could virtually disappear by 2035.
Switzerland to the equatorial glaciers of Man Jaya in Indonesia, massive ice fields,
It'sWhich
3.3 safe toissue
say ifwill
humansfocus
don’t kill themselves within the next 80 years nature will.
monstrous glaciers, you
and sea iceon?
are disappearing, fast. When temperatures rise and ice
melts, more water flows to the seas from glaciers and ice caps, and ocean water warms and
expands in volume. This combination of effects has played a major role in raising the
We will focus
average globalonsea
Climate Risk Index
level between Growth
four overinches
and eight years, (10
Ourand
Application will be able
20 centimetres) to past
in the show
the rate and
hundred ranks of the country both via stats and via graph, Global Climate Risk Index
years,
2020 analyses to what extent countries and regions have been affected by impacts of
weather- related loss events (storms, floods, heatwaves etc.)
1
Shishir, Abhinav, Ashutosh IP Project
4. Brainstorming
4.1 Ideas
How might you use the power of Data Science using PANDAS and matplotlib to solve the
users’ problem by increasing their knowledge or improving their skills?
Idea #1 Tell them Insurance Prize growth over the years in the field of medications via
[X] graph
4.2 BíicrlQ s"mmaíizc ťkc idca roí Qo"í sol"ťio⭲ i⭲ a rcw sc⭲ťc⭲ccs a⭲d bc s"íc ťo
idc⭲ťirQ ťkc ťool ťkať Qo" will "sc.
1
Shishir, Abhinav, Ashutosh IP Project
We will Showcase via our code how the global climate index has changed over the years in
different fields such as Fatality Index, Loss per GDP, Loss in Million US$ PPP, etc.
Our Application will also allow users to change data via Graphics User Interface.
The application will Showcase/Visualise the data via stats and graphs,
We will be doing this in Visual Studio Code using Libraries such as QuickBook Py
Connector, SnowFlake Py Connector, GitHub Extension, LiveShare, Rich Presence,
And Modules of Python Such as Pandas, matplotlib, NumPy, Tkinter, Etc.
5. Data
5.1 What data will you need for your project?
6. Prototype
6.1 Which tool(s) will you use to build your prototype?
1
Shishir, Abhinav, Ashutosh IP Project
Applications: Google Docs, Github, Visual Studio Codes, Python, Google Excel, Google
Collab,
Lib in Python: Pandas, matplotlib, NumPy, Tkinter,
Extensions in Google Docs: Code Block
Extensions in VSC: GitHub Extension, LiveShare, Rich Presence, QuickBook Py Connector,
SnowFlake Py Connector
6.2 What decisions or outputs will your tool generate and what further action needs to
be taken after a decision is made?
1
Shishir, Abhinav, Ashutosh IP Project
1) Chip:
- M1 chip
- 8-core CPU with 4 performance cores and 4 efficiency cores
- 8-core GPU
- 16-core Neural Engine
2) Memory:
- 8 GB Unified
- 16 GB Config
3) Storage:
- 512 GB SSD
- Config to 1TB or 2TB
1) Ram: 12 GB
1
Shishir, Abhinav, Ashutosh IP Project
FLOWCHART
1
Shishir, Abhinav, Ashutosh IP Project
SOURCE CODE:
from google.colab import files
uploaded = files.upload()
import pandas as pd
import io
import matplotlib.pyplot as plt
df = pd.read_csv(io.BytesIO(uploaded['climate-risk-index-1.csv']))
print(df)
while(True):
print("################################")
print("Main Menu--")
print('1. Fetch details')
print('2. Dataframe Statistics')
print('3. Display Records')
print('4. Working on records')
print('5. Working on Columns')
print('6. Search Specific Row/Column')
print('7. Data Visulaization')
print('8. Data Analystics')
print('9. Quit Program')
ch=int(input('Enter Program you want to perform:'))
RiskIndex=df
RiskIndex=RiskIndex.set_index(RiskIndex.cartodb_id)
print(RiskIndex)
if ch==1:
print(RiskIndex)
elif ch==2:
while (True):
print('Dataframe Statistics Menu')
print('1. Display The Transpose')
print('2. Display all the Column names')
print('3. Display The indexes')
print('4. Display The Shape')
1
Shishir, Abhinav, Ashutosh IP Project
print('5. Display The Dimentions')
print('6. Display The Data Types of all columns')
print('7. Display the Size')
print('8. Exit')
ch2=int(input('Enter the Choice'))
if ch2==1:
print(RiskIndex.T)
elif ch2==2:
print(RiskIndex.columns)
elif ch2==3:
print(RiskIndex.index)
elif ch2==4:
print(RiskIndex.shape)
elif ch2==5:
print(RiskIndex.ndim)
elif ch2==6:
print(RiskIndex.dtypes)
elif ch2==7:
print(RiskIndex.size)
elif ch2==8:
break
elif ch==3:
while(True):
print('Display Records Menu')
print('1. Top 5 records')
print('2. Bottom 5 Records')
print('3. Specific Number of Records from the Top')
print('4. Specific Number of Reocrds from the bottoms')
print('5. Details of a specific Country')
print('6. Display Details of all Country')
print('7. Exit')
ch3=int(input('Enter Choice'))
if ch3==1:
print(RiskIndex.head())
elif ch3==2:
print(RiskIndex.tail())
elif ch3==3:
n=int(input('Enter How many records you want to display from
the top'))
print(RiskIndex.head(n))
elif ch3==4:
n=int(input('Enter how many reocords you want display form the
bottom'))
1
Shishir, Abhinav, Ashutosh IP Project
print(RiskIndex.tail(n))
elif ch3==5:
s=input('enter the country for which you want to see the
details')
print(RiskIndex.loc[s])
elif ch3==6:
print('Details of Country')
print(RiskIndex)
elif ch3==7:
break
elif ch==4:
while(True):
print('Working on Records Menu')
print('1.Insert a specific country details')
print('2. Delete a speific Country Detail')
print('3. Update a specific Country Detail')
print('4. Exit')
ch4=int(input('Enter Choice'))
if ch4==1:
a= input('Enter cartodb_id')
p= input('Enter cartodb_id')
b= int(input('Enter the_geom [Leave Empty if N/A] '))
c= int(input('Enter the_geom_webmercator [Leave Empty if
N/A]'))
d= int(input('Enter Country Name'))
e= int(input('Enter cri_Rank'))
f= int(input('Enter Cri_Score'))
g= int(input('Enter Fatalities per 100k rank'))
h= int(input('Enter fatalities 100k total'))
i= int(input('Enter fatalities Rank '))
j= int(input('Enter looses per gdp rank'))
k= int(input('Enter looses per gdp total'))
l= int(input('Enter looses usdm ppp rank'))
m= int(input('Enter looses usdm ppp total'))
n= int(input('Enter rw country Code'))
o= int(input('Enter rw country name'))
RiskIndex.loc[a]=[b,p,c,d,e,f,g,h,i,j,k,l,m,n,o]
print('Data has been successfully inserted')
elif ch4==2:
a=input('Enter the Country Country you want to delete')
RiskIndex.drop([a],inplace=True)
print('Data Successfully Deleted')
2
Shishir, Abhinav, Ashutosh IP Project
elif ch4==3:
a=input('Enter cartodb_id whose data needs to be updated')
p=input('Enter cartodb_id whose data needs to be updated')
b= int(input('Enter the_geom [Leave Empty if N/A] '))
c= int(input('Enter the_geom_webmercator [Leave Empty if
N/A]'))
d= int(input('Enter Country Name'))
e= int(input('Enter cri_Rank'))
f= int(input('Enter Cri_Score'))
g= int(input('Enter Fatalities per 100k rank'))
h= int(input('Enter fatalities 100k total'))
i= int(input('Enter fatalities Rank '))
j= int(input('Enter looses per gdp rank'))
k= int(input('Enter looses per gdp total'))
l= int(input('Enter looses usdm ppp rank'))
m= int(input('Enter looses usdm ppp total'))
n= int(input('Enter rw country Code'))
o= int(input('Enter rw country name'))
RiskIndex.loc[a]=[b,P,c,d,e,f,g,h,i,j,k,l,m,n,o]
print('Data Successfully updated')
elif ch4==4:
break
elif ch==5:
while(True):
print('Working on Columns Menu')
print('1. Insert a new columns
data') print('2. Delete a specific
column') print('3. Exit')
ch5=int(input('Enter Choice'))
if ch5==1:
print('Enter Details')
h=input('Enter Columns/Heading name')
det=eval(input('Enter details corresponding to all countries'))
RiskIndex[h]=pd.Series(data=det, index=RiskIndex.index)
print('Column Inserted')
elif ch5==2:
a=input('Enter Column Name which needs to be deleted')
RiskIndex.drop([a],axis=1,inplace=False)
print('Column Temporary Deleted')
elif ch5==3:
break
elif ch==6:
while(True):
2
Shishir, Abhinav, Ashutosh IP Project
print('Seaerch Menu')
print('1. Search for details of a specific country')
print('2. Search details of a specific as per a specific column
heading')
print('3. Exit')
ch6=int(input('Enter Choice'))
if ch6==1:
st=input('Enter The name of the Country whose detail you want
to see')
print(RiskIndex.loc[st])
elif ch6==2:
col=input('Enter Column/Heading name whose details you want to
see')
print(RiskIndex[col])
elif ch6==3:
break
elif ch==7:
while(True):
print('Data Visualization Menu')
print('1. Line Plot')
print('2. Vertical Bar Plot')
print('3. Horizontal Bar
Plot') print('4. Histogram')
print('5. Exit')
ch7=int(input('Enter Choice'))
if ch7==1:
while(True):
print('Line Plot Sub Menu')
print('1. Country Wise Highest cri rank')
print('2. avg fatalities per country')
print('3. Country Fatalities Rank')
print('4. Country Wise CRI Rank and fatalities Rank Compare')
print('5. Exit')
chline=int(input('Enter Choice'))
if chline==1:
plt.plot(RiskIndex.index,RiskIndex['cri_rank'],label='Highest CRI
Rank')
plt.title('Highest CRI')
plt.xlabel('cri_rank')
plt.ylabel('cartodb_id')
plt.xticks(rotation=30)
plt.legend()
2
Shishir, Abhinav, Ashutosh IP Project
plt.grid(True)
plt.show()
elif chline==2:
plt.plot(RiskIndex.index,
RiskIndex['fatalities_per_100k_total'], label='avg fatalities per
country')
plt.title('avg fatalities per country')
plt.xlabel('cartodb_id')
plt.ylabel('fatalities_per_100k_total')
plt.xticks(rotation=30)
plt.legend()
plt.grid(True)
plt.show()
elif chline==3:
plt.plot(RiskIndex.index,
RiskIndex['fatalities_per_100k_rank'], label='Country fatalities
Rank') plt.title('Country fatalites Rank')
plt.xlabel('cartodb_id')
plt.ylabel('fatalities_per_100k_rank')
plt.xticks(rotation=30)
plt.legend()
plt.grid(True)
plt.show()
elif chline==4:
plt.plot(RiskIndex.index,
RiskIndex['cri_rank'],label='Compare of CRI Rank and fatalties rank')
plt.xlabel('fatalities_per_100k_rank')
plt.ylabel('cri_rank')
plt.xticks(rotation=30)
plt.legend()
plt.grid(True)
plt.show()
elif chline==5:
break
elif ch7==2:
while(True):
print('Vertical Bar Plot Sub Menu')
print('1. Country Wise Highest CRI Score')
print('2. country wise highest looses per gdp total')
print('3. Country Wise Highest looses usdm ppp rank')
print('4. Exit')
chbar=int(input('Enter Choice'))
if chbar==1:
2
Shishir, Abhinav, Ashutosh IP Project
plt.bar(RiskIndex.index,
RiskIndex['cri_score'],label='Highest CRI Score', color='Red')
plt.title('Country Wise Highest CRI Score')
plt.xlabel('country')
plt.ylabel('cri_score')
plt.xticks(rotation=30)
plt.legend()
plt.grid(True)
plt.show()
elif chbar==2:
plt.bar(RiskIndex.index,RiskIndex['losses_per_gdp total'],label='Count
ry Wise Highest Looses per gdp total')
plt.title('Country Wise Highest looses per gdp total')
plt.xlabel('country')
plt.ylabel('losses_per_gdp total')
plt.xticks(rotation=30)
plt.legend()
plt.grid(True)
plt.show()
elif chbar==3:
plt.bar(RiskIndex.index,RiskIndex['losses_usdm_ppp_rank'],label='Highes
t Looses usdm ppp rank')
plt.title('Country Wise Highest Looses usdm ppp rank')
plt.xlabel('country')
plt.ylabel('losses_usdm_ppp_rank')
plt.xticks(rotation=30)
plt.legend()
plt.grid(True)
plt.show()
elif chbar==4:
break
elif ch7==3:
while(True):
print('Horizontal Bar Plot Sub Menu')
print('1. Country Wise Highest CRI Score')
print('2. country wise highest looses per gdp total')
print('3. Country Wise Highest looses usdm ppp rank')
print('4. Exit')
chbar=int(input('Enter Choice'))
if chbar==1:
2
Shishir, Abhinav, Ashutosh IP Project
plt.barh(RiskIndex.index,RiskIndex['cri_score'],
label='Highest CRI Score')
plt.title('Country Wise Highest CRI Score')
plt.ylabel('cri_score')
plt.xlabel('country')
plt.legend()
plt.show()
elif chbar==2:
plt.barh(RiskIndex.index,RiskIndex['losses_per_gdp total'],label='Coun
try Wise highest loose per gdp total')
plt.title('Country wise highest loose per gdp total')
plt.ylabel('losses_per_gdp total')
plt.xlabel('country')
plt.legend()
plt.show()
elif chbar==3:
plt.barh(RiskIndex.index,RiskIndex['losses_usdm_ppp_rank'],label='Count
ry wise highest looses usdm ppp rank')
plt.title('Country Wise Highest loose usdm ppp rank')
plt.ylabel('losses_usdm_ppp_rank')
plt.xlabel('country')
plt.legend()
plt.show()
elif chbar==4:
break
elif ch7==4:
while(True):
print('Histogram Sub Menu')
print('1. Highest CRI Score')
print('2. Highest looses per gdp total')
print('3. Highest looses usdm ppp rank')
print('4. Exit')
chbar=int(input('Enter Choice'))
if chbar==1:
plt.hist(RiskIndex['cri_score'],bins=5,label='Highest CRI
Score',color='green',edgecolor='black')
plt.title('Highest CRI Score')
plt.xlabel('country')
plt.ylabel('cri_score')
plt.legend()
plt.show()
2
Shishir, Abhinav, Ashutosh IP Project
elif chbar==2:
plt.hist(RiskIndex['losses_per_gdp total'],bins=5,label='Highest
Looses per gdp total',color='yellow',edgecolor='black')
plt.title('Highest looses per gdp total')
plt.xlabel('country')
plt.ylabel('losses_per_gdp total')
plt.legend()
plt.show()
elif chbar==3:
plt.hist(RiskIndex['losses_usdm_ppp_rank'],bins=5,label='Highest looses
per usdm ppp rank',color='orange',edgecolor='black')
plt.title('Highest looses usdm ppp rank')
plt.xlabel('country')
plt.ylabel('losses_usdm_ppp_rank')
plt.legend()
plt.show()
elif chbar==4:
break
elif ch7==5:
break
elif ch==8:
while(True):
print('Data Analytics Menu')
print('1. Country With maximum CRI Rank ')
print('2. Country with Maxmium fatalities per 100k total ')
print('3. Exit ')
ch8=int(input('Enter Choice'))
if ch8==1:
M=RiskIndex['cri_rank'].max()
s=RiskIndex.loc[RiskIndex.cri_rank==M]
print('Country with Maximum cri_rank is',s.index)
elif ch8==2:
M=RiskIndex['fatalities_per_100k_total'].max()
s=RiskIndex.loc[RiskIndex.fatalities_per_100k_total==M]
print('Country With Maximum fatalities per 100k total
is',s.index)
elif ch8==3:
break
elif ch==9:
break
2
Shishir, Abhinav, Ashutosh IP Project
OUTPUT:
2
Shishir, Abhinav, Ashutosh IP Project
2
Shishir, Abhinav, Ashutosh IP Project
2
Shishir, Abhinav, Ashutosh IP Project
3
Shishir, Abhinav, Ashutosh IP Project
3
Shishir, Abhinav, Ashutosh IP Project
FUTURE SCOPE
- WE CAN ADD A LOGIN PAGE FOR MORE PERSONALISED RESULT
- CSV DATA CAN BE EXPANDED IN THE FUTURE TO CATER TO LARGE
AUDIENCES.
- MORE INFORMATION CAN BE ADDED TO THE CSV FILE AND MORE
ANALYSIS CAN BE DONE ACCORDINGLY
- THE SCOPE OF MANIPULATION CAN BE EXPANDED FURTHER WITH
MORE FUNCTIONS IN THE FUTURE.
- MORE USE OF MATPLOTLIB CAN BE DONE FOR MORE GRAPHICAL
ANALYSIS
- THUS THIS PROJECT HOLDS A LOT OF POTENTIAL AND CAN BE
DEVELOPED IN THE NEAR FUTURE
LIST OF REFERENCES
DAľA SOURCE:
Climate Change Performance Index
https://germanwatch.org/en/CCPI
REÏERENCES:
https://www.geeksforgeeks.org/
https://www.w3resource.com/
Informatics Practices NCERT
Wikipedia
https://www.python.org/