vector_normalize

Нормализует вектор с плавающей запятой на длину единицы с помощью указанной степени норм. Степень по умолчанию по умолчанию — 2,0 (норму Евклиида), если не указано.

Для соответствующей функции Databricks SQL смотрите функцию vector_normalize.

Syntax

from pyspark.sql import functions as dbf

dbf.vector_normalize(vector=<vector>, degree=<degree>)

Parameters

Parameter Тип Описание
vector pyspark.sql.Column или имя столбца Входной векторный столбец.
degree pyspark.sql.Column или имя столбца, необязательно Степень норм (1.0 для L1, 2.0 для L2, float('inf') для бесконечности норм). По умолчанию — 2.0.

Returns

pyspark.sql.Column: нормализованный вектор в виде массива с плавающей запятой.

Примеры

from pyspark.sql import functions as dbf
from pyspark.sql.types import ArrayType, FloatType, StructType, StructField

schema = StructType([StructField('v', ArrayType(FloatType()))])
df = spark.createDataFrame([([3.0, 4.0],)], schema)
df.select(dbf.vector_normalize('v', dbf.lit(2.0).cast('float'))).first()[0]
# [0.6..., 0.8...]