NumPy is the fundamental package needed for scientific computing with Python. This package contains:
- a powerful N-dimensional :ref:`array object <arrays>`
- sophisticated :ref:`(broadcasting) functions <ufuncs>`
- basic :ref:`linear algebra functions <routines.linalg>`
- basic :ref:`Fourier transforms <routines.fft>`
- sophisticated :ref:`random number capabilities <numpyrandom>`
- tools for integrating Fortran code
- tools for integrating C/C++ code
Besides its obvious scientific uses, 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.
NumPy is a successor for two earlier scientific Python libraries: Numeric and Numarray.
NumPy is a distributed, volunteer, open-source project. You can help us make it better; if you believe something should be improved either in functionality or in documentation, don't hesitate to contact us --- or even better, contact us and participate in fixing the problem.
Our main means of communication are:
- scipy.org website
- Mailing lists
- NumPy Issues (bug reports go here)
- Old NumPy Trac (dead link)
More information about the development of NumPy can be found at our Developer Zone.
The project management structure can be found at our :doc:`governance page <dev/governance/index>`
Names of classes, objects, constants, etc. are given in boldface font. Often they are also links to a more detailed documentation of the referred object.
This manual contains many examples of use, usually prefixed with the
Python prompt >>>
(which is not a part of the example code). The
examples assume that you have first entered:
>>> import numpy as np
before running the examples.