将函数应用于映射中的每个键值对,并将这些应用程序的结果作为对的新值返回映射。 支持 Spark Connect。
有关相应的 Databricks SQL 函数,请参阅 transform_values 函数。
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.transform_values(col=<col>, f=<f>)
参数
| 参数 | 类型 | Description |
|---|---|---|
col |
pyspark.sql.Column 或 str |
列或表达式的名称。 |
f |
function |
二进制函数。 |
退货
pyspark.sql.Column:通过对每个键值参数应用给定函数来计算新值的条目的新映射。
例子
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, {"IT": 10.0, "SALES": 2.0, "OPS": 24.0})], ("id", "data"))
row = df.select(dbf.transform_values(
"data", lambda k, v: dbf.when(k.isin("IT", "OPS"), v + 10.0).otherwise(v)
).alias("new_data")).head()
sorted(row["new_data"].items())
[('IT', 20.0), ('OPS', 34.0), ('SALES', 2.0)]