Open Access
Open access
volume 585 issue 7825 pages 357-362

Array programming with NumPy

Charles R Harris 1
K Jarrod Millman 2, 3, 4
Stéfan van der Walt 2, 4, 5
Ralf Gommers 6
Pauli Virtanen 7, 8
David Cournapeau 9
Eric Wieser 10
Julian Taylor 11
Sebastian Berg 4
Nathaniel J. Smith 12
ROBERT KERN 13
Matti Picus 4
Stephan Hoyer 14
Marten H. van Kerkwijk 15
Matthew Brett 2, 16
Allan Haldane 17
Jaime Fernández Del Río 18
Mark Wiebe 19, 20
Pearu Peterson 6, 21, 22
Pierre Gérard-Marchant 23, 24
Kevin Sheppard 25
Tyler Reddy 26
Warren Weckesser 4
Hameer Abbasi 6
Christoph Gohlke 27
Travis E. Oliphant 6
1
 
Independent researcher, Logan, USA
6
 
Quansight, Austin, USA
9
 
Mercari JP, Tokyo, Japan
11
 
Independent researcher, Karlsruhe, Germany
12
 
Independent researcher, Berkeley, USA
13
 
Enthought, Austin, USA
14
 
Google Research, Mountain View, USA
18
 
Google, Zurich, Switzerland
20
 
Amazon, Seattle, USA
21
 
Independent researcher, Saue, Estonia
22
 
Department of Mechanics and Applied Mathematics, Institute of Cybernetics at Tallinn Technical University, Tallinn, Estonia
24
 
France-IX Services, Paris, France
Publication typeJournal Article
Publication date2020-09-16
scimago Q1
wos Q1
SJR18.288
CiteScore78.1
Impact factor48.5
ISSN00280836, 14764687
Multidisciplinary
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.
Found 
Found 

Top-30

Journals

200
400
600
800
1000
1200
1400
1600
1800
2000
Astrophysical Journal
1978 publications, 10.73%
Monthly Notices of the Royal Astronomical Society
1322 publications, 7.17%
Astronomy and Astrophysics
995 publications, 5.4%
Astronomical Journal
594 publications, 3.22%
Astrophysical Journal Letters
389 publications, 2.11%
Physical Review D
366 publications, 1.98%
Scientific Reports
198 publications, 1.07%
Nature Communications
192 publications, 1.04%
Astrophysical Journal, Supplement Series
189 publications, 1.02%
bioRxiv
157 publications, 0.85%
Journal of Cosmology and Astroparticle Physics
132 publications, 0.72%
The Journal of Open Source Software
129 publications, 0.7%
Lecture Notes in Computer Science
107 publications, 0.58%
eLife
103 publications, 0.56%
Journal of Chemical Physics
101 publications, 0.55%
SoftwareX
101 publications, 0.55%
Journal of Chemical Information and Modeling
93 publications, 0.5%
Journal of Chemical Theory and Computation
84 publications, 0.46%
The Planetary Science Journal
82 publications, 0.44%
IEEE Access
82 publications, 0.44%
PLoS ONE
81 publications, 0.44%
Publications of the Astronomical Society of the Pacific
81 publications, 0.44%
Sensors
74 publications, 0.4%
PLoS Computational Biology
72 publications, 0.39%
Computer Physics Communications
63 publications, 0.34%
Applied Sciences (Switzerland)
60 publications, 0.33%
Scientific data
58 publications, 0.31%
iScience
58 publications, 0.31%
Nature
56 publications, 0.3%
200
400
600
800
1000
1200
1400
1600
1800
2000

Publishers

500
1000
1500
2000
2500
3000
3500
American Astronomical Society
3116 publications, 16.9%
Elsevier
2226 publications, 12.07%
Springer Nature
1974 publications, 10.7%
Oxford University Press
1639 publications, 8.89%
Cold Spring Harbor Laboratory
1549 publications, 8.4%
EDP Sciences
1025 publications, 5.56%
MDPI
848 publications, 4.6%
Institute of Electrical and Electronics Engineers (IEEE)
784 publications, 4.25%
Wiley
628 publications, 3.41%
IOP Publishing
613 publications, 3.32%
American Physical Society (APS)
567 publications, 3.07%
American Chemical Society (ACS)
515 publications, 2.79%
Frontiers Media S.A.
270 publications, 1.46%
Public Library of Science (PLoS)
194 publications, 1.05%
AIP Publishing
177 publications, 0.96%
Association for Computing Machinery (ACM)
164 publications, 0.89%
Copernicus
154 publications, 0.84%
American Geophysical Union
150 publications, 0.81%
Royal Society of Chemistry (RSC)
142 publications, 0.77%
Taylor & Francis
133 publications, 0.72%
The Open Journal
130 publications, 0.7%
eLife Sciences Publications
103 publications, 0.56%
SAGE
71 publications, 0.38%
American Association for the Advancement of Science (AAAS)
63 publications, 0.34%
SPIE-Intl Soc Optical Eng
51 publications, 0.28%
Optica Publishing Group
49 publications, 0.27%
International Union of Crystallography (IUCr)
48 publications, 0.26%
Seismological Society of America (SSA)
42 publications, 0.23%
Cambridge University Press
38 publications, 0.21%
500
1000
1500
2000
2500
3000
3500
  • We do not take into account publications without a DOI.
  • Statistics recalculated weekly.

Are you a researcher?

Create a profile to get free access to personal recommendations for colleagues and new articles.
Metrics
18k
Share
Cite this
GOST |
Cite this
GOST Copy
Harris C. R. et al. Array programming with NumPy // Nature. 2020. Vol. 585. No. 7825. pp. 357-362.
GOST all authors (up to 50) Copy
Harris C. R., Millman K. J., van der Walt S., Gommers R., Virtanen P., Cournapeau D., Wieser E., Taylor J., Berg S., Smith N. J., KERN R., Picus M., Hoyer S., van Kerkwijk M. H., Brett M., Haldane A., Del Río J. F., Wiebe M., Peterson P., Gérard-Marchant P., Sheppard K., Reddy T., Weckesser W., Abbasi H., Gohlke C., Oliphant T. E. Array programming with NumPy // Nature. 2020. Vol. 585. No. 7825. pp. 357-362.
RIS |
Cite this
RIS Copy
TY - JOUR
DO - 10.1038/s41586-020-2649-2
UR - https://doi.org/10.1038/s41586-020-2649-2
TI - Array programming with NumPy
T2 - Nature
AU - Harris, Charles R
AU - Millman, K Jarrod
AU - van der Walt, Stéfan
AU - Gommers, Ralf
AU - Virtanen, Pauli
AU - Cournapeau, David
AU - Wieser, Eric
AU - Taylor, Julian
AU - Berg, Sebastian
AU - Smith, Nathaniel J.
AU - KERN, ROBERT
AU - Picus, Matti
AU - Hoyer, Stephan
AU - van Kerkwijk, Marten H.
AU - Brett, Matthew
AU - Haldane, Allan
AU - Del Río, Jaime Fernández
AU - Wiebe, Mark
AU - Peterson, Pearu
AU - Gérard-Marchant, Pierre
AU - Sheppard, Kevin
AU - Reddy, Tyler
AU - Weckesser, Warren
AU - Abbasi, Hameer
AU - Gohlke, Christoph
AU - Oliphant, Travis E.
PY - 2020
DA - 2020/09/16
PB - Springer Nature
SP - 357-362
IS - 7825
VL - 585
PMID - 32939066
SN - 0028-0836
SN - 1476-4687
ER -
BibTex |
Cite this
BibTex (up to 50 authors) Copy
@article{2020_Harris,
author = {Charles R Harris and K Jarrod Millman and Stéfan van der Walt and Ralf Gommers and Pauli Virtanen and David Cournapeau and Eric Wieser and Julian Taylor and Sebastian Berg and Nathaniel J. Smith and ROBERT KERN and Matti Picus and Stephan Hoyer and Marten H. van Kerkwijk and Matthew Brett and Allan Haldane and Jaime Fernández Del Río and Mark Wiebe and Pearu Peterson and Pierre Gérard-Marchant and Kevin Sheppard and Tyler Reddy and Warren Weckesser and Hameer Abbasi and Christoph Gohlke and Travis E. Oliphant},
title = {Array programming with NumPy},
journal = {Nature},
year = {2020},
volume = {585},
publisher = {Springer Nature},
month = {sep},
url = {https://doi.org/10.1038/s41586-020-2649-2},
number = {7825},
pages = {357--362},
doi = {10.1038/s41586-020-2649-2}
}
MLA
Cite this
MLA Copy
Harris, Charles R., et al. “Array programming with NumPy.” Nature, vol. 585, no. 7825, Sep. 2020, pp. 357-362. https://doi.org/10.1038/s41586-020-2649-2.