Working With The Class System in Python Chapter4
Working With The Class System in Python Chapter4
Vicki Boykis
Senior Data Scientist
DataCamp Object Oriented Programming in Python
Inheritance - A class that takes on attributes from another, "parent" class and adds
some more of its own functionality.
DataCamp Object Oriented Programming in Python
Two Dinosaurs
DataCamp Object Oriented Programming in Python
Inheriting a DataShell
# the class we want to create
StDevDataShell
class StDevDataShell(DataShell):
pass
DataCamp Object Oriented Programming in Python
Let's practice!
DataCamp Object Oriented Programming in Python
Vicki Boykis
Sr. Data Scientist
DataCamp Object Oriented Programming in Python
def create_datashell(self):
data_array = np.genfromtxt(self.filename, delimiter=',', dtype=None)
self.array = data_array
return self.array
def show_shell(self):
print(self.array)
def five_figure_summary(self,col_position):
statistics = stats.describe(self.array[1:,col_position]
.astype(np.float))
return f"Five-figure stats of column {col_position}: {statistics}"
DataCamp Object Oriented Programming in Python
column = self.array[1:,col_position].astype(np.float)
stdev = np.ndarray.std(column,axis=0)
return f"Standard Deviation of column {col_position}: {stdev}"
DataCamp Object Oriented Programming in Python
def __init__(self,filename):
DataShell.filename = filename
def get_stdev(self,col_position):
column = self.array[1:,col_position].astype(np.float)
stdev = np.ndarray.std(column,axis=0)
return f"Standard Deviation of column {col_position}: {stdev}"
DataCamp Object Oriented Programming in Python
carData = 'mtcars.csv'
myStDevShell = DataStDev(carData)
myStDevShell.create_datashell()
myStDevShell.get_stdev(1)
'Standard Deviation of column 1: 5.932029552301218'
DataCamp Object Oriented Programming in Python
Let's practice!
DataCamp Object Oriented Programming in Python
Composition
Vicki Boykis
Senior Data Scientist
DataCamp Object Oriented Programming in Python
Composition In a DataShell - 1
def five_figure_summary(self,col_position):
statistics = stats.describe(self.array[1:,col_position].astype(np.float))
return f"Five-figure stats of column {col_position}: {statistics}"
DataCamp Object Oriented Programming in Python
Composition In a DataShell - 2
def create_datashell(self):
data_array = np.genfromtxt(self.filename, delimiter=',', dtype=None)
self.array = data_array
return self.array
DataCamp Object Oriented Programming in Python
class DataShell:
def __init__(self, filename):
self.filename = filename
def create_datashell(self):
data_array = np.genfromtxt(self.filename, delimiter=',', dtype=None)
self.array = data_array
return self.array
class DataShellComposed:
def __init__(self, filename):
self.filename = filename
def create_datashell(self):
self.df = pandas.read_csv()
return self.df
DataCamp Object Oriented Programming in Python
Let's practice!
DataCamp Object Oriented Programming in Python
Wrapping Up OOP
Vicki Boykis
Senior Data Scientist
DataCamp Object Oriented Programming in Python
Understanding Objects
DataCamp Object Oriented Programming in Python
Classes:
The DataShell
DataCamp Object Oriented Programming in Python
Final Steps