zip_com
Combinar dois arrays dados, elemento por elemento, em um único array usando uma função. Se um dos arrays for mais curto, valores nulos são adicionados ao final para corresponder ao comprimento do array mais longo, antes de aplicar a função. Compatível com Spark Connect.
Para a função Databricks SQL correspondente, consulte a funçãozip_with.
Sintaxe
from pyspark.databricks.sql import functions as dbf
dbf.zip_with(left=<left>, right=<right>, f=<f>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Nome da primeira coluna ou expressão. |
|
| Nome da segunda coluna ou expressão. |
|
| Uma função binária. |
Devoluções
pyspark.sql.Column: matriz de valores calculados, obtidos pela aplicação da função fornecida a cada par de argumentos.
Exemplos
Exemplo 1 : Combinando duas matrizes com uma função simples
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]|
+---------------------------+
Exemplo 2 : Combinando matrizes de comprimentos diferentes
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]|
+-----------------+