NumPy Array in Python

Last Updated : 12 Jan, 2026

NumPy is a homogeneous data structure (all elements are of the same type). It is significantly faster than Python's built-in lists because it uses optimized C language style storage where actual values are stored at contiguous locations (not object reference). It also supports vectorized computations. It supports vectorized operations (no need for loops).

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.

Python
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]]]

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.
Python
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:

Python
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.

NameExample
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.
Comment

Explore