Teradata Package for Python Function Reference | 20.00 - array_count_distinct - 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 - 20.00

Deployment
VantageCloud
VantageCore
Edition
VMware
Enterprise
IntelliFlex
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_Enterprise_2000
Product Category
Teradata Vantage
teradataml.dataframe.sql.DataFrameColumn.array_count_distinct = array_count_distinct(self, lower_bound=None, upper_bound=None, match=None)
DESCRIPTION:
    Count the distinct elements in the array.
 
PARAMETERS:
    lower_bound:
        Optional Argument.
        Specifies the starting index for distinct 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 distinct operation (inclusive).
        Note:
            * If specified, both "lower_bound" and "upper_bound" arguments must be provided.
        Types: int
 
    match:
        Optional Argument.
        Specifies a value to be matched by one or more elements in the array.
        Note:
            * If specified, then the function returns the number of elements in array whose
              values are equal to 'match'.
            * If not specified, then the function returns the number of distinct elements in 
              array and if NULL element is present in the array, it is ignored and not 
              considered when doing the calculation.
        Types: int OR float OR ColumnExpression
 
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: Get the count of distinct elements in array column 'arr3'.
    >>> res = df.assign(count_res = df.arr3.array_count_distinct())
    >>> res
                     arr1                   arr2                        arr3  count_res
    id                                                                                 
    1    (10,20,30,40,50)     (23,200,215,40,21)  ('ab','bc','cd','ab','ef')          4
    4   (180,28,38,48,58)  (30,NULL,NULL,250,27)  ('mn','no',NULL,'op','pq')          4
    2   (150,25,35,45,55)       (28,50,95,90,26)  ('xy','yz','za','ab','xy')          4
    6   (16,261,36,46,56)     (29,170,160,46,25)  ('uv','xy','ab','xy','yz')          4
    3   (12,22,320,42,52)     (25,22,140,200,23)  ('pq','ab','ab','st','tu')          4
    5    (14,24,34,44,54)  (26,NULL,NULL,180,24)  ('ij','jk',NULL,'kl','ab')          4
 
    # Example 2: Get the count of distinct elements from second position to fourth position
    #            in array column 'arr3'.
    >>> res = df.assign(distinct_res = df.arr3.array_count_distinct(lower_bound=2, upper_bound=4))
    >>> res
                     arr1                   arr2                        arr3  distinct_res
    id                                                                                    
    1    (10,20,30,40,50)     (23,200,215,40,21)  ('ab','bc','cd','ab','ef')             3
    4   (180,28,38,48,58)  (30,NULL,NULL,250,27)  ('mn','no',NULL,'op','pq')             2
    2   (150,25,35,45,55)       (28,50,95,90,26)  ('xy','yz','za','ab','xy')             3
    6   (16,261,36,46,56)     (29,170,160,46,25)  ('uv','xy','ab','xy','yz')             2
    3   (12,22,320,42,52)     (25,22,140,200,23)  ('pq','ab','ab','st','tu')             2
    5    (14,24,34,44,54)  (26,NULL,NULL,180,24)  ('ij','jk',NULL,'kl','lm')             2
 
    # Example 3: Get the count elements that matches the value 'ab' in array column 'arr3'.
    >>> res = df.assign(count_res = df.arr3.array_count_distinct(match='ab'))
    >>> res
                     arr1                   arr2                        arr3  count_res
    id                                                                                 
    1    (10,20,30,40,50)     (23,200,215,40,21)  ('ab','bc','cd','ab','ef')          2
    4   (180,28,38,48,58)  (30,NULL,NULL,250,27)  ('mn','no',NULL,'op','pq')          0
    2   (150,25,35,45,55)       (28,50,95,90,26)  ('xy','yz','za','ab','xy')          1
    6   (16,261,36,46,56)     (29,170,160,46,25)  ('uv','xy','ab','xy','yz')          1
    3   (12,22,320,42,52)     (25,22,140,200,23)  ('pq','ab','ab','st','tu')          2
    5    (14,24,34,44,54)  (26,NULL,NULL,180,24)  ('ij','jk',NULL,'kl','lm')          0