blob: 4b690dd1c57f4cf8c6a97e8880235511e9db950d [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
"""
Custom documentation additions for compute functions.
"""
function_doc_additions = {}
function_doc_additions["filter"] = """
Examples
--------
>>> import pyarrow as pa
>>> arr = pa.array(["a", "b", "c", None, "e"])
>>> mask = pa.array([True, False, None, False, True])
>>> arr.filter(mask)
<pyarrow.lib.StringArray object at ...>
[
"a",
"e"
]
>>> arr.filter(mask, null_selection_behavior='emit_null')
<pyarrow.lib.StringArray object at ...>
[
"a",
null,
"e"
]
"""
function_doc_additions["mode"] = """
Examples
--------
>>> import pyarrow as pa
>>> import pyarrow.compute as pc
>>> arr = pa.array([1, 1, 2, 2, 3, 2, 2, 2])
>>> modes = pc.mode(arr, 2)
>>> modes[0]
<pyarrow.StructScalar: [('mode', 2), ('count', 5)]>
>>> modes[1]
<pyarrow.StructScalar: [('mode', 1), ('count', 2)]>
"""
function_doc_additions["min"] = """
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'>
"""
function_doc_additions["max"] = """
Examples
--------
>>> import pyarrow as pa
>>> import pyarrow.compute as pc
>>> arr1 = pa.array([1, 1, 2, 2, 3, 2, 2, 2])
>>> pc.max(arr1)
<pyarrow.Int64Scalar: 3>
Using ``skip_nulls`` to handle null values.
>>> arr2 = pa.array([1.0, None, 2.0, 3.0])
>>> pc.max(arr2)
<pyarrow.DoubleScalar: 3.0>
>>> pc.max(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.max(arr3)
<pyarrow.DoubleScalar: 3.0>
>>> pc.max(arr3, options=pc.ScalarAggregateOptions(min_count=3))
<pyarrow.DoubleScalar: 3.0>
>>> pc.max(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.max(arr4)
<pyarrow.StringScalar: 'z'>
"""
function_doc_additions["min_max"] = """
Examples
--------
>>> 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)]>
Using ``skip_nulls`` to handle null values.
>>> 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)]>
Using ``ScalarAggregateOptions`` to control minimum number of non-null values.
>>> 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)]>
This function also works with string values.
>>> arr4 = pa.array(["z", None, "y", "x"])
>>> pc.min_max(arr4)
<pyarrow.StructScalar: [('min', 'x'), ('max', 'z')]>
"""