vector_normalize

Normalizuje vektor float na jednotkovou délku pomocí zadaného stupně normy. Ve výchozím nastavení je hodnota 2,0 (Euclidean norm), pokud není zadána.

Odpovídající funkci SQL Databricks vizte funkcevector_normalize.

Syntax

from pyspark.sql import functions as dbf

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

Parameters

Parametr Typ Description
vector pyspark.sql.Column nebo název sloupce Vstupní vektorový sloupec.
degree pyspark.sql.Column nebo název sloupce, volitelné Norm degree (1.0 pro L1, 2.0 pro L2, float('inf') pro nekonečno normu). Výchozí hodnota je 2.0.

Returns

pyspark.sql.Column: Normalizovaný vektor jako pole float.

Příklady

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