log1p
Теги: mathematical functions pyspark
Описание
Функция log1p()
вычисляет натуральный логарифм от (1 + x). Эта функция более точна для малых значений x по сравнению с вычислением ln(1 + x).
Параметры
col
: Column - числовой столбец
Возвращаемое значение
Column - натуральный логарифм от (1 + x)
Пример
from pyspark.sql import SparkSession
from pyspark.sql.functions import log1p
# Создаем Spark сессию
spark = SparkSession.builder.appName("log1p_example").getOrCreate()
# Создаем DataFrame с малыми числами
data = [(0.0001,), (0.001,), (0.01,)]
df = spark.createDataFrame(data, ["value"])
# Вычисляем log1p
df = df.withColumn("log1p", log1p("value"))
df.show()
# Вывод:
# +-------+------------------+
# | value| log1p|
# +-------+------------------+
# |0.0001 |9.99950003333083E-5|
# | 0.001 |0.0009995003330835332|
# | 0.01 |0.009950330853168083|
# +-------+------------------+
Примечания
- Функция более точна для малых значений x
- Полезно при работе с малыми числами, где важна точность
- Возвращает NULL, если входное значение NULL
- Для отрицательных чисел возвращает NULL
- Для -1 возвращает -inf
- Является обратной функцией к expm1()