Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Verbinden Sie zwei gegebene Arrays elementweise zu einem einzigen Array, indem Sie eine Funktion verwenden. Wenn ein Array kürzer ist, werden Nullen am Ende an die Länge des längeren Arrays angefügt, bevor die Funktion angewendet wird. Unterstützt Spark Connect.
Die entsprechende Databricks SQL-Funktion finden Sie unter zip_with Funktion.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.zip_with(left=<left>, right=<right>, f=<f>)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
left |
pyspark.sql.Column oder str |
Name der ersten Spalte oder des ersten Ausdrucks. |
right |
pyspark.sql.Column oder str |
Name der zweiten Spalte oder des zweiten Ausdrucks. |
f |
function |
Eine binäre Funktion. |
Rückkehr
pyspark.sql.Column: Array berechneter Werte, die durch Anwenden einer bestimmten Funktion auf jedes Argumentpaar abgeleitet werden.
Examples
Beispiel 1: Zusammenführen von zwei Arrays mit einer einfachen Funktion
from pyspark.databricks.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]|
+---------------------------+
Beispiel 2: Zusammenführen von Arrays unterschiedlicher Länge
from pyspark.databricks.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]|
+-----------------+