Skip to content

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))