Compartir a través de


count_distinct

Devuelve una nueva Columna para un conteo distinto de una columna o múltiples columnas.

Syntax

from pyspark.sql import functions as sf

sf.count_distinct(col, *cols)

Parámetros

Parámetro Tipo Description
col pyspark.sql.Column o nombre de columna Primera columna en la que se va a calcular.
cols pyspark.sql.Column o nombre de columna Otras columnas en las que se va a calcular.

Devoluciones

pyspark.sql.Column: valores distintos de estos dos valores de columna.

Examples

Ejemplo 1: Contar valores distintos de una sola columna

from pyspark.sql import functions as sf
df = spark.createDataFrame([(1,), (1,), (3,)], ["value"])
df.select(sf.count_distinct(df.value)).show()
+---------------------+
|count(DISTINCT value)|
+---------------------+
|                    2|
+---------------------+

Ejemplo 2: Contar valores distintos de varias columnas

from pyspark.sql import functions as sf
df = spark.createDataFrame([(1, 1), (1, 2)], ["value1", "value2"])
df.select(sf.count_distinct(df.value1, df.value2)).show()
+------------------------------+
|count(DISTINCT value1, value2)|
+------------------------------+
|                             2|
+------------------------------+

Ejemplo 3: Contar valores distintos con nombres de columna como cadenas

from pyspark.sql import functions as sf
df = spark.createDataFrame([(1, 1), (1, 2)], ["value1", "value2"])
df.select(sf.count_distinct("value1", "value2")).show()
+------------------------------+
|count(DISTINCT value1, value2)|
+------------------------------+
|                             2|
+------------------------------+