NumPy Array in Python
NumPy (Numerical Python) is a powerful library for numerical computations in Python. It is commonly referred to multidimensional container that holds the same data type. It is the core data structure of the NumPy library and is optimized for numerical and scientific computation in Python.
Table of Content
In this article, we will explore NumPy Array in Python.
Create NumPy Arrays
To start using NumPy, import it as follows:
import numpy as np
NumPy array’s objects allow us to work with arrays in Python. The array object is called ndarray. NumPy arrays are created using the array() function
Example:
import numpy as np
# Creating a 1D array
x = np.array([1, 2, 3])
# Creating a 2D array
y = np.array([[1, 2], [3, 4]])
# Creating a 3D array
z = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(x)
print(y)
print(z)
Output
[1 2 3] [[1 2] [3 4]] [[[1 2] [3 4]] [[5 6] [7 8]]]
Key Attributes of NumPy Arrays
NumPy arrays have attributes that provide information about the array:
shape
: Returns the dimensions of the array.dtype
: Returns the data type of the elements.ndim
: Returns the number of dimensions.
Example:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.shape)
print(arr.dtype)
print(arr.ndim)
Output
(2, 3) int64 2
Operations on NumPy Arrays
NumPy supports element-wise and matrix operations, including addition, subtraction, multiplication, and division:
Example:
import numpy as np
# Element-wise addition
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
print(x + y) # Output: [5 7 9]
# Matrix multiplication
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
print(np.dot(a, b))
Output
[5 7 9] [[19 22] [43 50]]
Dimensions in NumPy Arrays
NumPy arrays can have multiple dimensions, allowing users to store data in multilayered structures.
Name | Example |
0D (zero-dimensional) | Scalar – A single element |
1D (one-dimensional) | Vector- A list of integers. |
2D (two-dimensional) | Matrix- A spreadsheet of data |
3D (three-dimensional) | Tensor- Storing a color image |
NumPy Arrays vs Python Lists
- Fixed Size: Arrays have a fixed size, while lists can dynamically grow.
- Homogeneous Data: Arrays require uniform data types; lists can store mixed types.
- Performance: Arrays are faster due to their optimized implementation.
- Memory Efficiency: Arrays use contiguous memory blocks, unlike lists.