pmod(dividend, divisor)
Описание
Функция pmod()
возвращает положительный остаток от деления (всегда в диапазоне [0, divisor)).
Параметры
dividend
: Column - делимоеdivisor
: Column - делитель
Возвращаемое значение
Column - положительный остаток от деления
Пример использования
from pyspark.sql.functions import pmod, lit
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("pmod_example").getOrCreate()
# Создаем DataFrame с числами
data = [
(10, 3),
(-10, 3),
(10, -3),
(-10, -3)
]
df = spark.createDataFrame(data, ["dividend", "divisor"])
# Вычисляем положительный остаток
df = df.withColumn("remainder", pmod("dividend", "divisor"))
df.show(truncate=False)
# Результат:
# +---------+--------+---------+
# |dividend |divisor |remainder|
# +---------+--------+---------+
# |10 |3 |1 |
# |-10 |3 |2 |
# |10 |-3 |1 |
# |-10 |-3 |2 |
# +---------+--------+---------+
Примечания
- Возвращает NULL, если любой из аргументов NULL
- Всегда возвращает неотрицательный результат
- Отличается от оператора
%
тем, что результат всегда положительный - Полезно для:
- Циклических вычислений
- Работы с индексами
- Определения дня недели
- Вычисления углов в градусах
- Для обычного остатка от деления используйте оператор
%