Skip to content

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