count_if(col)
Описание
Функция count_if()
возвращает количество значений TRUE в столбце. Это агрегатная функция, которая должна использоваться с groupBy()
.
Параметры
col
: Column - столбец с булевыми значениями для подсчета
Возвращаемое значение
Long - количество значений TRUE
Пример использования
from pyspark.sql.functions import count_if, col
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("count_if_example").getOrCreate()
# Создаем DataFrame
data = [
("A", True),
("A", False),
("A", True),
("B", True),
("B", True),
("B", False),
("B", None)
]
df = spark.createDataFrame(data, ["group", "value"])
# Используем count_if для подсчета TRUE значений
result = df.groupBy("group").agg(
count_if("value").alias("true_count")
).show()
# Результат:
# +-----+----------+
# |group|true_count|
# +-----+----------+
# |A |2 |
# |B |2 |
# +-----+----------+
Примечания
- NULL значения игнорируются при подсчете
- Для подсчета всех значений используйте
count()
- Для подсчета уникальных значений используйте
countDistinct()
- Для подсчета FALSE значений можно использовать
count_if(not(col))