Aller au contenu principal

transformer

Renvoie un tableau d’éléments après avoir appliqué une transformation à chaque élément du tableau d’entrée. Prend en charge Spark Connect.

Pour la fonction Databricks SQL correspondante, consultez la fonctiontransform.

Syntaxe

Python
from pyspark.sql import functions as dbf

dbf.transform(col=<col>, f=<f>)

parameter

parameter

Type

Description

col

pyspark.sql.Column OU str

Nom de la colonne ou de l'expression.

f

function

Une fonction qui est appliquée à chaque élément du tableau d'entrée. Peut prendre l'une des formes suivantes : unaire (x: Column) -> Column ou binaire (x: Column, i: Column) -> Column où le deuxième argument est un index de l'élément basé sur 0.

parameter

Type

Description

col

pyspark.sql.Column OU str

Nom de la colonne ou de l'expression.

f

function

Une fonction qui est appliquée à chaque élément du tableau d'entrée. Peut prendre l'une des formes suivantes : unaire (x: Column) -> Column ou binaire (x: Column, i: Column) -> Column où le deuxième argument est un index de l'élément basé sur 0.

Renvoie

pyspark.sql.Column: un nouveau tableau d'éléments transformés.

Exemples

Exemple 1 : transformez les éléments d'un tableau à l'aide d'une fonction simple

Python
from pyspark.sql import functions as dbf
df = spark.createDataFrame([(1, [1, 2, 3, 4])], ("key", "values"))
df.select(dbf.transform("values", lambda x: x * 2).alias("doubled")).show()
Output
+------------+
| doubled|
+------------+
|[2, 4, 6, 8]|
+------------+

Exemple 2 : Transformer les éléments de tableau à l'aide de l'index

Python
from pyspark.sql import functions as dbf
df = spark.createDataFrame([(1, [1, 2, 3, 4])], ("key", "values"))
def alternate(x, i):
return dbf.when(i % 2 == 0, x).otherwise(-x)
df.select(dbf.transform("values", alternate).alias("alternated")).show()
Output
+--------------+
| alternated|
+--------------+
|[1, -2, 3, -4]|
+--------------+