vector_normalize

Normaliserar en flyttalvektor till enhetslängd med den angivna normgraden. Grad är standardvärdet 2,0 (euklidisk norm) om det är ospecificerat.

För motsvarande Databricks SQL-funktion, se vector_normalize funktion.

Syntax

from pyspark.sql import functions as dbf

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

Parameters

Parameter Type Description
vector pyspark.sql.Column eller kolumnnamn Indatavektorkolumn.
degree pyspark.sql.Column eller kolumnnamn, valfritt Normgrad (1.0 för L1, 2.0 för L2, float('inf') för oändlighetsnorm). Standardinställningen är 2.0.

Returns

pyspark.sql.Column: Den normaliserade vektorn som en matris med flyttal.

Examples

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...]