Aller au contenu principal

transformer (DataFrame)

Renvoie un nouveau DataFrame. Syntaxe concise pour enchaîner les transformations personnalisées.

Syntaxe

transform(func: Callable[..., "DataFrame"], *args: Any, **kwargs: Any)

parameter

parameter

Type

Description

func

fonction

une fonction qui prend et renvoie un DataFrame.

*args

tout

Arguments positionnels à transmettre à la fonction.

**kwargs

tout

Arguments de mots-clés à passer à func.

parameter

Type

Description

func

fonction

une fonction qui prend et renvoie un DataFrame.

*args

tout

Arguments positionnels à transmettre à la fonction.

**kwargs

tout

Arguments de mots-clés à passer à func.

Renvoie

DataFrame: DataFrame transformé.

Exemples

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1, 1.0), (2, 2.0)], ["int", "float"])
def cast_all_to_int(input_df):
return input_df.select([sf.col(c).cast("int") for c in input_df.columns])

def sort_columns_asc(input_df):
return input_df.select(*sorted(input_df.columns))

df.transform(cast_all_to_int).transform(sort_columns_asc).show()
# +-----+---+
# |float|int|
# +-----+---+
# | 1| 1|
# | 2| 2|
# +-----+---+

def add_n(input_df, n):
cols = [(sf.col(c) + n).alias(c) for c in input_df.columns]
return input_df.select(cols)

df.transform(add_n, 1).transform(add_n, n=10).show()
# +---+-----+
# |int|float|
# +---+-----+
# | 12| 12.0|
# | 13| 13.0|
# +---+-----+