У меня есть фрейм данных (testdf
), и я хотел бы получить счетчик и отчетливый счетчик для столбца (memid
), где другой столбец (booking
/ rental
) не является нулевым или не пустым (т.е."")
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"))
Но я просто хочу, чтобы общий счетчик не сгруппировался по ..