NumPy – core package for scientific computing with Python

NumPy is the fundamental package for scientific computing with Python.

It’s an open source Python library that provides a multidimensional array object, various derived objects (such as masked arrays and matrices), and an assortment of routines for fast operations on arrays, including mathematical, logical, shape manipulation, sorting, selecting, I/O, discrete Fourier transforms, basic linear algebra, basic statistical operations, random simulation and much more.

A wide range of scientific and mathematical Python-based packages use NumPy arrays.

NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.

Features include:

  • ndarray object – this encapsulates n-dimensional arrays of homogeneous data types, with many operations being performed in compiled code for performance. It’s a table of elements (usually numbers), all of the same type, indexed by a tuple of positive integers.
  • Sophisticated (broadcasting) functions. The term broadcasting describes how NumPy treats arrays with different shapes during arithmetic operations. Broadcasting provides a means of vectorizing array operations so that looping occurs in C instead of Python.
  • Supports a wide range of numerical type.
  • Special matrix type for doing linear algebra, which is a subclass of the array class. Operations on matrix-class arrays are linear algebra operations.
  • Fourier transforms.
  • Random number capabilities:
    • random_sample – uniformly distributed floats over “[0, 1)”.
    • bytes – uniformly distributed random bytes.
    • random_integers – uniformly distributed integers in a given range.
    • permutation – randomly permute a sequence / generate a random sequence.
    • shuffle – randomly permute a sequence in place.
    • seed – seed the random number generator.
    • choice – random sample from 1-D array.
  • Includes f2py – Fortran to Python Interface Generator – offers easy-to-use mechanisms for linking C, C++, and Fortran code directly into Python.

Support: Documentation, Tutorial, Mailing List, GitHub
Developer: NumPy Developers
License: BSD license

NumPy is written in Python. Learn Python with our recommended free books and free tutorials.

Return to Python Maths Tools Home Page | Return to Python Data Analysis Home Page

Read our complete collection of recommended free and open source software. The collection covers all categories of software.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.