Bernice Waweru
Posted on February 21, 2022
This post aims to cover the basics of Numpy. Let's do this.
Table of Contents
Introduction
NumPy refers to Numerical Python which is a Python library used in 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 more efficient and faster that Python lists.
The ndarray is a multidimensional array of homogeneous data; all elements in the array have the same data type.
Creating a Numpy array
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
array_zeros = np.zeros(5)
#array filled with ones; creates array with 4 ones
array_ones = 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])
array_range = np.arange(5)
# output > 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)
# output > array([1, 3, 5, 7]
Attributes
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 x 3
Indexing
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.
syntax: array_x[start:stop:step]
import numpy as np
array_x = np.array([5,6,7,8,9])
array_x
Output:
array([5, 6, 7, 8, 9])
Item at index 0
array_x[0]
Output: 5
Items from index 0 to 3 but not including 3.
array_x[:3]
Output: array([5, 6, 7])
Items from index 3 to the last element.
array_x[3:]
Output: array([8, 9])
Items in the array taking a step size of 2
array_x[0:-1:2]
Output: array([5, 7])
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[0,0]
2
array_A[1, 1]
Output: 3
You can also use indexing to change the value at a given index.
array_A[1, 1]=7
array_A
Output:
[[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.
Posted on February 21, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.