Skip to content

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
  • Всегда возвращает неотрицательный результат
  • Отличается от оператора % тем, что результат всегда положительный
  • Полезно для:
  • Циклических вычислений
  • Работы с индексами
  • Определения дня недели
  • Вычисления углов в градусах
  • Для обычного остатка от деления используйте оператор %