Community tutorials#
Jagged, ragged, Awkward Arrays#
An HSF-provided tutorial aimed at High Energy Physics (HEP) researchers on using Awkward Array to obtain a dimuon-mass spectrum.
Format#
Webpage with example code snippets.
Objectives#
Filter ragged arrays using innermost lists.
Compute quantities on combinations of fields with
ak.combinations()
.Unzip arrays with
ak.unzip()
.Ravel (flatten) ragged arrays with
ak.ravel()
.
Loopy and unloopy programming techniques (SciPy 2022)#
A tutorial presented at the SciPy conference on July 11, 2022.
Format#
GitHub repository with Jupyter Notebooks that can be run on MyBinder.
YouTube recording of presentation.
Objectives#
Load data from a remote Parquet source with
ak.from_parquet()
.Explore a complex dataset.
Mask and slice ragged array with
ak.mask()
.Perform ragged reduction and broadcasting.
Flatten ragged arrays with
ak.flatten()
.
Columnar data analysis (CoDaS-HEP 2022)#
A tutorial aimed at HEP researchers, given at CODAS-HEP, to reconstruct Z masses and the Higgs mass from four leptons (4μ, 4e, 2μ2e) using Awkward Array and uproot.
Format#
GitHub repository with Jupyter Notebooks that can be run on MyBinder.
Objectives#
Restructure/reformat arrays with
ak.zip()
.Compute kinematic quantities with
vector
.Add new fields to an array.
Explore combinatorics with
ak.cartesian()
andak.combinations()
.
Uproot-Awkward columnar HATS (2020)#
Tutorials for Uproot Awkward Columnar HATS, a hands-on tutorial hosted by the Fermilab LPC.
Format#
GitHub repository with Jupyter Notebooks that can be run on MyBinder.
Objectives#
Index nested record arrays.
Perform ragged reduction and broadcasting.
Restructure/reformat arrays with
ak.zip()
.Write high-performance imperative routines that operate upon Awkward Arrays with Numba.
Build Awkward Arrays imperatively with
ak.ArrayBuilder
.Flatten ragged arrays with
ak.flatten()
.Unzip arrays with
ak.unzip()
.Explore combinatorics with
ak.cartesian()
andak.combinations()
.Mask and slice ragged array with
ak.mask()
.Explode Awkward Arrays into DataFrames with
ak.pandas.df()
.