[Go to site: main page, start]

0% found this document useful (0 votes)
11 views46 pages

DataAnalyticsUsingPython LAB MANUAL

The document outlines a laboratory course on Data Analytics using Python Programming for MCA students at Visvesvaraya Technological University. It includes various programming tasks such as linear search, data manipulation with NumPy, data visualization with Matplotlib, and regression model generation. Each task is accompanied by sample code and explanations to facilitate learning and application of Python in data analytics.

Uploaded by

annapoornaa429
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)
11 views46 pages

DataAnalyticsUsingPython LAB MANUAL

The document outlines a laboratory course on Data Analytics using Python Programming for MCA students at Visvesvaraya Technological University. It includes various programming tasks such as linear search, data manipulation with NumPy, data visualization with Matplotlib, and regression model generation. Each task is accompanied by sample code and explanations to facilitate learning and application of Python in data analytics.

Uploaded by

annapoornaa429
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

ೆ ೕಶ ರಯ ಾಂ ಕ ಶ ಾ ಲಯ

“ ಾನ ಸಂಗಮ”, ೆಳ ಾ -590018, ಕ ಾ ಟಕ, ಾರತ.


Visvesvaraya Technological University
“Jnana Sangama”, Belagavi-590018, Karnataka, India.

Data Analytics using Python Programming Laboratory(22MCAL36)


3st Semester, MCA
Prepared by
Dr. Kumar P K
Assistant Professor
Department of CS&E (MCA Programme)
VTU Centre for PG Studies Mysuru

*********************************************************************************************************************

Department of Computer Science & Engineering,


Centre for PG & UG Studies, VTU Mysuru Region
Hanchya Sathagalli Layout, Ring Road, Mysuru – 570029
SL DATE CONTENT PG.
NO NO
1 Write a Python program to perform linear search

2 Write a Python program to insert an element into a sorted list.

3 Write a python program using object oriented programming to


demonstrate encapsulation, overloading and inheritance
4 Implement a python program to demonstrate
1) Importing Datasets
2) Cleaning the Data
3) Data frame manipulation using Numpy
5 [Link] a python program to demonstrate the following using
NumPy a) Array manipulation, Searching, Sorting and splitting.
b) broadcasting and Plotting NumPy arrays
6 Implement a python program to demonstrate
Data visualization with various Types of Graphs using Numpy

6
7 Write a Python program that creates a mxn integer arrayand Prints its
attributes using matplotlib

8
7 Write a Python program to demonstrate the generation of linear regression
models.
9 Write a Python program to demonstrate the generation of logistic regression
models using Python.

10 Write a Python program to demonstrate Timeseries analysis with Pandas.

11 Write a Python program to demonstrate Data Visualization using Seaborn.


1. Write a Python program to perform linear search

def linear_search(alist, key):


"""Return index of key in alist. Return -1 if key not present."""
for i in range(len(alist)):
if alist[i] == key:
return i
return -1

alist = input('Enter the list of numbers: ')


alist = [Link]()
alist = [int(x) for x in alist]
key = int(input('The number to search for: '))

index = linear_search(alist, key)


if index < 0:
print('{} was not found.'.format(key))
else:
print('{} was found at index {}.'.format(key, index))
OUTPUT:
2. Write a Python program to insert an element into a sorted list

def insert_spec_position(element, alist, position):


return alist[:position-1]+[element]+alist[position-1:]

alist = input('Enter the list of numbers: ')


alist = [Link]()
print("Original list:")
print(alist)
position = int(input('Enter the position to insert the element: '))
element = int(input('Enter the element to insert: '))
result = insert_spec_position(element, alist, position)
print("\nAfter inserting an element at kth position in the said list:")
print(result)

OUTPUT:
3 . Write a python program using object oriented programming to
demonstrate encapsulation, overloading and inheritance

# Deomonstration of Encapsulation
class Car:
print("Deomonstration of Encapsulation ")
print("================================")
def __init__(self):
self.__maxprice = 1000000
def sell(self):
print("Selling Price: {}".format(self.__maxprice))
def setMaxPrice(self, price):
self.__maxprice = price
c = Car()
[Link]()
# change the price
c.__maxprice = 500000
[Link]()
# using setter function
[Link](200000)
[Link]()

# Demonstration of Overloading (Polymorphism)


print('\n')
class MethodOverload():
print("Deomonstration of Overloading ")
print("================================")

def add(self, a=None, b=None):


print(f'The value of A is {a}')
print(f'The value of B is {b}')

ob=MethodOverload() // Object creation of class MethodOverload()


[Link]()
[Link](2)
[Link](2,3)
# Demonstration of Inheritance
# parent class
print('\n')
class ParentClass:
def __init__(self):
print("Deomonstration of Iheritance ")
print("================================")

def PClassMethod(self):
print("Its parent class method")

# child class
class ChildClass(ParentClass):

def ChildClassMethod(self):
print("Its Child class method")

Ob = ChildClass()
[Link]()
[Link]()

OUTPUT:
4. Implement a python program to demonstrate
1) Importing Datasets
2) Cleaning the Data
3) Data frame manipulation using Numpy

import pandas as pd

# 1. Loading the data


data = pd.read_csv('[Link]',header=None)
[Link] = ['sepal length', 'sepal width', 'petal length', 'petal width', 'class']
[Link]()
#create a data frame - dictionary is used here where keys get converted to
column names and values to row values.
data = [Link]({'Country': ['India','Nepal','Pakistan','Bangladesh','Bhutan'],
'Rank':[11,40,100,130,101]})
data

#We can do a quick analysis of any data set using:


[Link]()

#To get the complete information about the data set, we can use info() function.
[Link]()
# 2. Cleaning the data
# To find and fill the missing data in the dataset we will use another function.
# There are 4 ways to find the null values if present in the dataset.

# 1. Using isnull() function:


[Link]()

# 2. This is the same as the isnull() function.


[Link]()
# 3. This function also gives a boolean value if any null value is present or not,
#but it gives results column-wise, not in tabular format.

[Link]().any()

# 4. Using isna(). sum() - This function gives the sum of the null values preset in
#the dataset column-wise.

[Link]().sum()

# Using isna().any().sum() - This function gives output in a single value if any


#null is present or not.
[Link]().any().sum()
# 3. Data frame manipulation using Numpy
#load the library and check its version, just to make sure we aren't using an
#older version
import numpy as np
np.__version__

#create a list comprising numbers from 0 to 20


L = list(range(21))
L

#converting integers to string - this style of handling lists is known as list


comprehension.
[str(c) for c in L]
#List comprehension offers a versatile way to handle list manipulations tasks
easily.
[type(item) for item in L]

#creating arrays
[Link](10, dtype='int')

#creating a 3 row x 8 column matrix


[Link]((3,8), dtype=float)
#creating a matrix with a predefined value
[Link]((3,5),1.23)

#create an array with a set sequence


[Link](0, 20, 2)

x1 = [Link]([4, 3, 4, 4, 8, 4])
x1

#assess value to index zero


x1[0]
#get the last value
x1[-1]

#get the second last value


x1[-2]

# Array Slicing¶
x = [Link](20)
x

#from start to 4th position


x[:5]
#from 4th position to end
x[4:]

#from 4th to 6th position


x[4:7]

#return elements at even place


x[ : : 2]

#return elements from first position step by two


x[1::2]
#reverse the array
x[::-1]

#You can concatenate two or more arrays at once.


x = [Link]([1, 2, 3])
y = [Link]([3, 2, 1])
z = [21,21,21]
[Link]([x, y,z])

#Split the arrays based on pre-defined positions.


x = [Link](10)
x
x1,x2,x3 = [Link](x,[3,6])
print(x1,x2,x3)
5. Implement a python program to demonstrate the following using
NumPy
a) Array manipulation, Searching, Sorting and splitting.
b) broadcasting and Plotting NumPy arrays

import numpy as np
from matplotlib import pyplot as plt

# A: Array manipulation, Searching, Sorting and splitting.


# Array manipulation
#creating arrays

print(" Array manipulation ")


print(" ======================")
[Link](10, dtype='int')

#creating a 3 row x 8 column matrix


[Link]((3,8), dtype=float)

#create an array with a set sequence


[Link](0, 20, 2)

#creating a matrix with a predefined value


[Link]((3,5),1.23)

x1 = [Link]([4, 3, 4, 4, 8, 4])
print ( "the array elements are : " ,x1)

#assess value to index zero


print("After accessing the value of index zero in array is : ",x1[0] )
#get the last value
print("After accessing the last index value in array is : ",x1[-1])

#Split the arrays based on pre-defined positions.


print("\n")
print(" Splitting the Array ")
print(" ======================")
x = [Link](10)

print("Before Spliting array : the elements are = ", x)

x1,x2,x3 = [Link](x,[3,6])

print("After Spliting the arrays ")


print(x1)
print(x2)
print(x3)
print("\n")

# Sorting the array


print(" Sorting an Array ")
print(" ======================")
arr = [Link]([3, 2, 0, 1])
print("Before Sorting the array, Elements are ", arr)

print("After Sorting the array, Elements are ", [Link](arr))

arr = [Link](['banana', 'cherry', 'apple'])


print("Before Sorting the array of string, Elements are ", arr)

print("After Sorting the array of string Elements are ", [Link](arr))


arr = [Link]([[3, 2, 4], [5, 0, 1]])
print("Before Sorting the array of two dimensional Elements are ", arr)
print("After Sorting the array of two dimensional Elements are ", [Link](arr))

print("\n")
# Searching array

print(" Searching an Array ")


print(" ======================")
arr = [Link]([1, 2, 3, 4, 5, 4, 4])
print("Before Searching the array, Elements are ", arr)

# Find the indexes where the value is 4:

x = [Link](arr == 4)
print("The element after Find the indexes where the value is 4:", x)

# It will find the value 4 and return the index is present at index 3, 5, and 6.

arr = [Link]([1, 2, 3, 4, 5, 6, 7, 8])

#Find the indexes where the values are even:


x = [Link](arr%2 == 0)
print("The element after Find the indexes where the values are even:", x)

#Find the indexes where the values are odd:


arr = [Link]([1, 2, 3, 4, 5, 6, 7, 8])

x = [Link](arr%2 == 1)

print("The element after Find the indexes where the values are odd:", x)
#Search Sorted
# Method called searchsorted() which performs a binary search in the array, and
#returns the index
# where the specified value would be inserted to maintain the search order.
print("\n")
print(" Search Sorted an Array ")
print(" ========================")

arr = [Link]([6, 7, 10, 9])

x = [Link](arr, 8)

print(" Order of the specified value is ", x)

print("\n")

# B . broadcasting and Plotting NumPy arrays


# The term broadcasting describes how numpy treats arrays with different
#shapes during arithmetic operations.
# Subject to certain constraints, the smaller array is “broadcast” across the
#larger array so that they have compatible shapes.
print(" Broad casting ")
print(" ===============")
a = [Link]([1.0, 2.0, 3.0])
b = [Link]([2.0, 2.0, 2.0])

print(" Broad casting of a* b is :" , a * b)

a = [Link]([1.0, 2.0, 3.0])


b = 3.0
print(" Broad casting of a* b is :" , a * b)
# General Broadcasting Rules
#When operating on two arrays, NumPy compares their shapes element-wise. It
#starts with the trailing (i.e. rightmost) dimensions and works its way left. Two
#dimensions are compatible when

# 1. they are equal, or

# 2. one of them is 1

#If these conditions are not met, a ValueError: operands could not be broadcast
#together exception is thrown,

x = [Link](4)
xx = [Link](4,1)
y = [Link](5)
z = [Link]((3,4))

print(" [Link] is=", [Link])


print("\n")
print(" [Link] is=",[Link])
print("\n")
print(" [Link] is=",[Link])
print("\n")
print(" [Link] is=",[Link])
print("\n")
print(" XX+[Link] is=\n",(xx + y).shape)
print("\n")
print(" XX+Y is=\n",xx + y)
print("\n")
print(" [Link] is=",[Link])
print("\n")
print(" [Link] is=\n",[Link])
print("\n")
print(" X+Z .shape is=\n",(x + z).shape)
print("\n")
print(" X + Z is=\n",x + z)

# Plotting graph
print("\n")
print(" Plotting graph of an Array ")
print(" =============================")
x = [Link]([5, 10, 15])
#x = [Link](1,11)
y=1*x+5
[Link]("Matplotlib demo")
[Link]("x axis caption")
[Link]("y axis caption")
[Link](x,y)
[Link]()
OUTPUT
6. Implement a python program to demonstrate
Data visualization with various Types of Graphs using Numpy

Data Visualization

Data Visualization is the graphical representation of Data. It involves producing


efficient visual elements like charts, dashboards, graphs, mappings, etc.

• To install matplotlib, go to anaconda prompt and run the following


command

pip install matplotlib

• Verify whether the matplotlib is properly installed using the following


command in Jupyter notebook.

import matplotlib matplotlib.__version__

How to use Matplotlib

Before using matplotlib, we need to import the package. This can be done using
the ‘import’ method in Jupyter notebook. PyPlot is the graphical module in
matplotlib which is mostly used for data visualization, importing PyPlot is
sufficient to work around data visualization.

Create a Simple Plot


Here we will be depicting a basic plot using some random numbers generated
using NumPy. The simplest way to create a graph is using the ‘plot()’ method. To
generate a basic plot, we need two axes (X) and (Y), and we will generate two
random numbers using the ‘linspace()’ method from Numpy.
# import matplotlib library as mpl

import matplotlib as mpl

#import the pyplot module from matplotlib as plt (short name used for referring
the object)

import [Link] as plt

# import the NumPy package

import numpy as np

# generate random number using NumPy, generate two sets of random numbers
and store in x, y

x = [Link](0,50,100)

y = x * [Link](100,150,100)

# Create a basic plot

[Link](x,y)

Adding Elements to Plot

The plot generated above does not have all the elements to understand it better.
Let’s try to add different elements for the plot for better interpretation. The
elements that could be added for the plot includes title, x-Label, y-label, x-limits,
y-limits.
# set different elements to the plot generated above
# Add title using ‘[Link]’
# Add x-label using ‘[Link]’
# Add y-label using ‘[Link]’
# set x-axis limits using ‘[Link]’
# set y-axis limits using ‘[Link]’
# Add legend using ‘[Link]’

x = [Link](0,50,100)

y = x * [Link](100,200,100)

[Link](x,y)

[Link]("Basic Plot")

[Link]("X-Axis")

[Link]("Y-Axis")

[Link](0,60)

[Link](0,15000)
Add few more elements to the plot like color, markers, line customization.

# add color, style, width to line element

[Link](x, y, c = 'r', linestyle = '--', linewidth=2)

# add markers to the plot, marker has different elements i.e., style, color, size
etc.,

[Link] (x, y, marker='*', markersize=3, c='g')


[Link] (x, y, marker='*', markersize=3, c='g', label='normal')

# add grid using grid() method

[Link](True)

# add legend and label

[Link]()

# A legend is an area describing the elements of the graph. In the matplotlib library, there’s a
# function called legend() which is used to Place a legend on the axes.
Bar Graph:

Bar graph represents the data using bars either in Horizontal or Vertical directions.

Function:

•The function used to show bar graph is ‘[Link]()’

•The bar() function expects two lists of values one on x-coordinate and another on y-coordinate

Customizations:

[Link]() function has the following specific arguments that can be used for configuring the plot.

•Width, Color, edge colour, line width, tick_label, align, bottom,

•Error Bars – xerr, yerr

# simple bar chart

# x-axis is shows the subject and y -axis shows the markers in each subject

subject = ['Python','IOT','SPM','AJP','Software Testing']

marks =[70,80,50,30,78]

[Link](subject,marks) [Link]()
# customizations

#width – shows the bar width and default value is 0.8

#color – shows the bar color

#bottom – value from where the y – axis starts in the chart i.e., the lowest value on y-axis shown

#align – to move the position of x-label, has two options ‘edge’ or ‘center’

#edgecolor – used to color the borders of the bar

#linewidth – used to adjust the width of the line around the bar

#tick_label – to set the customized labels for the x-axis

[Link](subject, marks, color='g', width=0.5, bottom=10, align ='center', dgecolor='r', linewidth=2,


tick_label=subject)

Pie Chart:

Pie charts display the proportion of each value against the total sum of values. This chart requires a
single series to display. The values on the pie chart shows the percentage contribution in terms of a
pie called Wedge/Widget.

Function:

•The function used for pie chart is ‘[Link]()’

•To draw a pie chart, we need only one list of values, each wedge is calculated as proportion
converted into angle.

Customisations: [Link]() function has the following specific arguments that can be used for
configuring the plot.
# pie plot

# Assume that we have a Vaccination data on each day

# We would like to know the vaccination in terms of tickets closed in the week

# data

Doses = [102, 20, 80, 35, 30, 25,60]

Days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']

# create pie chart

[Link](Doses, labels=Days)

#Let’s add additional parameters to pie plot

#explode – to move one of the wedges of the plot

#autopct – to add the contribution %

explode = [0.2,0.1,0,0.1,0,0,1]

[Link](Doses, labels = Days, explode=explode, autopct='%1.1f%%')


Scatter Plot

Scatterplot is used to visualize the relationship between two columns/series of data.

Function:

The function used for the scatter plot is ‘[Link]()’

# Simple scatter plot

# generate the data with random numbers

x = [Link](1000)

y = [Link](1000)

[Link](x,y)
7. Write a Python program that creates a mxn integer array and
Prints its attributes using matplotlib

import numpy as np

import [Link] as plt

q1=[Link]([[1,1,5],
[3,3,3],
[1,1,5]])
[Link](q1)

[Link]()

[Link]()

q2=[Link](range(12,24))

q2=[Link](3,4)

[Link](q2,cmap='rainbow')

[Link]()

[Link]()

q3=[Link](range(1,201))

q3=[Link](20,10)

q3[2,2]=100

q3[5,3]=9

[Link](q3,cmap='jet')

[Link]()

[Link]()
OUTPUT:
import numpy as np

import [Link] as plt

# create a 8x8 matrix of two numbers-0 and 1.

# O represents dark color and 1 represents bright color

arr=[Link]([[1,0]*4,[0,1]*4]*4)

print(arr)

# use the imshow function to display the image made from the above array

[Link](arr)

OUTPUT:
8. Write a Python program to demonstrate the generation of
linear regression models.

Linear Regression Model Representation


Linear regression is an attractive model because the representation is so simple.
linear regression, a straight-line fit to data. A straight-line fit is a model of the
form y = ax + b where a is commonly known as the slope, and b is commonly
known as the intercept.

# linear regression
import numpy as np
from sklearn.linear_model import LinearRegression
from matplotlib import pyplot as plt

x=[Link]([1,0,20,40,50,70,80,90,120])
y=[Link]([3,20,90,110,130,170,150,200,260])

linreg=LinearRegression()
x=[Link](-1,1)
[Link](x,y)
y_pred=[Link](x)
[Link](x,y)
[Link](x,y_pred,color='red')
[Link]()
OUTPUT:
9. Write a Python program to demonstrate the generation of
logistic regression models using Python.

Logistic Regression is a Supervised Machine Learning model which works


on binary or multi categorical data variables as the dependent variables. That
is, it is a Classification algorithm which segregates and classifies the binary or
multilabel values separately.
For example, if a problem wants us to predict the outcome as ‘Yes’ or ‘No’, it is
then the Logistic regression to classify the dependent data variables and figure
out the outcome of the data.

# Importing the needed Python packages

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn import metrics
import seaborn as sn
import [Link] as plt

# Build a dataframe

Candidates = {'gmat': [ 780,750,690,710,680,730,690, 720, 740, 690, 610, 690,


710, 680, 770,610, 580, 650, 540, 590, 620, 600, 550, 550, 570, 670, 660, 580,
650, 660,640,620,660,660,680,650,670,580,590,690],

'gpa': [4, 3.9, 3.3, 3.7, 3.9, 3.7, 2.3, 3.3, 3.3, 1.7, 2.7, 3.7, 3.7, 3.3, 3.3, 3, 2.7,
3.7, 2.7, 2.3, 3.3, 2, 2.3, 2.7, 3, 3.3, 3.7, 2.3, 3.7, 3.3, 3, 2.7, 4, 3.3, 3.3, 2.3, 2.7,
3.3, 1.7,3.7],

'work_experience': [3, 4, 3, 5, 4, 6, 1, 4, 5, 1, 3 , 5, 6, 4, 3, 1, 4, 6, 2, 3, 2, 1, 4,
1, 2, 6, 4, 2, 6, 5, 1, 2, 4, 6, 5, 1, 2, 1, 4, 5],

'admitted': [1,1,0,1,0,1,0,1,1,0,0, 1, 1, 0, 1, 0, 0,1, 0, 0,1, 0,0, 0,0, 1,1, 0,1, 1, 0,


0, 1, 1,1, 0, 0, 0, 0, 1] }
df = [Link](candidates,columns= ['gmat', 'gpa', 'work_experience',
'admitted'])

# Create the logistic regression in Python


# set the independent variables (represented as X) and the dependent variable
# (represented as y):

X = df[['gmat', 'gpa','work_experience']]
y = df['admitted']

#Then, apply train_test_split. For example, you can set the test size to 0.25, and
# therefore the model testing will be based on 25% of the dataset, while the
# model training will be based on 75% of the dataset:

X_train,X_test,y_train,y_test =
train_test_split(X,y,test_size=0.25,random_state=0)

#Apply the logistic regression as follows:


logistic_regression= LogisticRegression()
logistic_regression.fit(X_train,y_train)
y_pred=logistic_regression.predict(X_test)

#Get the Confusion Matrix:


confusion_matrix = [Link](y_test, y_pred, rownames=['Actual'],
colnames=['Predicted'])
[Link](confusion_matrix, annot=True)

# print the Accuracy and plot the Confusion Matrix:


print('Accuracy: ',metrics.accuracy_score(y_test, y_pred))
[Link]()

print (X_test) #test dataset


print (y_pred) #predicted values
OUTPUT:

Can be observed from the matrix:

• TP = True Positives = 4
• TN = True Negatives = 4
• FP = False Positives = 1
• FN = False Negatives = 1

You can then also get the Accuracy using:


Accuracy = (TP+TN)/Total = (4+4)/10 = 0.8

The accuracy is therefore 80% for the test set.


10. Write a Python program to demonstrate Timeseries analysis
with Pandas.

o plot a time series in Python using matplotlib, we can take the following steps −

• Create x and y points, using numpy.

• Plot the created x and y points using the plot() method.

• To display the figure, use the show() method.

rc (runtime configuration) settings in a python script or interactively from the python shell. All rc settings are
stored in a dictionary-like variable called [Link]

[Link](2019, 2, 15, 18, 54, 58, 291224)

The output is in the following order: ‘year’, ‘month’, ‘date’, ‘hour’, ‘minute’,
‘seconds’, ‘microseconds’. To get the date alone, use
the [Link]() instead.

import [Link] as plt


import datetime
import numpy as np
[Link]["[Link]"] = [7.50, 3.50]
[Link]["[Link]"] = True
x = [Link]([[Link](2021, 1, 1, i, 0) for i in range(24)])
y = [Link](100, size=[Link])
[Link](x, y)
[Link]()
OUTPUT:
11. Write a Python program to demonstrate Data Visualization
using Seaborn

Seaborn is an visualization library for statistical graphics plotting in Python. It


is built on the top of matplotlib library and also closely integrated into the data
structures from pandas.
# Importing libraries
import numpy as np
import seaborn as sns

# Selecting style as white, dark, whitegrid, darkgrid or ticks


[Link]( style = "white" )

# Generate a random univariate dataset


rs = [Link]( 10 )
d = [Link]( size = 50 )

# Plot a simple histogram with binsize determined automatically


[Link](d, color = "g")

OUTPUT:

You might also like