Skip to content

NumPy Cheat Sheet

NumPy is an open-source numerical computing extension for Python. It can be used to store and process large matrices, which is much more efficient than Python’s own nested list structure (which can also be used to represent matrices).

Description

Use arr to represent a NumPy array object.

Importing Modules

import numpy as np

Import/Export

np.loadtxt(‘file.txt’) Read from text file
np.genfromtxt(‘file.csv’,delimiter=’,’) Read from CSV file
np.savetxt(‘file.txt’,arr,delimiter=’ ‘) Write to text file
np.savetxt(‘file.csv’,arr,delimiter=’,’) Write to CSV file

Creating Arrays

np.array([1,2,3]) 1D array
np.array([(1,2,3),(4,5,6)]) 2D array
np.zeros(3) 1D array of length 3 with all zeros
np.ones((3,4)) 3x4 array with all ones
np.eye(5) 5x5 identity matrix (1s on diagonal, 0s elsewhere)
np.linspace(0,100,6) Array of 6 values from 0 to 100
np.arange(0,10,3) Array of values from 0 to less than 10 with step 3 (e.g. [0,3,6,9])
np.full((2,3),8) 2x3 array with all values as 8
np.random.rand(4,5) 4x5 array of random floats between 0-1
np.random.rand(6,7)*100 6x7 array of random floats between 0-100
np.random.randint(5,size=(2,3)) 2x3 array with random ints between 0-4

Inspecting Properties

arr.size Returns the total number of elements in the array
arr.shape Returns the dimensions of the array
arr.dtype Returns the type of elements in the array
arr.astype(dtype) Converts array elements to type dtype
arr.tolist() Converts array to a list
np.info(np.eye) View documentation for np.eye

Copying/Sorting/Reshaping

np.copy(arr) Copies arr to new memory
arr.view(dtype) Creates view of arr elements with type dtype
arr.sort() Sorts arr
arr.sort(axis=0) Sorts specific axis of arr
two_d_arr.flatten() Flattens 2D array two_d_arr to 1D
arr.T Transposes arr (rows become columns and vice versa)
arr.reshape(3,4) Reshapes arr to 3 rows, 4 columns without changing data
arr.resize((5,6)) Changes arr shape to 5x6 and fills new values with 0

Adding/Deleting Elements

np.append(arr,values) Appends values to end of arr
np.insert(arr,2,values) Inserts values into arr before index 2
np.delete(arr,3,axis=0) Deletes row at index 3 of arr
np.delete(arr,4,axis=1) Deletes column at index 4 of arr

Combining/Splitting

np.concatenate((arr1,arr2),axis=0) Adds arr2 as rows to the end of arr1
np.concatenate((arr1,arr2),axis=1) Adds arr2 as columns to end of arr1
np.split(arr,3) Splits arr into 3 sub-arrays
np.hsplit(arr,5) Splits arr horizontally at the 5th index

Indexing/Slicing/Subsetting

arr[5] Returns the element at index 5
arr[2,5] Returns the 2D array element at index [2][5]
arr[1]=4 Assigns array element at index 1 the value 4
arr[1,3]=10 Assigns array element at index [1][3] the value 10
arr[0:3] Returns elements at indices 0,1,2 (For 2D: returns rows 0,1,2)
arr[0:3,4] Returns elements on rows 0,1,2 at column 4
arr[:2] Returns elements at indices 0,1 (For 2D: returns rows 0,1)
arr[:,1] Returns elements at index 1 on all rows
arr<5 Returns an array with boolean values
(arr1<3) & (arr2>5) Returns an array with boolean values
~arr Inverts a boolean array
arr[arr<5] Returns array elements smaller than 5

Scalar Math

np.add(arr,1) Add 1 to each array element
np.subtract(arr,2) Subtract 2 from each array element
np.multiply(arr,3) Multiply each array element by 3
np.divide(arr,4) Divide each element by 4 (returns np.nan for division by zero)
np.power(arr,5) Raise each array element to the 5th power

Vector Math

np.add(arr1,arr2) Elementwise add arr2 to arr1
np.subtract(arr1,arr2) Elementwise subtract arr2 from arr1
np.multiply(arr1,arr2) Elementwise multiply arr1 by arr2
np.divide(arr1,arr2) Elementwise divide arr1 by arr2
np.power(arr1,arr2) Elementwise raise arr1 to the power of arr2
np.array_equal(arr1,arr2) Returns True if arrays have same elements and shape
np.sqrt(arr) Square root of each element in the array
np.sin(arr) Sine of each element in the array
np.log(arr) Natural log of each element in the array
np.abs(arr) Absolute value of each element in the array
np.ceil(arr) Rounds up to the nearest int
np.floor(arr) Rounds down to the nearest int
np.round(arr) Rounds to the nearest int

Statistics

np.mean(arr,axis=0) Returns mean along specific axis
arr.sum() Returns sum of arr
arr.min() Returns minimum value of arr
arr.max(axis=0) Returns maximum value of specific axis
np.var(arr) Returns the variance of array
np.std(arr,axis=1) Returns the standard deviation of specific axis
arr.corrcoef() Returns correlation coefficient of array