NumPy NumPy is the fundamental package for scientific computing with Python.
Basics One of the most commonly used functions of NumPy are NumPy arrays : The essential difference between lists and NumPy arrays is functionality and speed. lists give you basic operation, but NumPy adds basic statistics, linear algebra, histograms, etc.
The most important difference for data science is the ability to do element-wise calculations with NumPy arrays .
axis 0
always refers to row
axis 1
always refers to column
Operator
Description
Documentation
np.array([1,2,3])
1d array
link
np.array([(1,2,3),(4,5,6)])
2d array
see above
np.arange(start,stop,step)
range array
link
Operators
Description
Documentation
np.linspace(0,2,9)
Add evenly spaced values btw interval to array of length
link
np.zeros((1,2))
Create and array filled with zeros
link
np.ones((1,2))
Creates an array filled with ones
link
np.random.randint(0, 5, (5,5))
Creates random array
link
np.empty((2,2))
Creates an empty array
link
Examples
import numpy as np
x = np.array([1 ,2 ,3 ])
y = np.array([(1 ,2 ,3 ),(4 ,5 ,6 )])
x = np.arange(3 )
>>> array([0 , 1 , 2 ])
y = np.arange(3.0 )
>>> array([ 0. , 1. , 2. ])
x = np.arange(3 ,7 )
>>> array([3 , 4 , 5 , 6 ])
y = np.arange(3 ,7 ,2 )
>>> array([3 , 5 ])
Array Array Properties
Syntax
Description
Documentation
array.shape
Dimensions (Rows,Columns)
link
len(array)
Length of Array
link
array.ndim
Number of Array Dimensions
link
array.size
Number of Array Elements
link
array.dtype
Data Type
link
array.astype(type)
Converts to Data Type
link
type(array)
Type of Array
link
Copying
Operators
Descriptions
Documentation
np.copy(array)
Creates copy of array
link
other = array.copy()
Creates deep copy of array
see above
Array Manipulation Routines Slicing and Subsetting
Operator
Description
Documentation
array[i]
1d array at index i
link
array[i,j]
2d array at index[i][j]
see above
array[i<4]
Boolean Indexing
see above
array[0:3]
Select items of index 0, 1 and 2
see above
array[0:2,1]
Select items of rows 0 and 1 at column 1
see above
array[:1]
Select items of row 0 (equals array[0:1, :])
see above
array[1:2, :]
Select items of row 1
see above
[comment]: <> (
array[1,...]
equals array[1,:,:]
array[ : :-1]
Reverses array
see above
Examples
b = np.array([(1 , 2 , 3 ), (4 , 5 , 6 )])
print (b[0 :1 , 2 ])
>>> [3 ]
print (b[:len (b), 2 ])
>>> [3 6 ]
print (b[0 , :])
>>> [1 2 3 ]
print (b[0 , 2 :])
>>> [3 ]
print (b[:, 0 ])
>>> [1 4 ]
c = np.array([(1 , 2 , 3 ), (4 , 5 , 6 )])
d = c[1 :2 , 0 :2 ]
print (d)
>>> [[4 5 ]]
Combining Arrays
Operator
Description
Documentation
np.concatenate((a,b),axis=0)
Concatenates 2 arrays, adds to end
link
np.vstack((a,b))
Stack array row-wise
link
np.hstack((a,b))
Stack array column wise
link
Example
import numpy as np
a = np.array([1 , 3 , 5 ])
b = np.array([2 , 4 , 6 ])
print (np.vstack((a,b)))
>>> [[1 3 5 ]
[2 4 6 ]]
print (np.hstack((a,b)))
>>> [1 3 5 2 4 6 ]
Shaping Arrays
Operator
Description
Documentation
other = ndarray.flatten()
Flattens a 2d array to 1d
link
ravel
Return a contiguous flattened array
link
reshape
reshape an array
link
resize
Return a new array with the specified shape
link
array = np.transpose(other)
array.T
Transpose array
link
Mathematics Operations
Operator
Description
Documentation
np.add(x,y)
x + y
Addition
link
np.substract(x,y)
x - y
Subtraction
link
np.divide(x,y)
x / y
Division
link
np.multiply(x,y)
x * y
Multiplication
link
np.sqrt(x)
Square Root
link
np.sin(x)
Element-wise sine
link
np.cos(x)
Element-wise cosine
link
np.log(x)
Element-wise natural log
link
np.dot(x,y)
Dot product, x @ y
link
Remember: NumPy array operations work element-wise.
Example
a = np.array([1 , 2 , 3 ])
b = np.array([(1 , 2 , 3 ), (4 , 5 , 6 )])
print (np.add(a, b))
>>> [[2 4 6 ]
[5 7 9 ]]
Comparison
Operator
Description
Documentation
np.array_equal(x,y)
Array-wise comparison
link
Example
z = np.array([1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ])
c = z < 6
print (c)
>>> [ True True True True True False False False False False ]
More (Reduction)
Operator
Description
Documentation
array.sum()
Array-wise sum
link
array.min()
Array-wise minimum value
link
array.max(axis=0)
Maximum value of specified axis