pyarrow.compute.last#

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

计算每组中的第一个值。

默认情况下会忽略空值。如果 skip_nulls = false,则无论是否为空,都会返回第一个和最后一个值。

参数:
array类数组对象 (Array-like)

计算函数的参数。

skip_nullsbool, 默认 True

是否跳过(忽略)输入中的空值。如果为 False,则输入中的任何空值都会导致输出为空。

min_countint,默认值为 1

输入中所需的最小非空值数量。如果非空值的数量少于 min_count,则输出为空。

optionspyarrow.compute.ScalarAggregateOptions,可选

传递选项的替代方式。

memory_poolpyarrow.MemoryPool, 可选

如果不传递,将从默认内存池分配内存。

示例

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

使用 skip_nulls 来处理空值。

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

使用 ScalarAggregateOptions 来控制非空值的最小数量。

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