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()
правилом округления - Полезно для минимизации систематической ошибки при округлении
- Часто используется в финансовых расчетах