使用指定度返回浮向量的 Lp 规范。 如果未指定,度默认为 2.0(Euclidean norm)。
有关相应的 Databricks SQL 函数,请参阅 vector_norm 函数。
Syntax
from pyspark.sql import functions as dbf
dbf.vector_norm(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:Lp 规范作为浮点值。
示例
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_norm('v', dbf.lit(2.0).cast('float'))).first()[0]
# 5.0