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


Python pyspark GroupedData.apply用法及代碼示例

本文簡要介紹 pyspark.sql.GroupedData.apply 的用法。

用法:

GroupedData.apply(udf)

它是 pyspark.sql.GroupedData.applyInPandas() 的別名;但是,它需要 pyspark.sql.functions.pandas_udf() pyspark.sql.GroupedData.applyInPandas() 需要 Python 本機函數。

2.3.0 版中的新函數。

參數

udfpandas_udf

pyspark.sql.functions.pandas_udf() 返回的分組Map用戶定義函數。

注意

最好在此 API 上使用 pyspark.sql.GroupedData.applyInPandas() 。此 API 將在未來的版本中棄用。

例子

>>> from pyspark.sql.functions import pandas_udf, PandasUDFType
>>> df = spark.createDataFrame(
...     [(1, 1.0), (1, 2.0), (2, 3.0), (2, 5.0), (2, 10.0)],
...     ("id", "v"))
>>> @pandas_udf("id long, v double", PandasUDFType.GROUPED_MAP)  
... def normalize(pdf):
...     v = pdf.v
...     return pdf.assign(v=(v - v.mean()) / v.std())
>>> df.groupby("id").apply(normalize).show()  
+---+-------------------+
| id|                  v|
+---+-------------------+
|  1|-0.7071067811865475|
|  1| 0.7071067811865475|
|  2|-0.8320502943378437|
|  2|-0.2773500981126146|
|  2| 1.1094003924504583|
+---+-------------------+

相關用法


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