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