ak.with_field — Awkward Array documentation

# ak.with_field

Defined in awkward.operations.structure on line 922.

ak.with_field(base, what, where=None, highlevel=True, behavior=None)
  Parameters:

    - base – Data containing records or tuples.

    - what – Data to add as a new field.

    - where (None or str or non-empy iterable of str) – If None, the new field has no name (can be accessed as an integer slot number in a string); If str, the name of the new field. If iterable, it is interpreted as a path where to add the field in a nested record.

    - highlevel (bool) – If True, return an `ak.Array`; otherwise, return a low-level `ak.layout.Content` subclass.

    - behavior (None or dict) – Custom `ak.behavior` for the output array, if high-level.

Returns an `ak.Array` or `ak.Record` (or low-level equivalent, if `highlevel=False`) with a new field attached. This function does not change the array in-place.

See `ak.Array.__setitem__` and `ak.Record.__setitem__` for a variant that changes the high-level object in-place. (These methods internally use `ak.with_field`, so performance is not a factor in choosing one over the other.)