count_distinct
1 つまたは複数の列の個別のカウントの新しい列を返します。
構文
Python
from pyspark.sql import functions as sf
sf.count_distinct(col, *cols)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| コンピュートする最初の列。 |
|
| 他の列をコンピュートします。 |
戻り値
pyspark.sql.Column: これら 2 つの列の値が異なる値であること。
例
例1 : 単一列の重複しない値を数える
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1,), (1,), (3,)], ["value"])
df.select(sf.count_distinct(df.value)).show()
Output
+---------------------+
|count(DISTINCT value)|
+---------------------+
| 2|
+---------------------+
例2 : 複数の列の重複しない値を数える
Python
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()
Output
+------------------------------+
|count(DISTINCT value1, value2)|
+------------------------------+
| 2|
+------------------------------+
例3 : 列名を文字列として一意の値を数える
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1, 1), (1, 2)], ["value1", "value2"])
df.select(sf.count_distinct("value1", "value2")).show()
Output
+------------------------------+
|count(DISTINCT value1, value2)|
+------------------------------+
| 2|
+------------------------------+