summaryrefslogtreecommitdiffstats
path: root/src/arrow/docs/source/python/compute.rst
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
commite6918187568dbd01842d8d1d2c808ce16a894239 (patch)
tree64f88b554b444a49f656b6c656111a145cbbaa28 /src/arrow/docs/source/python/compute.rst
parentInitial commit. (diff)
downloadceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz
ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/arrow/docs/source/python/compute.rst')
-rw-r--r--src/arrow/docs/source/python/compute.rst69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/arrow/docs/source/python/compute.rst b/src/arrow/docs/source/python/compute.rst
new file mode 100644
index 000000000..133520de9
--- /dev/null
+++ b/src/arrow/docs/source/python/compute.rst
@@ -0,0 +1,69 @@
+.. 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.
+
+.. currentmodule:: pyarrow.compute
+.. _compute:
+
+=================
+Compute Functions
+=================
+
+Arrow supports logical compute operations over inputs of possibly
+varying types. Many compute functions support both array (chunked or not)
+and scalar inputs, but some will mandate either. For example,
+``sort_indices`` requires its first and only input to be an array.
+
+Below are a few simple examples:
+
+ >>> import pyarrow as pa
+ >>> import pyarrow.compute as pc
+ >>> a = pa.array([1, 1, 2, 3])
+ >>> pc.sum(a)
+ <pyarrow.Int64Scalar: 7>
+ >>> b = pa.array([4, 1, 2, 8])
+ >>> pc.equal(a, b)
+ <pyarrow.lib.BooleanArray object at 0x7f686e4eef30>
+ [
+ false,
+ true,
+ true,
+ false
+ ]
+ >>> x, y = pa.scalar(7.8), pa.scalar(9.3)
+ >>> pc.multiply(x, y)
+ <pyarrow.DoubleScalar: 72.54>
+
+These functions can do more than just element-by-element operations.
+Here is an example of sorting a table:
+
+ >>> import pyarrow as pa
+ >>> import pyarrow.compute as pc
+ >>> t = pa.table({'x':[1,2,3],'y':[3,2,1]})
+ >>> i = pc.sort_indices(t, sort_keys=[('y', 'ascending')])
+ >>> i
+ <pyarrow.lib.UInt64Array object at 0x7fcee5df75e8>
+ [
+ 2,
+ 1,
+ 0
+ ]
+
+
+
+.. seealso::
+
+ :ref:`Available compute functions (C++ documentation) <compute-function-list>`.