scispace - formally typeset
Open AccessJournal ArticleDOI

Array programming with NumPy

Reads0
Chats0
TLDR
In this paper, the authors review how a few fundamental array concepts lead to a simple and powerful programming paradigm for organizing, exploring and analysing scientific data, and their evolution into a flexible interoperability layer between increasingly specialized computational libraries is discussed.
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. NumPy is the primary array programming library for Python; here its fundamental concepts are reviewed and its evolution into a flexible interoperability layer between increasingly specialized computational libraries is discussed.

read more

Content maybe subject to copyright    Report

Citations
More filters
Journal ArticleDOI

The DECam Local Volume Exploration Survey: Overview and First Data Release

Alex Drlica-Wagner, +79 more
Journal ArticleDOI

DoMars16k: A Diverse Dataset for Weakly Supervised Geomorphologic Analysis on Mars

TL;DR: This work presents a method to automate a specific type of planetary mapping, geomorphic mapping, taking machine learning as a basis, and introduces a novel dataset, termed DoMars16k, which contains 16,150 samples of fifteen different landforms commonly found on the Martian surface.
Proceedings Article

AdvFlow: Inconspicuous Black-box Adversarial Attacks using Normalizing Flows

TL;DR: In this article, the power of normalizing flows is exploited to model the density of adversarial examples around a given target image and generate adversaries that closely follow the clean data distribution, which makes their detection less likely.
Journal ArticleDOI

Multi-scale, multi-sensor data integration for automated 3-D geological mapping

TL;DR: Hylite as mentioned in this paper is an open-source python workflow for creating hyperclouds by seamlessly fusing geometric information with data from a variety of hyperspectral imaging sensors and applying necessary atmospheric and illumination corrections.
Journal ArticleDOI

Super High Frequency Events: A New Class of Events Recorded by the InSight Seismometers on Mars

Abstract: The NASA InSight mission successfully landed on Mars on November 26, 2018 (defined as Sol 0, where sol is the Martian day corresponding to ∼24 h 40 min), in Elysium Planitia. On Sol 25, the lander placed the Seismic Experiment for Interior Structure (SEIS) on the Martian surface. SEIS includes a three-component Very Broadband (VBB) and a three-component Short Period (SP) seismometer (Lognonné et al., 2019). Since Sol 66, SEIS has been covered by the Wind and Thermal Shield (WTS) to minimize atmospheric effects. To complement the seismometer and as a means of characterizing atmospherically induced seismic noise, the Auxiliary Payload Sensor Suite records the surface pressure and also includes the Temperature and Winds for InSight sensors (TWINS) to measure the temperature, wind speed, and wind direction (Lognonné et al., 2019). A description of the initial geophysical observations of the mission can be found in Banerdt et al. (2020), while initial results on seismicity and interior structure are summarized in Giardini et al. (2020); Abstract We present a new class of seismic signals that are recorded by the seismometer placed on the surface of Mars as part of the NASA InSight mission. The signals, termed super high frequency (SF) events, are of short duration (∼20 s), are often similar in amplitude, and feature high-frequency energy between ∼5 and 30 Hz that is dominant on the horizontal components. For detection and characterization of SF events, we employ the available continuous 20 samples per second (sps) data from the Very Broadband instrument. Due to bandwidth limitations, 100 sps data from the short-period sensor are only partially obtainable, but they aid in analysis of the frequency content above 10 Hz and in distinguishing the events from high-frequency noise. From June 2019 to May 2020, 780 SF events have been detected. The events observed occur in repeatable patterns that last for weeks. Initially, the SF events were clustered in the hours before sunset, but more recently, they have been distributed across the evening period. Based on template matching techniques, we have identified 16 distinct families that generally follow the temporal clusters. A thermal origin of these events is suggested, since the majority of the events fall within a ±2 h time window around sunset with extreme temperature changes. The SF events have similarities with thermal events observed on the lunar surface from data collected during the Apollo missions.
References
More filters
Journal Article

Scikit-learn: Machine Learning in Python

TL;DR: Scikit-learn is a Python module integrating a wide range of state-of-the-art machine learning algorithms for medium-scale supervised and unsupervised problems, focusing on bringing machine learning to non-specialists using a general-purpose high-level language.
Journal ArticleDOI

Matplotlib: A 2D Graphics Environment

TL;DR: Matplotlib is a 2D graphics package used for Python for application development, interactive scripting, and publication-quality image generation across user interfaces and operating systems.
Journal ArticleDOI

SciPy 1.0--Fundamental Algorithms for Scientific Computing in Python

TL;DR: SciPy as discussed by the authors is an open source scientific computing library for the Python programming language, which includes functionality spanning clustering, Fourier transforms, integration, interpolation, file I/O, linear algebra, image processing, orthogonal distance regression, minimization algorithms, signal processing, sparse matrix handling, computational geometry, and statistics.
Proceedings ArticleDOI

TensorFlow: a system for large-scale machine learning

TL;DR: TensorFlow as mentioned in this paper is a machine learning system that operates at large scale and in heterogeneous environments, using dataflow graphs to represent computation, shared state, and the operations that mutate that state.
Related Papers (5)