Deep - Di v e on Classes W OR K IN G W ITH TH E C L ASS SYSTE M - - PowerPoint PPT Presentation

deep di v e on classes
SMART_READER_LITE
LIVE PREVIEW

Deep - Di v e on Classes W OR K IN G W ITH TH E C L ASS SYSTE M - - PowerPoint PPT Presentation

Deep - Di v e on Classes W OR K IN G W ITH TH E C L ASS SYSTE M IN P YTH ON Vicki Bo y kis Senior Data Scientist Working w ith DataFrames WORKING WITH THE CLASS SYSTEM IN PYTHON Introd u cing the DataShell WORKING WITH THE CLASS SYSTEM IN


slide-1
SLIDE 1

Deep-Dive on Classes

W OR K IN G W ITH TH E C L ASS SYSTE M IN P YTH ON

Vicki Boykis

Senior Data Scientist

slide-2
SLIDE 2

WORKING WITH THE CLASS SYSTEM IN PYTHON

Working with DataFrames

slide-3
SLIDE 3

WORKING WITH THE CLASS SYSTEM IN PYTHON

Introducing the DataShell

slide-4
SLIDE 4

WORKING WITH THE CLASS SYSTEM IN PYTHON

Full Class

class DataShell: def __init__(self, filename): self.filename = filename def create_datashell(self): self.array = np.genfromtxt(self.filename, delimiter=',', dtype=None) return self.array def rename_column(self, old_colname, new_colname): for index, value in enumerate(self.array[0]): if value == old_colname.encode('UTF-8'): self.array[0][index] = new_colname return self.array def show_shell(self): print(self.array) def five_figure_summary(self, col_pos): statistics = stats.describe(self.array[1:,col_pos].astype(np.float)) return f"Five-figure stats of column {col_position}: {statistics}"

slide-5
SLIDE 5

WORKING WITH THE CLASS SYSTEM IN PYTHON

Creating a New Class

class DataShell: pass

slide-6
SLIDE 6

WORKING WITH THE CLASS SYSTEM IN PYTHON

Parts of a Class in Detail

class DataShell: def __init__(self, filename): self.filename = filename # attribute def create_datashell(self): self.array = np.genfromtxt(self.filename, delimiter=',', dtype=None) return self.array def rename_column(self, old_colname, new_colname): for index, value in enumerate(self.array[0]): if value == old_colname.encode('UTF-8'): self.array[0][index] = new_colname return self.array

slide-7
SLIDE 7

WORKING WITH THE CLASS SYSTEM IN PYTHON

How to Call the Class

class DataShell(): # some methods and attributes here

  • ur_data_shell = DataShell('mtcars.csv')
  • ur_data_shell

<__main__.DataShell at 0x7f58df61de80>

slide-8
SLIDE 8

Let's practice!

W OR K IN G W ITH TH E C L ASS SYSTE M IN P YTH ON

slide-9
SLIDE 9

__Init__ializing a class

W OR K IN G W ITH TH E C L ASS SYSTE M IN P YTH ON

Vicki Boykis

Senior Data Scientist

slide-10
SLIDE 10

WORKING WITH THE CLASS SYSTEM IN PYTHON

Understanding Constructors with Init

Empty Constructor

class Dinosaur: def __init__(self): pass

Constructor with Aributes

class Dinosaur: def __init__(self): self.tail = 'Yes'

slide-11
SLIDE 11

WORKING WITH THE CLASS SYSTEM IN PYTHON

Init and Our DataShell

# Modeled on Pandas read_csv pandas.read_csv('mtcars.csv')

Creating the DataShell with a Constructor

class DataShell: def __init__(self, filename): self.filename = filename

slide-12
SLIDE 12

WORKING WITH THE CLASS SYSTEM IN PYTHON

Understanding Self

class DataShell: def __init__(self, filename): self.filename = filename

Initializing the Car DataShell

car_data_shell = DataShell('mtcars.csv') def __init__(car_data_shell, 'mtcars.csv'): self.filename = filename

Initializing the ForestFire DataShell

forest_fires_data_shell = DataShell('forestfires.csv') def __init__(forest_fires_data_shell, 'forestfires.csv'): self.filename = filename

slide-13
SLIDE 13

WORKING WITH THE CLASS SYSTEM IN PYTHON

Self is not a Python keyword but we use it like one

# Printing out the keyword list import keyword print(keyword.kwlist) ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'd 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] # Using this as an object referece def __init__(this, filename): this.filename = filename

slide-14
SLIDE 14

Let's practice!

W OR K IN G W ITH TH E C L ASS SYSTE M IN P YTH ON

slide-15
SLIDE 15

Class and Instance Variables

W OR K IN G W ITH TH E C L ASS SYSTE M IN P YTH ON

Vicki Boykis

Senior Data Scientist

slide-16
SLIDE 16

WORKING WITH THE CLASS SYSTEM IN PYTHON

Class Variables

# Our Dinosaur Class class Dinosaur(): eyes = 2 def __init__(self, teeth): self.teeth = teeth # Building a Stegosaurus stegosaurus = Dinosaur(40) stegosaurus.teeth = 40 Stegosaurus.teeth 40 Stegosaurus.eyes 2

slide-17
SLIDE 17

WORKING WITH THE CLASS SYSTEM IN PYTHON

Instance Variables

# Our Dinosaur Class class Dinosaur(): eyes = 2 def __init__(self, teeth): self.teeth = teeth # Building a Triceratops Triceratops = Dinosaur(5) Triceratops.teeth = 5 Triceratops.teeth 5 Triceratops.eyes 2

slide-18
SLIDE 18

WORKING WITH THE CLASS SYSTEM IN PYTHON

Passing in parameters to objects

class DataShell(object): def __init__(self, filename): self.filename = filename

Results:

my_data_shell = DataShell('mtcars.csv') print(my_data_shell.filename) 'mtcars.csv'

slide-19
SLIDE 19

Let's practice!

W OR K IN G W ITH TH E C L ASS SYSTE M IN P YTH ON

slide-20
SLIDE 20

Methods in Classes

W OR K IN G W ITH TH E C L ASS SYSTE M IN P YTH ON

Vicki Boykis

Senior Data Scientist

slide-21
SLIDE 21

WORKING WITH THE CLASS SYSTEM IN PYTHON

Methods

class DataShell: # init method def __init__(self, filename): self.filename = filename # create_datashell method def create_datashell(self): self.array = np.genfromtxt(self.filename, delimiter=',', dtype=None) return self.array # rename_column method def rename_column(self, old_colname, new_colname): for index, value in enumerate(self.array[0]): if value == old_colname.encode('UTF-8'): self.array[0][index] = new_colname return self.array

slide-22
SLIDE 22

WORKING WITH THE CLASS SYSTEM IN PYTHON

Initializing Methods in Classes

def create_datashell(self): self.array = np.genfromtxt(self.filename, delimiter=',', dtype=None) return self.array

slide-23
SLIDE 23

WORKING WITH THE CLASS SYSTEM IN PYTHON

Methods with other parameters

def rename_column(self, old_colname, new_colname): for index, value in enumerate(self.array[0]): if value == old_colname.encode('UTF-8'): self.array[0][index] = new_colname return self.array

slide-24
SLIDE 24

WORKING WITH THE CLASS SYSTEM IN PYTHON

How to call methods

# Calling without passing in a parameters myDatashell.create_datashell() # Calling by passing in a parameter myDatashell.rename_column('cyl','cylinders')

slide-25
SLIDE 25

Let's practice!

W OR K IN G W ITH TH E C L ASS SYSTE M IN P YTH ON