Array programming with NumPy
Year of publication
2020
Authors
Harris, Charles R.; Millman, K. Jarrod; van der Walt, Stéfan J.; Gommers, Ralf; Virtanen, Pauli; Cournapeau, David; Wieser, Eric; Taylor, Julian; Berg, Sebastian; Smith, Nathaniel J.; Kern, Robert; Picus, Matti; Hoyer, Stephan; van Kerkwijk, Marten H.; Brett, Matthew; Haldane, Allan; del Río, Jaime Fernández; Wiebe, Mark; Peterson, Pearu; Gérard-Marchant, Pierre; Sheppard, Kevin; Reddy, Tyler; Weckesser, Warren; Abbasi, Hameer; Gohlke, Christoph; Oliphant, Travis E.
Show moreAbstract
Array programming provides a powerful, compact and expressive syntax for accessing, manipulating and operating on data in vectors, matrices and higher-dimensional arrays. NumPy is the primary array programming library for the Python language. It has an essential role in research analysis pipelines in fields as diverse as physics, chemistry, astronomy, geoscience, biology, psychology, materials science, engineering, finance and economics. For example, in astronomy, NumPy was an important part of the software stack used in the discovery of gravitational waves1 and in the first imaging of a black hole2. Here we review how a few fundamental array concepts lead to a simple and powerful programming paradigm for organizing, exploring and analysing scientific data. NumPy is the foundation upon which the scientific Python ecosystem is constructed. It is so pervasive that several projects, targeting audiences with specialized needs, have developed their own NumPy-like interfaces and array objects. Owing to its central position in the ecosystem, NumPy increasingly acts as an interoperability layer between such array computation libraries and, together with its application programming interface (API), provides a flexible framework to support the next decade of scientific and industrial analysis.
Show moreOrganizations and authors
Publication type
Publication format
Article
Parent publication type
Journal
Article type
Review article
Audience
ScientificPeer-reviewed
Peer-ReviewedMINEDU's publication type classification code
A2 Review article, Literature review, Systematic reviewPublication channel information
Journal/Series
Publisher
Volume
585
Issue
7825
Pages
357-362
ISSN
Publication forum
Publication forum level
3
Open access
Open access in the publisher’s service
Yes
Open access of publication channel
Partially open publication channel
Self-archived
Yes
Other information
Fields of science
Computer and information sciences
Keywords
[object Object],[object Object],[object Object],[object Object]
Publication country
United Kingdom
Internationality of the publisher
International
Language
English
International co-publication
Yes
Co-publication with a company
Yes
DOI
10.1038/s41586-020-2649-2
The publication is included in the Ministry of Education and Culture’s Publication data collection
Yes