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_count
int,默认值为 1 输入中所需的最小非空值数量。如果非空值的数量少于 min_count,则输出为空。
- options
pyarrow.compute.ScalarAggregateOptions,可选 传递选项的替代方式。
- memory_pool
pyarrow.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>