blob: f58856c5bdb7d2a07e5d38f97182682b20096a61 [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.
.. _api.compute:
.. currentmodule:: pyarrow.compute
Compute Functions
=================
Aggregations
------------
.. autosummary::
:toctree: ../generated/
all
any
approximate_median
count
count_distinct
first
first_last
index
kurtosis
last
max
mean
min
min_max
mode
pivot_wider
product
quantile
skew
stddev
sum
tdigest
variance
..
Nullary aggregate functions (count_all) aren't exposed in pyarrow.compute,
so they aren't listed here.
Cumulative Functions
--------------------
Cumulative functions are vector functions that perform a running accumulation on
their input using a given binary associative operation with an identity element
(a monoid) and output an array containing the corresponding intermediate running
values. The input is expected to be of numeric type. By default these functions
do not detect overflow. They are also
available in an overflow-checking variant, suffixed ``_checked``, which
throws an ``ArrowInvalid`` exception when overflow is detected.
.. autosummary::
:toctree: ../generated/
cumulative_sum
cumulative_sum_checked
cumulative_prod
cumulative_prod_checked
cumulative_max
cumulative_mean
cumulative_min
Arithmetic Functions
--------------------
By default these functions do not detect overflow. Most functions are also
available in an overflow-checking variant, suffixed ``_checked``, which
throws an ``ArrowInvalid`` exception when overflow is detected.
.. autosummary::
:toctree: ../generated/
abs
abs_checked
add
add_checked
divide
divide_checked
exp
expm1
multiply
multiply_checked
negate
negate_checked
power
power_checked
sign
sqrt
sqrt_checked
subtract
subtract_checked
Bit-wise Functions
------------------
.. autosummary::
:toctree: ../generated/
bit_wise_and
bit_wise_not
bit_wise_or
bit_wise_xor
shift_left
shift_left_checked
shift_right
shift_right_checked
Rounding Functions
------------------
Rounding functions displace numeric inputs to an approximate value with a simpler
representation based on the rounding criterion.
.. autosummary::
:toctree: ../generated/
ceil
floor
round
round_binary
round_to_multiple
trunc
Logarithmic Functions
---------------------
Logarithmic functions are also supported, and also offer ``_checked``
variants which detect domain errors.
.. autosummary::
:toctree: ../generated/
ln
ln_checked
log10
log10_checked
log1p
log1p_checked
log2
log2_checked
logb
logb_checked
Trigonometric Functions
-----------------------
Trigonometric functions are also supported, and also offer ``_checked``
variants which detect domain errors where appropriate.
.. autosummary::
:toctree: ../generated/
acos
acos_checked
asin
asin_checked
atan
atan2
cos
cos_checked
sin
sin_checked
tan
tan_checked
Hyperbolic Trigonometric Functions
----------------------------------
Hyperbolic trigonometric functions are also supported, and, where applicable, also offer ``_checked``
variants which detect domain errors if needed.
.. autosummary::
:toctree: ../generated/
acosh
acosh_checked
asinh
atanh
atanh_checked
cosh
sinh
tanh
Comparisons
-----------
These functions expect two inputs of the same type. If one of the inputs is ``null``
they return ``null``.
.. autosummary::
:toctree: ../generated/
equal
greater
greater_equal
less
less_equal
not_equal
These functions take any number of arguments of a numeric or temporal type.
.. autosummary::
:toctree: ../generated/
max_element_wise
min_element_wise
Logical Functions
-----------------
These functions normally emit a null when one of the inputs is null. However, Kleene
logic variants are provided (suffixed ``_kleene``). See User Guide for details.
.. autosummary::
:toctree: ../generated/
and_
and_kleene
and_not
and_not_kleene
invert
or_
or_kleene
xor
String Predicates
-----------------
In these functions an empty string emits false in the output. For ASCII
variants (prefixed ``ascii_``) a string element with non-ASCII characters
emits false in the output.
The first set of functions emit true if the input contains only
characters of a given class.
.. autosummary::
:toctree: ../generated/
ascii_is_alnum
ascii_is_alpha
ascii_is_decimal
ascii_is_lower
ascii_is_printable
ascii_is_space
ascii_is_upper
utf8_is_alnum
utf8_is_alpha
utf8_is_decimal
utf8_is_digit
utf8_is_lower
utf8_is_numeric
utf8_is_printable
utf8_is_space
utf8_is_upper
The second set of functions also consider the order of characters
in the string element.
.. autosummary::
:toctree: ../generated/
ascii_is_title
utf8_is_title
The third set of functions examines string elements on
a byte-by-byte basis.
.. autosummary::
:toctree: ../generated/
string_is_ascii
String Transforms
-----------------
.. autosummary::
:toctree: ../generated/
ascii_capitalize
ascii_lower
ascii_reverse
ascii_swapcase
ascii_title
ascii_upper
binary_length
binary_repeat
binary_replace_slice
binary_reverse
replace_substring
replace_substring_regex
utf8_capitalize
utf8_length
utf8_lower
utf8_normalize
utf8_replace_slice
utf8_reverse
utf8_swapcase
utf8_title
utf8_upper
String Padding
--------------
.. autosummary::
:toctree: ../generated/
ascii_center
ascii_lpad
ascii_rpad
utf8_center
utf8_lpad
utf8_rpad
utf8_zero_fill
String Trimming
---------------
.. autosummary::
:toctree: ../generated/
ascii_ltrim
ascii_ltrim_whitespace
ascii_rtrim
ascii_rtrim_whitespace
ascii_trim
ascii_trim_whitespace
utf8_ltrim
utf8_ltrim_whitespace
utf8_rtrim
utf8_rtrim_whitespace
utf8_trim
utf8_trim_whitespace
String Splitting
----------------
.. autosummary::
:toctree: ../generated/
ascii_split_whitespace
split_pattern
split_pattern_regex
utf8_split_whitespace
String Component Extraction
---------------------------
.. autosummary::
:toctree: ../generated/
extract_regex
extract_regex_span
String Joining
--------------
.. autosummary::
:toctree: ../generated/
binary_join
binary_join_element_wise
String Slicing
--------------
.. autosummary::
:toctree: ../generated/
binary_slice
utf8_slice_codeunits
Containment Tests
-----------------
.. autosummary::
:toctree: ../generated/
count_substring
count_substring_regex
ends_with
find_substring
find_substring_regex
index_in
is_in
match_like
match_substring
match_substring_regex
starts_with
indices_nonzero
Categorizations
---------------
.. autosummary::
:toctree: ../generated/
is_finite
is_inf
is_nan
is_null
is_valid
true_unless_null
Selecting / Multiplexing
------------------------
.. autosummary::
:toctree: ../generated/
case_when
choose
coalesce
if_else
Conversions
-----------
.. autosummary::
:toctree: ../generated/
cast
ceil_temporal
floor_temporal
round_temporal
run_end_decode
run_end_encode
strftime
strptime
Temporal Component Extraction
-----------------------------
.. autosummary::
:toctree: ../generated/
day
day_of_week
day_of_year
hour
is_dst
is_leap_year
iso_week
iso_year
iso_calendar
microsecond
millisecond
minute
month
nanosecond
quarter
second
subsecond
us_week
us_year
week
year
year_month_day
Temporal Difference
-------------------
.. autosummary::
:toctree: ../generated/
day_time_interval_between
days_between
hours_between
microseconds_between
milliseconds_between
minutes_between
month_day_nano_interval_between
month_interval_between
nanoseconds_between
quarters_between
seconds_between
weeks_between
years_between
Timezone Handling
-----------------
.. autosummary::
:toctree: ../generated/
assume_timezone
local_timestamp
Random Number Generation
------------------------
.. autosummary::
:toctree: ../generated/
random
Associative Transforms
----------------------
.. autosummary::
:toctree: ../generated/
dictionary_decode
dictionary_encode
unique
value_counts
Selections
----------
.. autosummary::
:toctree: ../generated/
array_filter
array_take
drop_null
filter
inverse_permutation
scatter
take
Sorts and Partitions
--------------------
.. autosummary::
:toctree: ../generated/
array_sort_indices
bottom_k_unstable
partition_nth_indices
rank
rank_normal
rank_quantile
select_k_unstable
sort_indices
top_k_unstable
Statistical Functions
---------------------
.. autosummary::
:toctree: ../generated/
winsorize
Structural Transforms
---------------------
.. autosummary::
:toctree: ../generated/
fill_null
fill_null_backward
fill_null_forward
list_element
list_flatten
list_parent_indices
list_slice
list_value_length
make_struct
map_lookup
replace_with_mask
struct_field
Pairwise Functions
------------------
.. autosummary::
:toctree: ../generated/
pairwise_diff
pairwise_diff_checked
Compute Options
---------------
.. autosummary::
:toctree: ../generated/
ArraySortOptions
AssumeTimezoneOptions
CastOptions
CountOptions
CumulativeOptions
CumulativeSumOptions
DayOfWeekOptions
DictionaryEncodeOptions
ElementWiseAggregateOptions
ExtractRegexOptions
ExtractRegexSpanOptions
FilterOptions
IndexOptions
InversePermutationOptions
JoinOptions
ListFlattenOptions
ListSliceOptions
MakeStructOptions
MapLookupOptions
MatchSubstringOptions
ModeOptions
NullOptions
PadOptions
PairwiseOptions
PartitionNthOptions
PivotWiderOptions
QuantileOptions
RandomOptions
RankOptions
RankQuantileOptions
ReplaceSliceOptions
ReplaceSubstringOptions
RoundBinaryOptions
RoundOptions
RoundTemporalOptions
RoundToMultipleOptions
RunEndEncodeOptions
ScalarAggregateOptions
ScatterOptions
SelectKOptions
SetLookupOptions
SkewOptions
SliceOptions
SortOptions
SplitOptions
SplitPatternOptions
StrftimeOptions
StrptimeOptions
StructFieldOptions
TakeOptions
TDigestOptions
TrimOptions
Utf8NormalizeOptions
VarianceOptions
WeekOptions
WinsorizeOptions
ZeroFillOptions
Functions Registry
------------------
.. autosummary::
:toctree: ../generated/
call_function
call_tabular_function
get_function
list_functions
User-Defined Functions
----------------------
.. autosummary::
:toctree: ../generated/
register_aggregate_function
register_scalar_function
register_tabular_function
register_vector_function
UdfContext
Expression Functions
--------------------
.. autosummary::
:toctree: ../generated/
field
scalar