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 npImport/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 |