Defined in awkward.operations.structure on line 922.

ak.with_field(base, what, where=None, highlevel=True, behavior=None)
  • 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.)