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


Python pyspark DataFrame.spark.apply用法及代码示例


本文简要介绍 pyspark.pandas.DataFrame.spark.apply 的用法。

用法:

spark.apply(func: Callable[[pyspark.sql.dataframe.DataFrame], pyspark.sql.dataframe.DataFrame], index_col: Union[str, List[str], None] = None) → ps.DataFrame

应用一个接受并返回 Spark DataFrame 的函数。它允许本地应用 Spark 函数和列 API,其中 Spark 列在 Series 或 Index 中内部使用。

注意

设置 index_col 并在输出 Spark DataFrame 中保留如此命名的列,以避免使用默认索引来防止性能损失。如果省略 index_col ,它将使用默认索引,这通常可能很昂贵。

注意

它将丢失列标签。这是的同义词func(psdf.to_spark(index_col)).to_pandas_on_spark(index_col).

参数

func函数

使用 Spark DataFrame 将函数应用于数据的函数。

返回

DataFrame

抛出

ValueError如果函数的输出不是 Spark DataFrame。

例子

>>> psdf = ps.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]}, columns=["a", "b"])
>>> psdf
   a  b
0  1  4
1  2  5
2  3  6
>>> psdf.spark.apply(
...     lambda sdf: sdf.selectExpr("a + b as c", "index"), index_col="index")
... 
       c
index
0      5
1      7
2      9

下面的情况最终使用默认索引,如果可能的话应该避免。

>>> psdf.spark.apply(lambda sdf: sdf.groupby("a").count().sort("a"))
   a  count
0  1      1
1  2      1
2  3      1

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.DataFrame.spark.apply。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。