Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Sloučte dvě daná pole po prvcích do jednoho pole pomocí funkce. Pokud je jedno pole kratší, před použitím funkce se na konci připojí hodnoty null tak, aby odpovídaly délce delšího pole. Podporuje Spark Connect.
Odpovídající funkci SQL Databricks vizte funkcezip_with.
Syntaxe
from pyspark.sql import functions as dbf
dbf.zip_with(left=<left>, right=<right>, f=<f>)
Parametry
| Parameter | Typ | Description |
|---|---|---|
left |
pyspark.sql.Column nebo str |
Název prvního sloupce nebo výrazu |
right |
pyspark.sql.Column nebo str |
Název druhého sloupce nebo výrazu |
f |
function |
Binární funkce. |
Návraty
pyspark.sql.Column: matice počítaných hodnot odvozených použitím dané funkce na každou dvojici argumentů.
Examples
Příklad 1: Sloučení dvou polí s jednoduchou funkcí
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]|
+---------------------------+
Příklad 2: Sloučení polí s různými délkami
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]|
+-----------------+