Skip to content

rint(col)

Описание

Функция rint() округляет число до ближайшего целого числа, используя правило "round half to even" (банковское округление).

Параметры

  • col: Column - числовой столбец

Возвращаемое значение

Column - округленное число

Пример использования

from pyspark.sql.functions import rint
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("rint_example").getOrCreate()

# Создаем DataFrame с числами
data = [
    (1.2,),
    (1.5,),
    (2.5,),
    (3.7,),
    (-1.2,),
    (-1.5,),
    (-2.5,)
]
df = spark.createDataFrame(data, ["value"])

# Округляем числа
df = df.withColumn("rounded", rint("value"))
df.show()

# Результат:
# +-----+-------+
# |value|rounded|
# +-----+-------+
# |  1.2|    1.0|
# |  1.5|    2.0|
# |  2.5|    2.0|
# |  3.7|    4.0|
# | -1.2|   -1.0|
# | -1.5|   -2.0|
# | -2.5|   -2.0|
# +-----+-------+

Примечания

  • Использует правило "round half to even" (банковское округление)
  • При округлении 0.5 округляет к ближайшему четному числу
  • Возвращает NULL, если входное значение NULL
  • Отличается от round() правилом округления
  • Полезно для минимизации систематической ошибки при округлении
  • Часто используется в финансовых расчетах