本文简要介绍
pyspark.pandas.Series.apply
的用法。用法:
Series.apply(func: Callable, args: Sequence[Any] =(), **kwds: Any) → pyspark.pandas.series.Series
对 Series 的值调用函数。
可以是仅适用于系列的 Python 函数。
注意
此 API 执行该函数一次以推断可能昂贵的类型,例如,在聚合或排序后创建数据集时。
为避免这种情况,请在
func
中指定返回类型,例如,如下所示:>>> def square(x) -> np.int32: ... return x ** 2
pandas-on-Spark 使用返回类型提示并且不尝试推断类型。
- func:函数
要应用的 Python 函数。请注意,返回类型的类型提示是必需的。
- args:元组
在系列值之后传递给 func 的位置参数。
- **kwds:
传递给 func 的附加关键字参数。
- Series
参数:
返回:
例子:
为每个城市创建一个具有典型夏季温度的系列。
>>> s = ps.Series([20, 21, 12], ... index=['London', 'New York', 'Helsinki']) >>> s London 20 New York 21 Helsinki 12 dtype: int64
通过定义一个函数并将其作为参数传递给
apply()
来对值进行平方。>>> def square(x) -> np.int64: ... return x ** 2 >>> s.apply(square) London 400 New York 441 Helsinki 144 dtype: int64
定义一个需要额外位置参数的自定义函数,并使用
args
关键字传递这些额外参数>>> def subtract_custom_value(x, custom_value) -> np.int64: ... return x - custom_value
>>> s.apply(subtract_custom_value, args=(5,)) London 15 New York 16 Helsinki 7 dtype: int64
定义一个接受关键字参数并将这些参数传递给
apply
的自定义函数>>> def add_custom_values(x, **kwargs) -> np.int64: ... for month in kwargs: ... x += kwargs[month] ... return x
>>> s.apply(add_custom_values, june=30, july=20, august=25) London 95 New York 96 Helsinki 87 dtype: int64
使用 Numpy 库中的函数
>>> def numpy_log(col) -> np.float64: ... return np.log(col) >>> s.apply(numpy_log) London 2.995732 New York 3.044522 Helsinki 2.484907 dtype: float64
您可以省略类型提示并让pandas-on-Spark 推断其类型。
>>> s.apply(np.log) London 2.995732 New York 3.044522 Helsinki 2.484907 dtype: float64
相关用法
- Python pyspark Series.append用法及代码示例
- Python pyspark Series.asof用法及代码示例
- Python pyspark Series.add_prefix用法及代码示例
- Python pyspark Series.align用法及代码示例
- Python pyspark Series.astype用法及代码示例
- Python pyspark Series.any用法及代码示例
- Python pyspark Series.argmin用法及代码示例
- Python pyspark Series.argsort用法及代码示例
- Python pyspark Series.add用法及代码示例
- Python pyspark Series.all用法及代码示例
- Python pyspark Series.add_suffix用法及代码示例
- Python pyspark Series.aggregate用法及代码示例
- Python pyspark Series.abs用法及代码示例
- Python pyspark Series.at_time用法及代码示例
- Python pyspark Series.axes用法及代码示例
- Python pyspark Series.at用法及代码示例
- Python pyspark Series.agg用法及代码示例
- Python pyspark Series.argmax用法及代码示例
- Python pyspark Series.to_frame用法及代码示例
- Python pyspark Series.rsub用法及代码示例
- Python pyspark Series.mod用法及代码示例
- Python pyspark Series.str.join用法及代码示例
- Python pyspark Series.str.startswith用法及代码示例
- Python pyspark Series.dt.is_quarter_end用法及代码示例
- Python pyspark Series.dropna用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.Series.apply。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。