NumPy Basics: Arrays, Matrices & Math Operations in Python

Online Python Trainer for Beginners

Learn Python easily without overwhelming theory. Solve practical tasks with automatic checking, get hints in Russian, and write code directly in your browser — no installation required.

Start Course

Introduction to NumPy

NumPy is the fundamental package for scientific computing in Python. With NumPy, Python developers can efficiently work with multi-dimensional arrays, matrices, and perform high-performance mathematical operations.

NumPy is an essential part of the data analysis, machine learning, and engineering ecosystem. Popular frameworks like Pandas, Scikit-learn, TensorFlow, and many other scientific programming tools rely heavily on NumPy.

This guide provides a complete walkthrough of NumPy arrays, helping you master working with arrays and matrices. You'll learn to perform arithmetic and logical operations, as well as efficiently combine and reshape data structures.

Installation and Setup

Installing NumPy

To install NumPy, use the pip package manager:

pip install numpy

Verifying the Installation

After installation, check the library version:

import numpy as np
print(np.__version__)

This command will display the installed version, confirming a successful setup.

Core NumPy Objects: Working with Arrays

What is ndarray?

The main object in NumPy is the array (ndarray). It's an enhanced version of standard Python lists, specifically optimized for fast mathematical operations. NumPy arrays are stored more compactly in memory and process data significantly faster than regular lists.

Creating 1D Arrays

The simplest way to create an array:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)  # [1 2 3 4 5]

Working with Multi-Dimensional Arrays

To create a 2D array (matrix):

matrix = np.array([[1, 2], [3, 4]])
print(matrix)

Output:

[[1 2]
 [3 4]]

Key Properties of NumPy Arrays

Essential Array Attributes

Every NumPy array has several important properties:

  • ndim - number of dimensions (axes)
  • shape - dimensions of the array as a tuple
  • size - total number of elements
  • dtype - data type of the elements

Using Properties in Practice

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.ndim)   # 2 (2D array)
print(arr.shape)  # (2, 3) (2 rows, 3 columns)
print(arr.size)   # 6 (6 elements total)
print(arr.dtype)  # int64 (data type)

Understanding these properties is critical for working efficiently with NumPy arrays of different dimensions.

Special Functions for Creating Arrays

Arrays with Predefined Values

NumPy provides convenient functions for creating special arrays:

  • np.zeros() - create an array of zeros
  • np.ones() - create an array of ones
  • np.eye() - create an identity matrix
  • np.full() - create an array filled with a specified value
zeros_array = np.zeros((2, 3))     # 2x3 array of zeros
ones_array = np.ones((3, 3))       # 3x3 array of ones
identity = np.eye(3)               # 3x3 identity matrix

Functions for Generating Sequences

  • np.arange() - create an arithmetic progression
  • np.linspace() - create evenly spaced values
                

Blogs

Book Recommendations