pyspark.sql.functions.transform_values¶
-
pyspark.sql.functions.
transform_values
(col, f)[source]¶ Applies a function to every key-value pair in a map and returns a map with the results of those applications as the new values for the pairs.
New in version 3.1.0.
- Parameters
- col
Column
or str name of column or expression
- ffunction
a binary function
(k: Column, v: Column) -> Column...
Can use methods ofColumn
, functions defined inpyspark.sql.functions
and ScalaUserDefinedFunctions
. PythonUserDefinedFunctions
are not supported (SPARK-27052).
- col
- Returns
Examples
>>> df = spark.createDataFrame([(1, {"IT": 10.0, "SALES": 2.0, "OPS": 24.0})], ("id", "data")) >>> df.select(transform_values( ... "data", lambda k, v: when(k.isin("IT", "OPS"), v + 10.0).otherwise(v) ... ).alias("new_data")).show(truncate=False) +---------------------------------------+ |new_data | +---------------------------------------+ |{OPS -> 34.0, IT -> 20.0, SALES -> 2.0}| +---------------------------------------+