Uploaded by aa aa

INDEX

advertisement
INDEX
No
1
2
3
Practical
Date
Write a program to generate a series of float numbers from 41.0 to
60.0 with an increment of 2.5 each.
Write a program to generate a series of 10 numbers with a scalar
value of 44.
Create a panda’s series from a dictionary of values and a ndarray.
4 Given a Series, print all the elements that are above the 75th
percentile.
5 Create a data frame for examination results and display row labels,
column labels data types of each column and the dimensions.
6
7
Create a dataframe and iterate them over rows.
Create a dataframe and print it along with their index using
iteritems().
8 Create the following DataFrame Sales containing year wise sales
figures for five salespersons in INR. Use the years as column
labels, and salesperson names.
9 Consider above dataframe and write code to do the following:
1. Display the last two rows of Sales.
2. Display the first two columns of Sales.
10 Use above dataframe and do the following:
1. Change the DataFrame Sales such that it becomes its
transpose.
2. Display the sales made by all sales persons in the year 2018.
3. Display the sales made by Kapil and Mohini in the year 2019
and 2020.
4. Add data to Sales for salesman Nirali where the sales made
are
5. [221, 178, 165, 177, 210] in the years [2018, 2019, 2020,
2021] respectively
Signature
6. Delete the data for the year 2018 from the DataFrame
Sales.
7. Delete the data for sales man Shikhar from the DataFrame
Sales.
8. Change the name of the salesperson Kamini to Rani and
Kapil to Anil.
9. Update the sale made by Mohini in 118 to 150 in 2018.
11
12
13
14
Plot the following data on a line chart and customize chart according to
below-given instructions:
Month
January
February
March
April
May
Sales
510
350
475
580
600
1. Write a title for the chart "The Monthly Sales Report"
2. Write the appropriate titles of both the axes
3. Write code to Display legends
4. Display blue color for the line
5. Use the line style - dashed
6. Display diamond style markers on data points
Pratyush Garments has recorded the following data into their register for
their income from cotton clothes and jeans. Plot them on the line chart.
Day
Monday Tuesday
Wednesday
Thursday
Friday
Cotton 450
560
400
605
580
Jeans
490
600
425
610
625
Apply following customization to the line chart.
1. Write a title for the chart "The Weekly Garment Orders".
2. Write the appropriate titles of both the axes.
3. Write code to Display legends.
4. Display your choice of colors for both the lines cotton and jeans.
5. Use the line style - dotted for cotton and dashdot for jeans.
6. Display plus markers on cotton and x markers of jeans.
Observe the given data for monthly views of one of the youtube
channels for 6 months. Plot them on the line chart.
Month
January
February
March
April May
June
Views
2500
2100
1700
3500
3000 3800
Apply the following customizations to the chart:
1. Give the title for the chart - "Youtube Stats"
2. Use the "Month" label for X-Axis and "Views" for Y-Axis.
3. Display legends.
4. Use dashed lines with the width 5 point.
5. Use red color for the line.
6. Use dot marker with blue edge color and black fill color.
Write a program to plot a range from 1 to 30 with step value 4. Use
following algebraic expression to show data: y = 5*x+2
Display following bowling figures through bar chart:
15
Overs
1
2
3
4
Runs
6
18
10
5
Part 1: Data Handling Using Pandas - I
[1] Write a program to generate a series of float numbers from 41.0 to 60.0 with an
increment of 2.5.
import pandas as pd
import numpy as np def
fl_ser():
n = np.arange(41,60,2.5)
s = pd.Series(n)
print(s) fl_ser()
[2] Write a program to generate a series of 10 numbers with a scalar value of 44.
import pandas as pd def
fl_scv():
print(pd.Series(44,range(1,11))) fl_scv()
[3] Create a panda’s series from a dictionary of values and a ndarray.
import pandas as pd
import numpy as np def
pro3():
#Creating series from a dictionary
d={'Jan':31,'Feb':28,'Mar':31,'Apr':30}
s=pd.Series(d)
print("Series from dictionary")
print("~~~~~~~~~~~~~~~~~~~~~~~")
#Creating series from an ndarray
ar=np.array([2,3,4,5,6])
print("\nSeries from ndarray")
print("~~~~~~~~~~~~~~~~~~~~~~~")
s1=pd.Series(ar)
print(s1)
pro3()
print(s)
[4] Given a Series, print all the elements that are above the 75th percentile.
import pandas as pd def
Ser_stumarks():
std_marks = []
for i
in range(1,6):
m = int(input("Enter the Percentile:"))
std_marks.append(m)
s =
pd.Series(index=range(1201,1206),data=std_marks)
print("Data fetched from the series are:")
print(s[s>=75])
Ser_stumarks()
[5] Create a data frame for examination results and display row labels, column labels
data types of each column and the dimensions.
import pandas as pd def
df_std_res():
res={'Amit':[76,78,75,66,68],
'Shialesh':[78,56,77,49,55],
'Rani':[90,91,93,97,99],
'Madan':[55,48,59,60,66],
'Radhika':[78,79,85,88,86]}
df=pd.DataFrame(res)
print("Prinitng row labels in a list:")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
idx=df.index
l=list(idx)
print(l)
print("Prinitng row labels in a list:")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
print("[",end=" ")
for col in
df.columns:
print(col,end=" ")
print("]")
print("Printing Data Types of each column")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
print(df.dtypes)
print("Printing dimensions of Data Frame")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
print(df.ndim) df_std_res()
[6] Create a dataframe and iterate them over rows.
import pandas as pd
data = [["Virat",55,66,31],["Rohit",88,66,43],[
"Hardik",99,101,68]]
players = pd.DataFrame(data,
columns
2","Match-3"])
=
["Name","Match-1","Match-
print("Iterating
by
rows:")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
index, row in players.iterrows():
print(index, row.values)
print("Iterating by columns:")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~") for index, row in
players.iterrows():
print(index,
for
row["Name"],row["Match-1"],
row["Match-2"],row["Match-3"])
[7] Create a dataframe and print it along with their index using iteritems().
import pandas as pd def
df_operations():
sc_4yrs={2016:{'Virat Kohli':2595,'Rohit
Sharma':2406,'Shikhar Dhawan':2378},
2017:{'Virat Kohli':2818,'Rohit Sharma':2613,'Shikhar
Dhawan':2295},
2018:{'Virat Kohli':2735,'Rohit Sharma':2406,'Shikhar
Dhawan':2378},
2019:{'Virat Kohli':2455,'Rohit Sharma':2310,'Shikhar
Dhawan':1844}}
df=pd.DataFrame(sc_4yrs)
print(df)
print("-----------------------------------------------------------------------")
for
(year,runs) in df.iteritems():
print("Year:",year)
print(runs) df_operations()
[8] Create the following DataFrame Sales containing year wise sales figures for five
salespersons in
INR. Use the years as column labels, and salesperson names as row labels.
2018
2019
2020
2021
Kapil
110
205
177
189
Kamini
130
165
175
190
Shikhar
115
206
157
179
Mohini
118
198
183
169
1. Create the DataFrame.
2. Display the row labels of Sales.
3. Display the column labels of Sales.
4. Display the data types of each column of Sales.
5. Display the dimensions, shape, size and values of Sales.
import pandas as
pd #Creating
DataFrame d =
{2018:[110,130,115
,118],
2019:[205,165,175,
190],
2020:[115,206,157,179],
2021:[118,198,183,169]}
sales=pd.DataFrame(d,index=['Kapil','Kamini','Shikhar','Mohini
'])
#Display row lables
print("Row Lables:\n",sales.index)
print("~~~~~~~~~~~~~~~~~~~~~~~~~~\n")
#Display column lables
print("Column Lables:\n",sales.columns)
print("~~~~~~~~~~~~~~~~~~~~~~~~~~\n")
#Display data type
print("\nDisplay column data types")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~") print(sales.dtypes)
print("\nDisplay the dimensions, shape, size and values of
Sales")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~")
print("Dimensions:",sales.ndim)
print("Shape:",sales.shape) print("Size:",sales.size)
print("Values:",sales.values)
[9] Consider above dataframe and write code to do the following:
1. Display the last two rows of Sales.
2. Display the first two columns of Sales.
import pandas as pd
#Creating DataFrame d =
{2018:[110,130,115,118],
2019:[205,165,175,190],
2020:[115,206,157,179],
2021:[118,198,183,169]}
sales=pd.DataFrame(d,index=['Kapil','Kamini','Shikhar','Mohini
'])
print("Display last two rows of DataFrame:")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
#Method 1
print("Using tail function:") print(Sales.tail(2))
#Method 2 print("Using
iloc")
print(Sales.iloc[-2:])
#With Specific Columns, I have prnted two columns
print("Sepcific Columns") print(Sales.iloc[-2:,-2:])
print("Display first two columns of Dataframe:")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
print(Sales[Sales.columns[0:2]])
[10] Use above (Question 9) dataframe and do the following:
1. Change the DataFrame Sales such that it becomes its transpose.
2. Display the sales made by all sales persons in the year 2018.
3. Display the sales made by Kapil and Mohini in the year 2019 and
2020.
4. Add data to Sales for salesman Nirali where the sales made are o
[221, 178, 165, 177, 210] in the years [2018, 2019, 2020,
2021] respectively
5. Delete the data for the year 2018 from the DataFrame Sales.
6. Delete the data for sales man Shikhar from the DataFrame Sales.
7. Change the name of the salesperson Kamini to Rani and Kapil to
Anil.
8. Update the sale made by Mohini in 118 to 150 in 2018.
import pandas as pd
#Creating DataFrame d =
{2018:[110,130,115,118],
2019:[205,165,175,190],
2020:[115,206,157,179],
2021:[118,198,183,169]}
sales=pd.DataFrame(d,index=['Kapil','Kamini','Shikhar','Mohini
'])
print("Transpose:")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~") print(sales.T)
print("\nSales made by each salesman in 2018")
print(sales.loc[:,2018])
print("Sales made by Kapil and Mohini:")
print(sales.loc[['Kapil','Mohini'], [2019,2020]]) print("Add
Data:")
sales.loc["Nirali"]=[221, 178, 165, 177] print(sales)
print("Delete Data for 2018:")
sales=sales.drop(columns=2018) print(sales)
Sales.drop(columns=2018,inplace=True) print(Sales)
sales.drop("kinshuk") print(sales)
sales=sales.rename({"Kamini":"Rani","Kapil":"Anil"},axis="inde
x") print(sales)
sales.loc[sales.index=="Mohini",2018
]=150 print(sales)
[11] Plot the following data on a line chart and customize chart according to belowgiven instructions:
Month January February March April May
Sales
510
350
475
580
600
Weekly Sales Report
1. Write a title for the chart "The Monthly Sales Report"
2. Write the appropriate titles of both the axes
3. Write code to Display legends
4. Display blue color for the line
5. Use the line style - dashed
6. Display diamond style markers on data points
import matplotlib.pyplot as pp
mon =['January','February','March','April','May'] sales
= [510,350,475,580,600]
pp.plot(mon,sales,label='Sales',color='b',linestyle='dashed',m
arker='D')
pp.title("The Monthly Sales Report")
pp.xlabel("
Months")
pp.ylabel("
Sales")
pp.legend()
pp.show()
Ouptut:
[12] Pratyush Garments has recorded the following data into their register for their
income from cotton clothes and jeans. Plot them on the line chart.
Day
Monday Tuesday Wednesday Thursday Friday
Cotton 450
560
400
605
580
Jeans
600
425
610
625
490
Apply following customization to the line chart.
1. Write a title for the chart "The Weekly Garment Orders".
2. Write the appropriate titles of both the axes.
3. Write code to Display legends.
4. Display your choice of colors for both the lines cotton and jeans.
5. Use the line style - dotted for cotton and dashdot for jeans.
6. Display plus markers on cotton and x markers of jeans.
import matplotlib.pyplot as pp day
=['Monday','Tuesday','Wednesday','Thursday','Fr
iday'] ct = [450,560,400,605,580]
js = [490,600,425,610,625]
pp.plot(day,ct,label='Cotton',color='g',linestyle='d
otted',mar ker='+')
pp.plot(day,js,label='Food',color='m',linestyle='das
hdot',mark er='x') pp.title("The Weekly Garment
Orders") pp.xlabel("Days") pp.ylabel("Orders")
pp.legend() pp.show()
Output:
[13] Observe the given data for monthly views of one of the youtube channels for 6
months. Plot them on the line chart.
Month January February March April May
June
Views 2500
2100
1700
3500
3000 3800
Apply the following customizations to the chart:
1. Give the title for the chart - "Youtube Stats"
2. Use the "Month" label for X-Axis and "Views" for Y-Axis.
3. Display legends.
4. Use dashed lines with the width 5 point.
5. Use red color for the line.
6. Use dot marker with blue edge color and black fill color.
import matplotlib.pyplot as pp
mon
=['January','February','March','April','May','June'
] views = [2500,2100,1700,3500,3000,3800]
pp.plot(mon,views,label='Views
State',color='r',linestyle='dashed', linewidth=4,\
marker='o', markerfacecolor='k',
markeredgecolor='b') pp.title("Youtube Stats")
pp.xlabel("Months") pp.ylabel("Views") pp.legend()
pp.show()
[14] Write a program to plot a range from 1 to 30 with step value 4. Use following
algebraic expression to show data.y = 5*x+2
import matplotlib.pyplot as pp
import numpy as np
np.arange(1,30,4)
pp.plot(x,y)
x =
y = 5 * x + 2
pp.show()
[15] Display following bowling figures through bar chart:
Overs Runs
1
6
2
18
3
10
4
5
import matplotlib.pyplot as pp
overs =[1,2,3,4]
runs=[6,18,10,5]
pp.bar(overs,runs,color='m')
pp.xlabel('Overs')
pp.xlabel('Runs')
pp.title('Bowling Spell Analysis')
pp.show()
Download