對映射中的每個鍵值對套用函式,並回傳一個新的映射,其中這些應用的結果作為鍵值對的新值。 支援 Spark Connect。
關於對應的 Databricks SQL 函式,請參見 transform_values 函數。
語法
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)]