log(col)
Описание
Функция log()
вычисляет натуральный логарифм числа (логарифм по основанию e).
Параметры
col
: Column - числовой столбец (положительные числа)
Возвращаемое значение
Column - натуральный логарифм числа
Пример использования
from pyspark.sql.functions import log, lit
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("log_example").getOrCreate()
# Создаем DataFrame с числами
data = [
(1,),
(2.71828,), # e
(10,)
]
df = spark.createDataFrame(data, ["x"])
# Вычисляем натуральный логарифм
df = df.withColumn("ln_x", log("x"))
df.show(truncate=False)
# Результат:
# +-------+------------------+
# |x |ln_x |
# +-------+------------------+
# |1.0 |0.0 |
# |2.71828|0.999999327347282 |
# |10.0 |2.302585092994046 |
# +-------+------------------+
Примечания
- Возвращает NULL, если входное значение NULL
- Принимает только положительные числа
- Для отрицательных чисел возвращает NULL
- Для других оснований логарифма используйте:
log10()
для десятичного логарифмаlog2()
для логарифма по основанию 2- Полезно для:
- Вычисления энтропии
- Работы с экспоненциальными распределениями
- Преобразования данных (логарифмическая шкала)