ak.drop_none#

Defined in awkward.operations.ak_drop_none on line 22.

ak.drop_none(array, axis=None, highlevel=True, behavior=None, attrs=None)#
Parameters:
  • array – Data in which to remove Nones.

  • axis (None or int or str) – If None, the operation drops Nones at all levels of nesting, returning an array of the same dimension, but without Nones. If an int, the depth at which to drop Nones. The outermost dimension is 0, followed by 1, etc., and negative values count backward from the innermost: -1 is the innermost dimension, -2 is the next level up, etc. If a str, it is interpreted as the name of the axis which maps to an int if named axes are present. Named axes are attached to an array using ak.with_named_axis and removed with ak.without_named_axis; also see the Named axes user guide.

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

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

  • attrs (None or dict) – Custom attributes for the output array, if high-level.

Removes missing values (None) from a given array.

For example, in the following array,

>>> array = ak.Array([[[0]], [[None]], [[1], None], [[2, None]]])

The None value will be removed, resulting in

>>> ak.drop_none(array)
<Array [[[0]], [[]], [[1]], [[2]]] type='4 * var * var * int64'>

The default axis is None, however an axis can be specified:

>>> ak.drop_none(array, axis=1)
<Array [[[0]], [[None]], [[1]], [[2, None]]] type='4 * var * var * ?int64'>