vector_normalize

Normaliza um vetor flutuante para o comprimento da unidade usando o grau de norma especificado. O grau padrão será 2.0 (norma euclidiana) se não for especificado.

Para a função SQL do Databricks correspondente, consulte a função vector_normalize.

Sintaxe

from pyspark.sql import functions as dbf

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

Parameters

Parâmetro Tipo Descrição
vector pyspark.sql.Column ou nome da coluna Coluna de vetor de entrada.
degree pyspark.sql.Column ou nome da coluna, opcional Grau de norma (1.0 para L1, 2.0 para L2, float('inf') para norma de infinito). Usa 2.0 como padrão.

Returns

pyspark.sql.Column: o vetor normalizado como uma matriz de floats.

Exemplos

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