vector_normalize

使用指定的规范度将浮向量规范化为单位长度。 如果未指定,度默认为 2.0(Euclidean norm)。

有关相应的 Databricks SQL 函数,请参阅 vector_normalize 函数

Syntax

from pyspark.sql import functions as dbf

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

Parameters

参数 类型 说明
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...]