Awkward Array
Overview
Use this skill to apply Awkward 2.0 best practices for jagged arrays, especially in HEP-style event data models. Keep guidance lean in this file and load reference notes only when needed.
Core workflow
- •Build an event data model (records) with
ak.zip. - •Filter early at the event level.
- •Perform combinatorics or derived calculations.
- •Add derived fields back into the record with
ak.with_field. - •Repeat until the final values are present in the EDM.
Reference guide
Load only the reference files that matches the task:
- •
references/best-practices.md: use when setting overall approach or reminding about Awkward 2.0 usage and axes. - •
references/records.md: use when building records or adding fields. - •
references/filtering-aggregation.md: use for boolean masking,ak.sum/ak.count/ak.num, and axis guidance. - •
references/sorting.md: use forak.sort. - •
references/combinatorics.md: use for pairings or n-way combinations (ak.cartesian,ak.combinations). - •
references/argmin-argmax.md: use when selecting min/max elements in jagged lists. - •
references/flattening.md: use forak.flattenbehavior and axis rules. - •
references/numpy-interop.md: use when mixing NumPy operations with Awkward arrays. - •
references/pitfalls.md: use for common API mistakes and missing functions. - •
references/awkward-files.md: use for file I/O patterns (read/write) with Awkward arrays.
Constraints
- •Use Awkward 2.0 APIs and syntax only.
- •Avoid
axis=Noneunless the function explicitly supports it. - •Ensure
awkwardis listed as a dependency in the active environment (venv pluspyproject.tomlorrequirements.txt).