https://awkward-array.org/quickstart.html
logo
[ ]
* Quickstart
* What is an Awkward Array?
* Converting arrays [*]
+ NumPy
+ Python objects
+ JSON
+ ROOT via Uproot
+ Arrow and Parquet
+ Pandas
+ Generic buffers
* Creating new arrays [*]
+ Arrays of lists
+ Arrays of records
+ Arrays of missing data
+ Arrays of strings
+ Lazy arrays [todo]
+ Unflattening and grouping [todo]
+ ArrayBuilder (easy & general)
+ LayoutBuilder (more control)
+ Direct constructors (fastest)
* Examining arrays [*]
+ Data type [todo]
+ Single item detail [todo]
+ Listing fields/keys/columns [todo]
+ Simple slicing [todo]
+ Checking validity [todo]
* Numerical math [*]
+ NumPy functions [todo]
+ Awkward broadcasting [todo]
+ Reducing (sum/min/any/all) [todo]
+ Statistics (mean/var/std) [todo]
+ Using argmin/argmax [todo]
+ On GPUs [todo]
* Filtering data [*]
+ By number of items [todo]
+ Cuts vs. masks [todo]
+ Slicing lists within arrays [todo]
+ Slices with missing values [todo]
* Restructuring data [*]
+ Zip/unzip and project [todo]
+ Adding fields to records [todo]
+ Renaming records [todo]
+ Flattening for plots
+ Padding/clipping for machine learning
+ Concatenating and interleaving [todo]
+ Sorting [todo]
* Combinatorics [*]
+ Cartesian and "n choose k" [todo]
+ Best match between collections [todo]
* Using arrays in Numba [*]
+ Supported features [todo]
+ Building array output [todo]
* Specialized behavior [*]
+ Subclassing Array/Record [todo]
+ Overriding NumPy functions [todo]
+ In Numba [todo]
+ For physics: Lorentz vectors [todo]
* Differentiation using JAX
.md .pdf
repository open issue suggest edit
Contents
* Installation
* Getting help
* For developers
[logo-300px]
PyPI version Conda-Forge Python 2.7,3.5-3.9 BSD-3 Clause License
Continuous integration tests
Scikit-HEP NSF-1836650 DOI Documentation Gitter
Awkward Array is a library for nested, variable-sized data, including
arbitrary-length lists, records, mixed types, and missing data, using
NumPy-like idioms.
Arrays are dynamically typed, but operations on them are compiled and
fast. Their behavior coincides with NumPy when array dimensions are
regular and generalizes when they're not.
QuickstartP
Use the left-bar for tutorials ([?] button on mobile), click below for
reference documentation, or here for GitHub. Note that the most
complete documentation can be found in the Python API reference: each
function has a thorough docstring, usually with examples.
[panel-sphinx] [panel-doxygen]
Python C++
API reference API reference
InstallationP
Awkward Array can be installed from PyPI using pip:
pip install awkward
Most users will get a precompiled binary (wheel) for your operating
system and Python version. If not, the above attempts to compile from
source.
Getting helpP
* Report bugs, request features, and ask for additional
documentation on GitHub Issues.
* You can vote for issues by adding a "thumbs up" () using the
"smile/pick your reaction" menu on the top-right of the issue.
See the prioritized list of open issues.
* If you have a "How do I...?" question, start a GitHub Discussion
with category "Q&A".
* Alternatively, ask about it on StackOverflow with the
[awkward-array] tag. Be sure to include tags for any other
libraries that you use, such as Pandas or PyTorch.
* To ask questions in real time, try the Gitter Scikit-HEP/
awkward-array chat room.
For developersP
See Awkward Array's GitHub page for more on the following.
* Installation for developers.
* Continuous integration and continuous deployment are hosted by
Azure Pipelines.
* Release history (changelog) is hosted by ReadTheDocs.
* Roadmap of future releases.
* awkward-array.org (this site) is hosted by Netlify.
* CONTRIBUTING.md for technical information on how to contribute.
* Code of conduct for how we work together.
* The LICENSE is BSD-3.
See also papers and talks about Awkward Array and a table of
contributors.
---------------------------------------------------------------------
Support for this work was provided by NSF cooperative agreement
OAC-1836650 (IRIS-HEP), grant OAC-1450377 (DIANA/HEP), PHY-1520942
(US-CMS LHC Ops), and OAC-2103945 (Awkward Array).
next
What is an Awkward Array?
By Jim Pivarski
(c) Copyright 2020 Jim Pivarski.