undefined

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 more

Abstract

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 more

Organizations and authors

Publication type

Publication format

Article

Parent publication type

Journal

Article type

Review article

Audience

Scientific

Peer-reviewed

Peer-Reviewed

MINEDU's publication type classification code

A2 Review article, Literature review, Systematic review

Publication channel information

Journal/Series

Nature

Volume

585

Issue

7825

Pages

357-362

​Publication forum

63759

​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