Intro Py Array
Intro Py Array
Python!
I N T R O D U C T I O N TO P
YTHON
Hugo Bowne-Anderson
Data Scientist at DataCamp
Variables and
Types
I N T R O D U C T I O N TO PYTHON
Variabl
e Specific, case-sensitive name
Call up value through variable name
1.79 m - 68.7 kg
height = 1.79
weight = 68.7
height
1.79
Calculate
BMI
height = 1.79 68.7 / 1.79 ** 2
weight = 68.7
height
21.4413
1.79
weight / height ** 2
weight
BMI = height 2 21.4413
21.4413
Reproducibilit
yheight = 1.79
weight = 68.7
bmi = weight / height ** 2
print(bmi)
21.4413
Reproducibilit
yheight = 1.79
weight = 74.2 # <-
bmi = weight / height ** 2
print(bmi)
23.1578
Python
Types
type(bmi)
float
day_of_week = 5
type(day_of_week)
int
Python Types
(2)
x = "body mass index"
y = 'this works
too' type(y)
str
z = True
type(z)
bool
Python Types
(3)
2 + 3
'ab' + 'cd'
'abcd'
Different
type =
different
behavior!
Python
Lists
I N T R O D U C T I O N TO P
YTHON
Python Data
Types
float - real numbers
int - integer
numbers str -
string, text
bool - True, False
height = 1.73
tall = True
Each
variable
represents
single value
Problem
Data Science: many data
Inc onvenien
t
Python
List
[a, b, c]
list
type(fam2)
list
Specific functionality
Specific behavior
Subset ing
lists
fam = ["liz", 1.73, "emma", 1.68, "mom", 1.71, "dad", 1.89]
fam
fam[3]
1.68
Subset ing
lists
['liz', 1.73, 'emma', 1.68, 'mom', 1.71, 'dad', 1.89]
fam[6]
'dad'
fam[-1]
1.89
fam[7]
1.89
Subset ing
lists
['liz', 1.73, 'emma', 1.68, 'mom', 1.71, 'dad', 1.89]
fam[6]
'dad'
fam[-1] # <-
1.89
fam[7] # <-
1.89
List
slicing
fam
fam[3:5]
[1.68, 'mom']
fam[1:4]
fam[:4]
fam[5:]
fam[7] = 1.86
fam
fam[0:2] = ["lisa",
1.74] fam
INTRODUCTION TO PYTHON
Functions
I N T R O D U C T I O N TO P
YTHON
Function
s Nothing new!
type()
Piece of reusable
code Solves
particular task
max(fam)
1.89
Exampl
e
fam = [1.73, 1.68, 1.71, 1.89]
fam
max(fam)
1.89
Exampl
e
fam = [1.73, 1.68, 1.71, 1.89]
fam
max(fam)
1.89
Exampl
e
fam = [1.73, 1.68, 1.71, 1.89]
fam
max(fam)
1.89
tallest = max(fam)
tallest
1.89
round(
)
round(1.68, 1)
1.7
round(1.68)
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
round(number)
round(number, ndigits)
Find
functions
How to know?
height = 1.73
height = 1.73
Methods: Functions
that belong to objects
Back 2
Basics
sister = "liz"
height = 1.73
Methods: Functions
that belong to objects
list
methods
fam
fam.count(1.73)
1
str
methods
sister
'liz'
sister.capitalize()
'Liz'
sister.replace("z", "sa")
'lisa'
Method
s Everything = object
Object have methods associated, depending on type
sister.replace("z", "sa")
'lisa'
fam.replace("mom", "mommy")
fam.index("mom")
4
Methods
(2)
fam
fam.append("me"
) fam
fam.append(1.79
) fam
['liz', 1.73, 'emma', 1.68, 'mom', 1.71, 'dad', 1.89, 'me', 1.79]
Summar
yunctions
F
type(fam)
list
fam.index("dad")
6
Packages
I N T R O D U C T I O N TO P
YTHON
Motivatio
nFunctions and methods are
powerful
Thousands of
packages available
NumPy
Matplotlib
sc ikit-learn
Install
package
http://pip.readthedocs.org/en/stable/installing/
Download get-pip.py
Terminal:
python3 get-pip.py
array([1, 2, 3])
array([1, 2, 3])
from numpy import
array
my_script.py
...
fam_ext = fam + ["me", 1.79]
...
print(str(len(fam_ext)) + "
elements in fam_ext")
...
np_fam = array(fam_ext)
...
fam_ext = fam + ["me", 1.79]
...
print(str(len(fam_ext)) + "
elements in fam_ext")
...
np_fam = np.array(fam_ext) #
Clearly using NumPy
NumPy
I N T R O D U C T I O N TO P
YTHON
Lists
Recap
Powerful
Collection of values
Speed
Illustratio
n
height = [1.73, 1.68, 1.71, 1.89,
1.79]
height
weight / height ** 2
Installation
In the terminal: pip3 install
numpy
NumP
y
import numpy as np
np_height = np.array(height)
np_height
np_weight = np.array(weight)
np_weight
np_height = np.array(height)
np_weight = np.array(weight)
np_weight / np_height ** 2
python_list + python_list
[1, 2, 3, 1, 2, 3]
numpy_array + numpy_array
array([2, 4, 6])
bmi[1]
20.975
bmi > 23
array([24.7473475])
2D NumPy Ar
ays
I N T R O D U C T I O N TO PYTHON
Type of NumPy
Arrays
import numpy as np
np_height = np.array([1.73, 1.68, 1.71, 1.89, 1.79])
np_weight = np.array([65.4, 59.2, 63.6, 88.4, 68.7])
type(np_height)
numpy.ndarray
type(np_weight)
numpy.ndarray
2D NumPy
Arrays
np_2d = np.array([[1.73, 1.68, 1.71, 1.89, 1.79],
[65.4, 59.2, 63.6, 88.4, 68.7]])
np_2d
np_2d.shape
np_2d[0]
np_2d[0][2]
1.71
np_2d[0, 2]
1.71
Subset
ing 0 1 2 3 4
65.4,
np_2d[:, 1:3]
np_2d[1, :]
array([[1.64, 71.78],
[1.37, 63.35],
[1.6 , 55.09],
...,
[2.04, 74.85],
[2.04, 68.72],
[2.01, 73.57]])
NumP
ynp.mean(np_city[:, 0])
1.7472
np.median(np_city[:, 0])
1.75
NumP
ynp.corrcoef(np_city[:, 0], np_city[:,
1])
array([[ 1. , -0.01802],
[-0.01803, 1.
]])
np.std(np_city[:, 0])
0.1992
number of samples
height =
np.round(np.random.normal(1.75,
0.20,
5000), 2)