Welcome back, review and standard distribution
NumPy
NumPy (or Numpy) is a Linear Algebra Library for Python, the reason it is so important for Data Science with Python is that almost all of the libraries in the PyData Ecosystem rely on NumPy as one of their main building blocks.
Numpy is also incredibly fast, as it has bindings to C libraries. For more info on why you would want to use Arrays instead of lists, check out this great StackOverflow post.
We will only learn the basics of NumPy, to get started we need to install it!
Using NumPy
Once you've installed NumPy you can import it as a library:
import numpy as np
my_list = [1,2,3]
np.array(my_list)
my_matrix = [[1,2,3],[4,5,6],[7,8,9]] my_matrix
np.array(my_matrix)
np.arange(0,10)
np.arange(0,11,2)
np.zeros(3)
np.zeros((5,5))
np.ones((3,3))
np.linspace(0,10,50)
Creates an identity matrix
np.eye(4)
Create an array of the given shape and populate it with random samples from a uniform distribution over [0, 1).
np.random.rand(2)
np.random.rand(5,5)
Return a sample (or samples) from the "standard normal" distribution. Unlike rand which is uniform:
np.random.randn(2)
np.random.randn(5,5)
Return random integers from low (inclusive) to high (exclusive).
np.random.randint(1,100)
np.random.randint(1,100,10)
Let's discuss some useful attributes and methods or an array:
arr = np.arange(25) ranarr = np.random.randint(0,50,10)
arr
ranarr
Reshape Returns an array containing the same data with a new shape.
arr.reshape(5,5)
max,min,argmax,argmin
These are useful methods for finding max or min values. Or to find their index locations using argmin or argmax
ranarr
ranarr.max()
ranarr.argmax()
ranarr.min()
ranarr.argmin()
Shape
Shape is an attribute that arrays have (not a method):
# Vector arr.shape
# Notice the two sets of brackets arr.reshape(1,25)
arr.reshape(1,25).shape
arr.reshape(25,1)
arr.reshape(25,1).shape
dtype
You can also grab the data type of the object in the array:
arr.dtype