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 for ak.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 for ak.flatten behavior 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=None unless the function explicitly supports it.
- Ensure
awkward is listed as a dependency in the active environment (venv plus pyproject.toml or requirements.txt).