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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。