我有一个数据帧(testdf
),希望在另一列(booking
/rental
)不为null或非空(即“”)的列(memid
)上获得计数和非重复计数。
testdf
memid booking rental
100 Y
100
120 Y
100 Y Y
预期结果:(对于预订列不为空/非空)
count(memid) count(distinct memid)
3 2
如果是SQL:
Select count(memid), count(distinct memid) from mydf
where booking is not null and booking!= ""
在PySpark中:
mydf.filter("booking!=''").groupBy('booking').agg(count("patid"), countDistinct("patid"))
但我只想要总体计数,而不是按..
发布于 2018-09-07 16:57:40
您可以直接删除GroupBy
并使用agg
。
就像这样。
from pyspark.sql import functions as F
mydf=mydf.filter("booking!=''").agg(F.count("patid"), F.countDistinct("patid"))
https://stackoverflow.com/questions/50689005
复制相似问题