zip_with

İşlev kullanarak belirli iki diziyi (öğe açısından) tek bir dizide birleştirin. Bir dizi daha kısaysa, işlevi uygulamadan önce uzun dizinin uzunluğuyla eşleşmesi için sonuna null değerler eklenir. Spark Connect'i destekler.

İlgili Databricks SQL fonksiyonu için bakınız zip_with fonksiyonu.

Sözdizimi

from pyspark.sql import functions as dbf

dbf.zip_with(left=<left>, right=<right>, f=<f>)

Parametreler

Parametre Türü Description
left pyspark.sql.Column veya str İlk sütunun veya ifadenin adı.
right pyspark.sql.Column veya str İkinci sütunun veya ifadenin adı.
f function İkili bir işlev.

İade

pyspark.sql.Column: her bağımsız değişken çiftine verilen işlev uygulanarak türetilen hesaplanan değerlerin dizisi.

Örnekler

Örnek 1: İki diziyi basit bir işlevle birleştirme

from pyspark.sql import functions as dbf
df = spark.createDataFrame([(1, [1, 3, 5, 8], [0, 2, 4, 6])], ("id", "xs", "ys"))
df.select(dbf.zip_with("xs", "ys", lambda x, y: x ** y).alias("powers")).show(truncate=False)
+---------------------------+
|powers                     |
+---------------------------+
|[1.0, 9.0, 625.0, 262144.0]|
+---------------------------+

Örnek 2: Farklı uzunlukta dizileri birleştirme

from pyspark.sql import functions as dbf
df = spark.createDataFrame([(1, ["foo", "bar"], [1, 2, 3])], ("id", "xs", "ys"))
df.select(dbf.zip_with("xs", "ys", lambda x, y: dbf.concat_ws("_", x, y)).alias("xs_ys")).show()
+-----------------+
|            xs_ys|
+-----------------+
|[foo_1, bar_2, 3]|
+-----------------+