vector_normalize

Normalizza un vettore float per la lunghezza dell'unità utilizzando il grado di norma specificato. Il grado predefinito è 2,0 (norma euclidea) se non specificato.

Per la funzione SQL di Databricks corrispondente, vedere vector_normalize funzione.

Sintassi

from pyspark.sql import functions as dbf

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

Parameters

Parametro Tipo Description
vector pyspark.sql.Column o il nome della colonna Colonna vettore di input.
degree pyspark.sql.Column o il nome della colonna, facoltativo Grado di norma (1.0 per L1, 2.0 per L2, float('inf') per la norma infinito). Di default è 2.0.

Returns

pyspark.sql.Column: vettore normalizzato come matrice di float.

Esempi

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