Teradata Package for Python Function Reference on VantageCloud Lake - array_mod - Teradata Package for Python - Look here for syntax, methods and examples for the functions included in the Teradata Package for Python.

Teradata® Package for Python Function Reference on VantageCloud Lake

Deployment
VantageCloud
Edition
Lake
Product
Teradata Package for Python
Release Number
20.00.00.11
Published
August 2026
ft:locale
en-US
ft:lastEdition
2026-08-13
dita:id
TeradataPython_FxRef_Lake_2000
Product Category
Teradata Vantage
teradataml.dataframe.sql.DataFrameColumn.array_mod = array_mod(self, other, lower_bound=None, upper_bound=None)
DESCRIPTION:
    Compute the modulo (remainder) of the elements of the array with another 
    array or scalar value element-wise and return the result array.
 
PARAMETERS:
    other:
        Required Argument.
        Specifies the array or Python literal value to compute modulo with.
        Note:
            * Value specified in "other" must be of the same type as the array to compute modulo.
        Types: ColumnExpression OR Python literal
 
    lower_bound:
        Optional Argument.
        Specifies the starting index for modulo operation (inclusive).
        Note:
            * If specified, both "lower_bound" and "upper_bound" arguments must be provided.
        Types: int
 
    upper_bound:
        Optional Argument.
        Specifies the ending index for modulo operation (inclusive).
        Note:
            * If specified, both "lower_bound" and "upper_bound" arguments must be provided.
        Types: int
 
RETURNS:
    ColumnExpression
 
EXAMPLES:
    >>> from teradataml import *
    >>> load_example_data("array", "array_table")
 
    # Create a DataFrame on 'array_table'.
    >>> df = DataFrame("array_table")
    >>> df
                     arr1                   arr2                        arr3
    id                                                                      
    1    (10,20,30,40,50)     (23,200,215,40,21)  ('ab','bc','cd','ab','ef')
    4   (180,28,38,48,58)  (30,NULL,NULL,250,27)  ('mn','no',NULL,'op','pq')
    2   (150,25,35,45,55)       (28,50,95,90,26)  ('xy','yz','za','ab','xy')
    6   (16,261,36,46,56)     (29,170,160,46,25)  ('uv','xy','ab','xy','yz')
    3   (12,22,320,42,52)     (25,22,140,200,23)  ('pq','ab','ab','st','tu')
    5    (14,24,34,44,54)  (26,NULL,NULL,180,24)  ('ij','jk',NULL,'kl','lm')
 
    # Example 1: Compute modulo of corresponding elements of array columns 'arr1' with 'arr2'.
    >>> res = df.assign(mod_res = df.arr2.array_mod(df.arr1))
    >>> res
                     arr1                   arr2                        arr3               mod_res
    id                                                                                            
    1    (10,20,30,40,50)     (23,200,215,40,21)  ('ab','bc','cd','ab','ef')          (3,0,5,0,21)
    4   (180,28,38,48,58)  (30,NULL,NULL,250,27)  ('mn','no',NULL,'op','pq')  (30,NULL,NULL,10,27)
    2   (150,25,35,45,55)       (28,50,95,90,26)  ('xy','yz','za','ab','xy')        (28,0,25,0,26)
    6   (16,261,36,46,56)     (29,170,160,46,25)  ('uv','xy','ab','xy','yz')      (13,170,16,0,25)
    3   (12,22,320,42,52)     (25,22,140,200,23)  ('pq','ab','ab','st','tu')       (1,0,140,32,23)
    5    (14,24,34,44,54)  (26,NULL,NULL,180,24)  ('ij','jk',NULL,'kl','ab')   (12,NULL,NULL,4,24)
 
    # Example 2: Compute modulo of all elements in array column 'arr1' with a scalar value 3.
    >>> res = df.assign(mod_res = df.arr1.array_mod(3))
    >>> res
                     arr1                   arr2                        arr3      mod_res
    id                                                                                   
    1    (10,20,30,40,50)     (23,200,215,40,21)  ('ab','bc','cd','ab','ef')  (1,2,0,1,2)
    4   (180,28,38,48,58)  (30,NULL,NULL,250,27)  ('mn','no',NULL,'op','pq')  (0,1,2,0,1)
    2   (150,25,35,45,55)       (28,50,95,90,26)  ('xy','yz','za','ab','xy')  (0,1,2,0,1)
    6   (16,261,36,46,56)     (29,170,160,46,25)  ('uv','xy','ab','xy','yz')  (1,0,0,1,2)
    3   (12,22,320,42,52)     (25,22,140,200,23)  ('pq','ab','ab','st','tu')  (0,1,2,0,1)
    5    (14,24,34,44,54)  (26,NULL,NULL,180,24)  ('ij','jk',NULL,'kl','ab')  (2,0,1,2,0)
 
    # Example 3: Compute modulo of the elements present in first position to third position
    #            in the array column 'arr1' with a scalar value 3.
    >>> res = df.assign(mod_res = df.arr1.array_mod(3, lower_bound=1, upper_bound=3))
    >>> res
                     arr1                   arr2                        arr3            mod_res
    id                                                                                          
    1    (10,20,30,40,50)     (23,200,215,40,21)  ('ab','bc','cd','ab','ef')  (1,2,0,NULL,NULL)
    4   (180,28,38,48,58)  (30,NULL,NULL,250,27)  ('mn','no',NULL,'op','pq')  (0,1,2,NULL,NULL)
    2   (150,25,35,45,55)       (28,50,95,90,26)  ('xy','yz','za','ab','xy')  (0,1,2,NULL,NULL)
    6   (16,261,36,46,56)     (29,170,160,46,25)  ('uv','xy','ab','xy','yz')  (1,0,0,NULL,NULL)
    3   (12,22,320,42,52)     (25,22,140,200,23)  ('pq','ab','ab','st','tu')  (0,1,2,NULL,NULL)
    5    (14,24,34,44,54)  (26,NULL,NULL,180,24)  ('ij','jk',NULL,'kl','ab')  (2,0,1,NULL,NULL)
    >>>
 
    # Example 4: Compute modulo of the elements present in second position to fourth position in the array column
    #            'arr2' with the corresponding elements in array column 'arr1'.
    >>> res = df.assign(mod_res = df.arr2.array_mod(df.arr1, lower_bound=2, upper_bound=4))
    >>> res
                     arr1                   arr2                        arr3                   mod_res
    id                                                                                                
    1    (10,20,30,40,50)     (23,200,215,40,21)  ('ab','bc','cd','ab','ef')         (NULL,0,5,0,NULL)
    4   (180,28,38,48,58)  (30,NULL,NULL,250,27)  ('mn','no',NULL,'op','pq')  (NULL,NULL,NULL,10,NULL)
    2   (150,25,35,45,55)       (28,50,95,90,26)  ('xy','yz','za','ab','xy')        (NULL,0,25,0,NULL)
    6   (16,261,36,46,56)     (29,170,160,46,25)  ('uv','xy','ab','xy','yz')      (NULL,170,16,0,NULL)
    3   (12,22,320,42,52)     (25,22,140,200,23)  ('pq','ab','ab','st','tu')      (NULL,0,140,32,NULL)
    5    (14,24,34,44,54)  (26,NULL,NULL,180,24)  ('ij','jk',NULL,'kl','ab')   (NULL,NULL,NULL,4,NULL)