Professional Documents
Culture Documents
Informatics Practices
Informatics Practices
PRACTICES
PROJECT ON : DAILY SPIKES IN COVID-19 CASES
IN THE MONTH OF DEC 2021
CLASS =XII
2
REPORT TITLE
INDEX
S.No DESCRIPTION PAGE NO.
1. CERTIFICATE 4
2. ACKNOWLEDGEMENT 5
3. Aim & Problem 7
Definition ,Front-End,
Back End, Operating
system
4. Hardware/Software 8
configuration required
5. Introduction to 9
project
6. Overview of Python 10
7. History of Python 11
8. Python Features 12-13
9. Design & Phylosophy 13-24
10. CSV File 25
11. Source Code 26-28
12. Output
13. BIBLIOGRAPHY
3
REPORT TITLE
CIRTIFICATE
4
REPORT TITLE
ACKNOWLEDGEMENT
5
REPORT TITLE
6
REPORT TITLE
To develope
Daily spikes in covid-19 in the month of Dec-2021
FRONT END :
Python 5.10.2/Pandas
BACK END :
Python 5.10.2/Matplotlib
OPERATING SYSTEM:
Ms-Windows 10
7
REPORT TITLE
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.
import pandas as pd
MATPLOTLIB
Matplotlib is a plotting library for the Python programming language
and its numerical mathematics extension NumPy.
import numpy as np
8
REPORT TITLE
covid-19
INTRODUCTION TO
pandemic analysis
system
Coronavirus disease (COVID-19) is an infectious disease caused by a
newly discovered coronavirus.
Most people infected with the COVID-19 virus will experience mild to
moderate respiratory illness and recover without requiring special
treatment. Older people, and those with underlying medical problems
like cardiovascular disease, diabetes, chronic respiratory disease, and
cancer are more likely to develop serious illness.
9
REPORT TITLE
OVEVIEW OF Python
scripting language. Python is designed to be highly readable. It uses
English keywords frequently where as other languages use
punctuation, and it has fewer syntactical constructions than other
languages.
10
REPORT TITLE
History of Python
Python was developed by Guido van Rossum in the late eighties and
early nineties at the National Research Institute for Mathematics and
Computer Science in the Netherlands.
Python is derived from many other languages, including ABC, Modula -3,
C, C++, Algol-68, SmallTalk, and Unix shell and other scripting
languages.
11
REPORT TITLE
Python Features
Python's features include −
Apart from the above-mentioned features, Python has a big list of good
features, few are listed below −
Its design offers some support for functional programmi ng in the Lisp
tradition. It has filter , map and reduce functions; list comprehensions,
dictionaries, sets, and generator expressions. [ 6 3 ] The standard library
13
REPORT TITLE
has two modules ( itertools and functools ) that implement functional
tools borrowed from Haskell and Standard ML. [ 6 4 ]
Readability counts.
Rather than building all of its functionality into its core, Python was
designed to be highly extensible via modules. This compact modularity
has made it particularly popular as a means of adding programmable
interfaces to existing applications. Van Rossum's vision of a small
core language with a large standard library and easily extensible
interpreter stemmed from his frustrations with ABC, which espoused
the opposite approach. [ 3 9 ]
Indentation :
Python uses whitespace indentation, rather than curly brackets or
keywords, to delimit blocks. An increase in indentation comes after
certain statements; a decrease in indentation signifies the end of the
current block. [ 7 6 ] Thus, the program's visual structure accurately
represents its semantic structure. [ 7 7 ] This feature is sometimes termed
the off-side rule. Some other languages use indentation this way; but in
most, indentation has no semantic meaning. The recommended indent
size is four spaces. [ 7 8 ]
15
REPORT TITLE
The if statement, which conditionally executes a block of code, along
with else and elif (a contraction of else-if)
The try statement, which allows exceptions raised in its attached code
block to be caught and handled by except clauses; it also ensures that
clean-up code in a finally block is always run regardless of how the
block exits
The class statement, which executes a block of code and attaches its
local namespace to a class, for use in object-oriented programming
The continue statement, which skips the current iteration and c ontinues
with the next
The assert statement, used in debugging to check for con ditions that
should apply
16
REPORT TITLE
The yield statement, which returns a value from a generator function
(and also an operator); used to implement coroutines
The assignment statement (=) binds a name as a reference to a separate, dynamically-allocated object.
Variables may subsequently be rebound at any time to any object. In Python, a variable name is a generic
reference holder without a fixed data type; however, it always refers to some object with a type. This is
called dynamic typing—in contrast to statically-typed languages, where each variable may contain only a
value of a certain type.
Python does not support tail call optimization or first-class continuations, and, according to van Rossum, it
never will.[80][81] However, better support for coroutine-like functionality is provided by extending Python's
generators.[82] Before 2.5, generators were lazy iterators; data was passed unidirectionally out of the
generator. From Python 2.5 on, it is possible to pass data back into a generator function; and from version
3.3, it can be passed through multiple stack levels.[83]
Expressions :
Some Python expressions are similar to those in languages such as C
and Java, while some are not:
Addition, subtraction and multiplication are the same, but the behavior
of division differs. There are two types of divisions in Python: floor
division (or integer division) // and floating-point / division. [ 8 4 ] Python
also uses the ** operator for exponentiation.
Python uses and , or , and not as boolean operators rather than the
symbolic && , || , ! in Java and C.
17
REPORT TITLE
Anonymous functions are implemented using lambda expressions;
however, there may be only one expression in each body.
Python makes a distinction between lists and tuples. Lists are written
as [1, 2, 3] , are mutable, and cannot be used as the keys of
dictionaries (dictionary keys must be immutable in Python). Tuples,
written as (1, 2, 3) , are immutable and thus can be used as keys of
dictionaries, provided all of the tuple's elements are immutable. The +
operator can be used to concatenate two tuples, which does not
directly modify their contents, but produces a new tuple containing the
elements of both. Thus, given the variable t initially equal to (1, 2, 3) ,
executing t = t + (4, 5) first evaluates t + (4, 5) , which yields (1, 2, 3,
4, 5) , which is then assigned back to t —thereby effectively "modifying
the contents" of t while conforming to the immutable nature of tuple
objects. Parentheses are optional for tuples in unambiguous
contexts. [ 9 1 ]
18
REPORT TITLE
returns "spameggs" . If strings contain numbers, they are added as strings
rather than integers, e.g. "2" + "2" returns "22" .
Python has array index and array slicing expressions in lists, denoted
as a[key] , a[start:stop] or a[start:stop:step] . Indexes are zero-based, and
negative indexes are relative to the end. Slices take elements from the
start index up to, but not including, the stop index. The third slice
parameter, called step or stride, allows elements to be skipped and
reversed. Slice indexes may be omitted —for example a[:] returns a
copy of the entire list. Each element of a slice is a shallow copy.
The eval() vs. exec() built-in functions (in Python 2, exec is a statement);
the former is for expressions, the latter is for statements
Methods :
Methods on objects are functions attached to the object's class; the
syntax instance.method(argument) is, for normal methods and functions,
syntactic sugar for Class.method(instance, argument) . Python methods
have an explicit self parameter to access instance data, in contrast to
the implicit self (or this ) in some other object-oriented programming
languages (e.g., C++, Java, Objective-C, Ruby). [ 9 4 ] Python also provides
methods, often called dunder methods (due to their names beginning
and ending with double-underscores), to allow user-defined classes to
modify how they are handled by native operations including length,
comparison, in arithmetic operations and type conversion. [ 9 5 ]
Typing :
Python uses duck typing and has typed objects but untyped variable
names. Type constraints are not checked at compile time; rather,
operations on an object may fail, signifying that it is not of a suitable
type. Despite being dynamically-typed, Python is strongly-typed,
forbidding operations that are not well -defined (for example, adding a
number to a string) rather than silently attempting to make sense of
them.
20
REPORT TITLE
Python allows programmers to define their own types using classes,
most often used for object-oriented programming. New instances of
classes are constructed by calling the class (for example, SpamClass() or
EggsClass() ), and the classes are instances of the metaclass type (itself
an instance of itself), allowing metaprogramming and reflection.
Before version 3.0, Python had two kinds of classes: old -style and new-
style. [ 9 6 ] The syntax of both is the same, the difference being whether
the class object is inherited from, directly or indirectly (all new -style
classes inherit from object and are instances of type ). In versions of
Python 2 from Python 2.2 onwards, both kinds of classes can be used.
Old-style classes were eliminated in Python 3.0.
The long-term plan is to support gradual typing. [ 9 7 ] From Python 3.5 on,
the language's syntax allows specifying static types, but they are not
checked in the default implementation, CPython. An experimental
optional static type-checker, mypy, supports compile-time type
checking. [ 9 8 ]
22
REPORT TITLE
Arithmetic operations :
Python has the usual symbols for arithmetic operators ( + , - , * , / ), the
floor division operator // and the modulo operation % (where the
remainder can be negative, e.g. 4 % -3 == -2 ). It also has ** for
exponentiation, e.g. 5**3 == 125 and 9**0.5 == 3.0 , and a
matrix-multiplication operator @ . [102]
These operators work like in
traditional math; with the same precedence rules, the operators infix ( +
and - can also be unary to represent positive and negative numbers
respectively).
Python 2.1 and earlier used C's division behavior. The / operator is
integer division if both operands are integers, and floating -point
division otherwise. Integer division rounds towards 0, e.g. 7/3 == 2 and
-7/3 == -2 .
23
REPORT TITLE
round(2.5) both produce 2 . [105]
Versions before 3 used round-away-from-
zero: round(0.5) is 1.0 , round(-0.5) is −1.0 . [ 1 0 6 ]
24
REPORT TITLE
CSV FILE
25
REPORT TITLE
SOURCE CODE
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv("C\\Users\\hcl\\Desktop\\covid19.csv",encoding='latin1',index_col=0)
cov=pd.DataFrame(df,columns=["DATE","ACTIVE","RECOVERED","CONFIRMED","DEATHS"])
ch='y'
while ch=='y' or ch=='Y':
print("Main Menu")
print("1.Fetch Data")
print("2.Dataframe Statistics")
print("3.Display Records")
#print("4.Search specific row/column")
print("4.Data Visualisation")
print("5.Data analytics")
print("6.Exit")
ch1=int(input("Enter your choice"))
if ch1==1:
print("DISPLAYING DAILY SPIKES IN COVID CASES IN THE MONTH OF DEC 2021")
print("====================================")
print(cov)
elif ch1==2:
while(True):
print("Dataframe Statistics Menu")
print("1.Display all column names")
print("2.Display the indexes")
print("3.Display the shape")
print("4.Display the dimension")
print("5.Display the data types of all columns")
print("6.Display the size")
print("7.Exit")
ch2=int(input("Enterchoice"))
if ch2==1:
print(cov.columns)
elif ch2==2:
print(cov.index)
elif ch2==3:
print(cov.shape)
elif ch2==4:
print(cov.ndim)
elif ch2==5:
print(cov.dtypes)
elif ch2==6:
print(cov.size)
elif ch2==7:
break
elif ch1==3:
while(True):
print("Display Records Menu")
print("1.Top 5 Records")
print("2.Bottom 5 Records")
26
REPORT TITLE
print("3.Specific number of records from the top")
print("4.Specific number of records from the bottom")
#print("5.Display records of a specific date")
#print("6.Display records of all dates")
print("5.Exit")
ch3=int(input("Enterchoice"))
if ch3==1:
print(cov.head())
elif ch3==2:
print(cov.tail())
elif ch3==3:
n=int(input("Enter how many records you want to display from the bottom")
print(cov.head(n))
elif ch3==4:
n=int(input("Enter how many records you want to display from the top")
print(cov.tail(n))
elif ch3==5:
break
elif ch1==4:
while(True):
print("Data Visualisation Menu")
print("1.Lineplot--> No.of active cases")
print("2.Histogram--> No. of recovered")
print("3.Horizontal bar plot--> No. of confirmed cases")
print("4.Vertical bar plot--> No. of deaths")
print("5.Exit")
ch5=int(input("Enter choice"))
if ch5==1:
x=cov.index
y=cov['ACTIVE']
plt.plot(x,y)
plt.title("No.of active cases")
plt.xlabel("DATE")
plt.ylabel("ACTIVE CASES")
plt.show()
elif ch5==2:
plt.hist([cov.index,cov.RECOVERED],bins=100,edgecolour="black",color=['orange','red'])
plt.title("No. of recovered")
plt.xlabel("DATE")
plt.ylabel("RECOVERED")
plt.show()
elif ch5==3:
plt.barh(cov.index,cov.CONFIRMED)
plt.title("No.of confirmed cases")
plt.xlabel("DATE")
plt.ylabel("CONFIRMED CASES")
plt.show()
elif ch5==4:
plt.bar(cov.index,cov.DEATHS)
plt.title("No.of deaths")
plt.xlabel("DATE")
plt.ylabel("DEATHS")
plt.show()
27
REPORT TITLE
elif ch5==5:
break
elif ch1==5:
while(True):
print("Data Analytics Menu")
print("1.Date on which maximum active cases were observed")
print("2.Date on which minimum active cases were observed")
print("3.Date on which maximum recovered cases were observed")
print("4.Date on which minimum recovered cases were observed")
ptint("5.Date on which maximum confirmed cases were observed")
print("6.Date on which minimum confirmed cases were observed")
print("7.Date on which maximum deaths were observed")
print("8.Date on which minimum deaths were observed")
print("9.Exit")
ch6=int(input("Enterchoice;"))
if ch6==1:
m=cov['ACTIVE'].max()
s=cov.loc[cov.ACTIVE==m]
print("Date on which maximum active cases were observed--",m,"is\n",s.index)
elif ch6==2:
m=cov['ACTIVE'].min()
s=cov.loc[cov.ACTIVE==m]
print("Date on which minimum active cases were observed--",m,"s\n",s.index)
elif ch6==3:
m=cov['RECOVERED'].max()
s=cov.loc[cov.RECOVERED==m]
print("Date on which maximum recovered cases were observed--",m,"is\n"s.index)
elif ch6==4:
m=cov['RECOVERED'].min()
s=cov.loc[cov.RECOVERED==m]
print("Date on which minimum recovered cases were observed--",m,"is\n"s.index)
elif ch6==5:
m=cov['CONFIRMED'].max()
s=cov.loc[cov.CONFIRMED==m]
print("Date on which maximum confirmed cases were observed--",m,"is\n",s.index)
elif ch6==6:
m=cov['CONFIRMED'].min()
s=cov.loc[cov.CONFIRMED==m]
print("Date on which minimum comfirmed cases were observed--",m,"is\n",s.index)
elif ch6==7:
m=cov['DEATHS'].max()
s=cov.loc[cov.DEATHS==m]
print("Date on which maximum deaths were observed--",m,"is\n",s.index)
elif ch6==8:
m=cov['DEATHS'].min()
s=cov.loc[cov.DEATHS==m]
print("Date on which minimum deaths were observed--",m,"is\n",s.index)
elif ch6==9:
break
elif ch1==6:
break
28
REPORT TITLE
29
REPORT TITLE
BIBLIOGRAPHY
❖ Youtube
❖ Python software
❖ NCERT book
❖ Class notes
❖ Web browser
-Chrome
❖ MS Excel
❖ MS Word
❖ News paper
❖ Covid 19- Data
30