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.
Top comments (0)