Pyspark 基于少数列的CountDistinct()
假设我在PySpark中的数据帧如下所示:Pyspark 基于少数列的CountDistinct(),pyspark,group-by,count,Pyspark,Group By,Count,假设我在PySpark中的数据帧如下所示: cats | letter| pet -------------------- cat1 | A | cat cat1 | A | dog cat2 | B | cat cat2 | B | cat cat2 | A | cat cat1 | B | cat cat1 | B | dog 我想用猫来分组,这样我就可以数字母和宠物了。这意味着,如果这两列对于特定的猫是相同的,那么就有两个重复,我不
cats | letter| pet
--------------------
cat1 | A | cat
cat1 | A | dog
cat2 | B | cat
cat2 | B | cat
cat2 | A | cat
cat1 | B | cat
cat1 | B | dog
我想用猫来分组,这样我就可以数字母和宠物了。这意味着,如果这两列对于特定的猫是相同的,那么就有两个重复,我不计算它们。
countDistinct
应该对您有如下帮助-
df1.groupBy(“猫”).agg(countDistinct(“字母”、“宠物”))
.show(假)
/**
* +----+---------------------------+
*|猫|计数(不同字母,宠物)|
* +----+---------------------------+
*|第1类| 4类|
*|第2类| 2类|
* +----+---------------------------+
*/