當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python pyspark transform用法及代碼示例

本文簡要介紹 pyspark.sql.functions.transform 的用法。

用法:

pyspark.sql.functions.transform(col, f)

在對輸入數組中的每個元素應用轉換後返回一個元素數組。

版本 3.1.0 中的新函數。

參數

col Column 或 str

列或表達式的名稱

f函數

應用於輸入數組的每個元素的函數。可以采取以下形式之一:

  • 一元(x: Column) -> Column: ...

  • 二進製 (x: Column, i: Column) -> Column... ,其中第二個參數是

    元素的從 0 開始的索引。

並且可以使用 Column 的方法,pyspark.sql.functions和Scala中定義的函數UserDefinedFunctions。不支持 Python UserDefinedFunctions (SPARK-27052)。

返回

Column

例子

>>> df = spark.createDataFrame([(1, [1, 2, 3, 4])], ("key", "values"))
>>> df.select(transform("values", lambda x: x * 2).alias("doubled")).show()
+------------+
|     doubled|
+------------+
|[2, 4, 6, 8]|
+------------+
>>> def alternate(x, i):
...     return when(i % 2 == 0, x).otherwise(-x)
>>> df.select(transform("values", alternate).alias("alternated")).show()
+--------------+
|    alternated|
+--------------+
|[1, -2, 3, -4]|
+--------------+

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.sql.functions.transform。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。