This is an automated email from the ASF dual-hosted git repository.

alenka pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 8995d61c07 GH-48668: [Python][Docs] Add python examples for compute 
functions `min/max/min_max` (#48648)
8995d61c07 is described below

commit 8995d61c0792627a07578f35e5db783eddbdc196
Author: Ruifeng Zheng <[email protected]>
AuthorDate: Sun Jan 11 23:41:15 2026 -0800

    GH-48668: [Python][Docs] Add python examples for compute functions 
`min/max/min_max` (#48648)
    
    
    ### Rationale for this change
    To improve python documentation
    
    ### What changes are included in this PR?
    Add python examples for compute functions `min/max/min_max`
    
    ### Are these changes tested?
    Yes, doc-test
    
    ### Are there any user-facing changes?
    Doc-only changes
    
    * GitHub Issue: #48668
    
    Lead-authored-by: Ruifeng Zheng <[email protected]>
    Co-authored-by: Ruifeng Zheng <[email protected]>
    Co-authored-by: Alenka Frim <[email protected]>
    Signed-off-by: AlenkaF <[email protected]>
---
 python/pyarrow/_compute_docstrings.py | 102 ++++++++++++++++++++++++++++++++++
 python/pyarrow/tests/test_compute.py  |  32 +++++++++++
 2 files changed, 134 insertions(+)

diff --git a/python/pyarrow/_compute_docstrings.py 
b/python/pyarrow/_compute_docstrings.py
index 150dbdb117..4b690dd1c5 100644
--- a/python/pyarrow/_compute_docstrings.py
+++ b/python/pyarrow/_compute_docstrings.py
@@ -54,3 +54,105 @@ function_doc_additions["mode"] = """
     >>> 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')]>
+    """
diff --git a/python/pyarrow/tests/test_compute.py 
b/python/pyarrow/tests/test_compute.py
index c6b17e4791..d8a1c4d093 100644
--- a/python/pyarrow/tests/test_compute.py
+++ b/python/pyarrow/tests/test_compute.py
@@ -883,6 +883,38 @@ def test_generated_docstrings():
             Alternative way of passing options.
         memory_pool : pyarrow.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_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')]>
         """)
     # Without options
     assert pc.add.__doc__ == textwrap.dedent("""\

Reply via email to