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


Python pandas.Series.apply用法及代码示例


用法:

Series.apply(func, convert_dtype=True, args=(), **kwargs)

对 Series 的值调用函数。

可以是 ufunc(适用于整个系列的 NumPy 函数)或仅适用于单个值的 Python 函数。

参数

func函数

要应用的 Python 函数或 NumPy ufunc。

convert_dtype布尔值,默认为真

尝试为元素函数结果找到更好的 dtype。如果为 False,则保留为 dtype=object。请注意,始终为某些扩展数组 dtypes 保留 dtype,例如 Categorical。

args元组

在系列值之后传递给 func 的位置参数。

**kwargs

传递给 func 的附加关键字参数。

返回

Series或DataFrame

如果 func 返回一个 Series 对象,则结果将是一个 DataFrame。

注意

改变传递对象的函数可能会产生意外行为或错误,因此不受支持。有关更多详细信息,请参阅使用用户定义函数 (UDF) 方法进行变异。

例子

为每个城市创建一个具有典型夏季温度的系列。

>>> s = pd.Series([20, 21, 12],
...               index=['London', 'New York', 'Helsinki'])
>>> s
London      20
New York    21
Helsinki    12
dtype:int64

通过定义一个函数并将其作为参数传递给 apply() 来对值进行平方。

>>> def square(x):
...     return x ** 2
>>> s.apply(square)
London      400
New York    441
Helsinki    144
dtype:int64

通过将匿名函数作为参数传递给 apply() 来对值进行平方。

>>> s.apply(lambda x:x ** 2)
London      400
New York    441
Helsinki    144
dtype:int64

定义一个需要额外位置参数的自定义函数,并使用 args 关键字传递这些额外参数。

>>> def subtract_custom_value(x, custom_value):
...     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):
...     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 库中的函数。

>>> s.apply(np.log)
London      2.995732
New York    3.044522
Helsinki    2.484907
dtype:float64

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.Series.apply。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。