当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。