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