pyarrow.compute.min_max#
- pyarrow.compute.min_max(array, /, *, skip_nulls=True, min_count=1, options=None, memory_pool=None)#
计算数值数组的最小值和最大值。
默认情况下会忽略空值(Null)。这可以通过 ScalarAggregateOptions 进行更改。
- 参数:
- 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.min_max(arr1) <pyarrow.StructScalar: [('min', 1), ('max', 3)]>
使用
skip_nulls来处理空值。>>> arr2 = pa.array([1.0, None, 2.0, 3.0]) >>> pc.min_max(arr2) <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]> >>> pc.min_max(arr2, skip_nulls=False) <pyarrow.StructScalar: [('min', None), ('max', None)]>
使用
ScalarAggregateOptions来控制非空值的最小数量。>>> arr3 = pa.array([1.0, None, float("nan"), 3.0]) >>> pc.min_max(arr3) <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]> >>> pc.min_max(arr3, options=pc.ScalarAggregateOptions(min_count=3)) <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]> >>> pc.min_max(arr3, options=pc.ScalarAggregateOptions(min_count=4)) <pyarrow.StructScalar: [('min', None), ('max', None)]>
此函数也适用于字符串值。
>>> arr4 = pa.array(["z", None, "y", "x"]) >>> pc.min_max(arr4) <pyarrow.StructScalar: [('min', 'x'), ('max', 'z')]>