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


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