You are on page 1of 13

[1] 

Write a program to generate a series of float numbers from 41.0 to


60.0 with an increment of 2.5 each.
Solution:
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()
The Output is:

[2] Write a program to generate a series of 10 numbers with a scalar


value of 44.
Solution:
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.


Solution:
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("~~~~~~~~~~~~~~~~~~~~~~~")
print(s)
#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()

[4] Given a Series, print all the elements that are above the 75th
percentile.
Solution:
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.
Solution:
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.


Solution:
import pandas as pd

data = [["Virat",55,66,31],["Rohit",88,66,43],[
"Hardik",99,101,68]]

players = pd.DataFrame(data,
columns = ["Name","Match-1","Match-2","Match-3"])

print("Iterating by rows:")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
for index, row in players.iterrows():
print(index, row.values)

print("Iterating by columns:")
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
for index, row in players.iterrows():
print(index, 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("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
#Method 1
print(Sales[[2014,2015]])

#Method 2
print(Sales[Sales.columns[0:2]])

#Method 3
print(Sales.iloc[:, 0:2] )
[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
 [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.
Solution:
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")

#Method 1
print(sales[2018])

#Method 2
print(sales.loc[:,2018])

print("Sales made by Kapil and Mohini:")


#Method 1
print(sales.loc[['Kapil','Mohini'], [2019,2020]])

#Method 2
print(sales.loc[sales.index.isin(["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=sales.drop("Shikhar",axis=0)
#sales.drop("kinshuk")
print(sales)

sales=sales.rename({"Kamini":"Rani","Kapil":"Anil"},axis="index")
print(sales)

sales.loc[sales.index=="Mohini",2018]=150
print(sales)

[11] Plot the following data on a line chart and customize


the chart according to the below-given 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',marker='D'
)
pp.title("The Monthly Sales Report")
pp.xlabel("Months")
pp.ylabel("Sales")
pp.legend()
pp.show()
Ouptut:
practical file questions matplotlib pyplot for class 12 IP

[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 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.
import matplotlib.pyplot as pp
day =['Monday','Tuesday','Wednesday','Thursday','Friday']
ct = [450,560,400,605,580]
js = [490,600,425,610,625]
pp.plot(day,ct,label='Cotton',color='g',linestyle='dotted',marker='+')
pp.plot(day,js,label='Food',color='m',linestyle='dashdot',marker='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.
The solution is available in the PDF.
[14] Observe following data and plot data according to
given instructions:

Batsman 2017 2018 2019 2020

Virat Kohli 2501 1855 2203 1223

Steve Smith 2340 2250 2003 1153

Babar Azam 1750 2147 1896 1008

Rohit Sharma 1463 1985 1854 1638

Kane Williamson 1256 1785 1874 1974

Jos Butler 1125 1853 1769 1436


1. Create a bar chart to display data of Virat Kohli & Rohit
Sharma.
2. Customize the chart in this manner
1. Use different widths
2. Use different colors to represent different years score
3. Display appropriate titles for axis and chart
4. Show legends
5. Create a bar chart to display data of Steve Smith, Kane
Williamson & Jos Butler. Customize Chart as per your
wish.
6. Display data of all players for the specific year.

You might also like