pyarrow.compute.min#

pyarrow.compute.min(array, /, *, skip_nulls=True, min_count=1, options=None, memory_pool=None)#

Compute the minimum or maximum values of a numeric array.

Null values are ignored by default. This can be changed through ScalarAggregateOptions.

Parameters:
arrayArray-like

Argument to compute function.

skip_nullsbool, default True

Whether to skip (ignore) nulls in the input. If False, any null in the input forces the output to null.

min_countint, default 1

Minimum number of non-null values in the input. If the number of non-null values is below min_count, the output is null.

optionspyarrow.compute.ScalarAggregateOptions, optional

Alternative way of passing options.

memory_poolpyarrow.MemoryPool, optional

If not passed, will allocate memory from the default memory pool.

Examples

>>> import pyarrow as pa
>>> import pyarrow.compute as pc
>>> arr1 = pa.array([1, 1, 2, 2, 3, 2, 2, 2])
>>> pc.min(arr1)
<pyarrow.Int64Scalar: 1>

Using skip_nulls to handle null values.

>>> arr2 = pa.array([1.0, None, 2.0, 3.0])
>>> pc.min(arr2)
<pyarrow.DoubleScalar: 1.0>
>>> pc.min(arr2, skip_nulls=False)
<pyarrow.DoubleScalar: None>

Using ScalarAggregateOptions to control minimum number of non-null values.

>>> arr3 = pa.array([1.0, None, float("nan"), 3.0])
>>> pc.min(arr3)
<pyarrow.DoubleScalar: 1.0>
>>> pc.min(arr3, options=pc.ScalarAggregateOptions(min_count=3))
<pyarrow.DoubleScalar: 1.0>
>>> pc.min(arr3, options=pc.ScalarAggregateOptions(min_count=4))
<pyarrow.DoubleScalar: None>

This function also works with string values.

>>> arr4 = pa.array(["z", None, "y", "x"])
>>> pc.min(arr4)
<pyarrow.StringScalar: 'x'>