diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/arrow/docs/source/python/compute.rst | |
parent | Initial commit. (diff) | |
download | ceph-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.rst | 69 |
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>`. |