This post aims to cover the basics of Numpy. Let's do this.
NumPy refers to Numerical Python which is a Python library used array manipulation.
To use the NumPy library import it as:
import numpy as np
np is the conventional alias for numpy.
The main object of Numpy is the ndarray (N-dimensional array) object which is a powerful and faster that Python lists. The ndarray is a multidimensional array of homogeneous data; all elements in the array have the same data type.
Use the ndarray class to create ndarray objects and access their attributes and methods.
Using the numpy.array() function
import numpy as np a = np.array([1, 2, 3])
You can also create an array with zeros only or ones only
#array filled with zeros; creates array with 5 zeros arrZeros = np.zeros(5) #array filled with ones; creates array with 4 ones arrOnes = np.ones(4)
You can also create an empty array which can be filled later.
# Create an empty array with 3 elements arrEmpty = np.empty(3)
You can also create an array using numpy.arange()
# output is a range from 0 to the specified number but not #including that number.([0, 1, 2, 3,4]) arrRange = np.arange(5) array([0, 1, 2, 3,4])
You can also specify the first number, last number, and the step size in the range.
np.arange(1, 9, 2) array([1, 3, 5, 7]
Let's use this example to understand ndarray attributes.
array_A = np.array([[2,4,6], [1,3,5]])
1. ndarray.ndim: The number of dimensions (axes) of the array.
The ndim for array_A is 2.
2. ndarray.dtype: The data type of the elements in the array. The dtype in our example is int64.
You can specify the dtype when creating an array using the dtype keyword.
# array of ones. a = np.ones(3, dtype=np.int64)
3. ndarray.shape: The number of elements along with each axis.
The shape is a tuple of N-positive integers that specifies the number of elements of each dimension.
For our example the shape is (2,3) because the array has two rows and three columns.
Ps: The length of the shape tuple is the number of dimensions, ndim.
4. ndarray.size: The total number of elements in the array.
It is equal to the product of the elements of shape.
The size of our example array is 6. i.e 2*3
Indexing in Numpy works similarly to indexing in python lists.
For a one dimensional array, values can be accessed by specifying the desired index in square brackets counting from 0.
import numpy as np array_x = np.array([5,6,7,8,9]) array_x
array([5, 6, 7, 8, 9])
Item at index 0
5Items from index 0 to 3 but not including 3.
array([5, 6, 7])
Items from index 3 to the last element.
Items in the array taking a step size of 2
In a multi-dimensional array, values can be accessed using a comma-separated tuple of indices. the first value specifies the row while the second specifies the column.
import numpy as np array_A = np.array([[2,4,6], [1,3,5]]) array_A
You can also use indexing to change the value at a given index.
array_A[1, 1]=7 array_A
`array([[2, 4, 6], [1, 7, 5]])`
Advantages of using Numpy Arrays.
- Numpy data structures take up less memory.
- Numpy arrays are faster than lists.
- NumPy arrays have homogeneous data types and allow for mathematical manipulation.