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


Python pyspark DataFrame.mapInPandas用法及代碼示例

本文簡要介紹 pyspark.sql.DataFrame.mapInPandas 的用法。

用法:

DataFrame.mapInPandas(func, schema)

使用 Python 本機函數映射當前 DataFrame 中的批次迭代器,該函數接受並輸出 pandas DataFrame,並將結果作為 DataFrame 返回。

該函數應采用 pandas.DataFrame 的迭代器並返回 pandas.DataFrame 的另一個迭代器。所有列作為 pandas.DataFrame 的迭代器一起傳遞給函數,而返回的 pandas.DataFrame 的迭代器被組合為 DataFrame 。每個 pandas.DataFrame 大小可以由 spark.sql.execution.arrow.maxRecordsPerBatch 控製。

3.0.0 版中的新函數。

參數

func函數

一個 Python 本機函數,它采用 pandas.DataFrame 的迭代器,並輸出 pandas.DataFrame 的迭代器。

schema pyspark.sql.types.DataType 或 str

PySpark 中func 的返回類型。該值可以是 pyspark.sql.types.DataType 對象或 DDL 格式的類型字符串。

注意

此 API 是實驗性的

例子

>>> from pyspark.sql.functions import pandas_udf
>>> df = spark.createDataFrame([(1, 21), (2, 30)], ("id", "age"))
>>> def filter_func(iterator):
...     for pdf in iterator:
...         yield pdf[pdf.id == 1]
>>> df.mapInPandas(filter_func, df.schema).show()  
+---+---+
| id|age|
+---+---+
|  1| 21|
+---+---+

相關用法


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