vector_l2_distance

回傳兩個浮點向量之間的歐幾里得(L2)距離。 向量必須具有相同的維度。

關於對應的 Databricks SQL 函式,請參見 vector_l2_distance 函數。

語法

from pyspark.sql import functions as dbf

dbf.vector_l2_distance(left=<left>, right=<right>)

Parameters

參數 類型 Description
left pyspark.sql.Column 或欄位名稱 第一列向量。
right pyspark.sql.Column 或欄位名稱 第二向量列。

Returns

pyspark.sql.Column: L2 距離作為浮點值。

Examples

from pyspark.sql import functions as dbf
from pyspark.sql.types import ArrayType, FloatType, StructType, StructField

schema = StructType([StructField('a', ArrayType(FloatType())), StructField('b', ArrayType(FloatType()))])
df = spark.createDataFrame([([1.0, 2.0, 3.0], [4.0, 5.0, 6.0])], schema)
df.select(dbf.vector_l2_distance('a', 'b')).first()[0]
# 5.196152...