入力配列内の各要素に変換を適用した後の要素の配列を返します。 Spark Connect をサポートします。
対応する Databricks SQL 関数については、 transform 関数を参照してください。
構文
from pyspark.databricks.sql import functions as dbf
dbf.transform(col=<col>, f=<f>)
パラメーター
| パラメーター | タイプ | Description |
|---|---|---|
col |
pyspark.sql.Column または str |
列または式の名前。 |
f |
function |
入力配列の各要素に適用される関数。 2 番目の引数が要素の 0 から始まるインデックスである単項 (x: Column) -> Column またはバイナリ (x: Column, i: Column) -> Column のいずれかの形式を使用できます。 |
返品ポリシー
pyspark.sql.Column: 変換された要素の新しい配列。
例示
例 1: 単純な関数を使用して配列要素を変換する
from pyspark.databricks.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()
+------------+
| doubled|
+------------+
|[2, 4, 6, 8]|
+------------+
例 2: インデックスを使用して配列要素を変換する
from pyspark.databricks.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()
+--------------+
| alternated|
+--------------+
|[1, -2, 3, -4]|
+--------------+