Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İş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]|
+-----------------+