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.