You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[NumPy](https://numpy.org/) is the fundamental package for scientific computing with Python. This cheat sheet is a quick reference for NumPy beginners.
Getting started {.cols-2}
Introduction
You’ll also need to import numpy to get started:
importnumpyasnp
Importing/exporting
-
-
np.loadtxt('file.txt')
From a text file
np.genfromtxt('file.csv',delimiter=',')
From a CSV file
np.savetxt('file.txt',arr,delimiter=' ')
Writes to a text file
np.savetxt('file.csv',arr,delimiter=',')
Writes to a CSV file
Creating Arrays {.row-span-2}
-
-
np.array([1,2,3])
One dimensional array
np.array([(1,2,3),(4,5,6)])
Two dimensional array
np.zeros(3)
1D array of length 3 all values 0
np.ones((3,4))
3x4 array with all values 1
np.eye(5)
5x5 array of 0 with 1 on diagonal (Identity matrix)
np.linspace(0,100,6)
Array of 6 evenly divided values from 0 to 100
np.arange(0,10,3)
Array of values from 0 to less than 10 with step 3 (eg [0,3,6,9])
np.full((2,3),8)
2x3 array with all values 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 number of elements in arr
arr.shape
Returns dimensions of arr (rows,columns)
arr.dtype
Returns type of elements in arr
arr.astype(dtype)
Convert arr elements to type dtype
arr.tolist()
Convert arr to a Python 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/removing 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 on index 3 of arr
np.delete(arr,4,axis=1)
Deletes column on 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 on the 5th index
Indexing/slicing/subsetting
-
-
arr[5]
Returns the element at index 5
arr[2,5]
Returns the 2D array element on index [2][5]
arr[1]=4
Assigns array element on index 1 the value 4
arr[1,3]=10
Assigns array element on index [1][3] the value 10
arr[0:3]
Returns the elements at indices 0,1,2 (On a 2D array: returns rows 0,1,2)
arr[0:3,4]
Returns the elements on rows 0,1,2 at column 4
arr[:2]
Returns the elements at indices 0,1 (On a 2D array: returns rows 0,1)
arr[:,1]
Returns the 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
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 raised to the power of arr2
np.array_equal(arr1,arr2)
Returns True if the arrays have the 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
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 array element by 4 (returns np.nan for division by zero)