pandas.Series.apply

Series.apply(func, convert_dtype=True, args=(), **kwds)[source]

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

参数:

func:function

convert_dtype:boolean,default True

尝试找到更好的dtype元素功能结果。如果为False,则保留为dtype = object

args:tuple

除了值之外,还要传递给函数的位置参数

其他关键字参数将作为关键字传递到函数

返回:

y:如果func返回一个Series,则为Series或DataFrame

也可以看看

Series.map
对于逐个元素的操作

例子

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

>>> import pandas as pd
>>> import numpy as np
>>> series = pd.Series([20, 21, 12], index=['London',
... 'New York','Helsinki'])
London      20
New York    21
Helsinki    12
dtype: int64

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

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

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

>>> series.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
>>> series.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
>>> series.apply(add_custom_values, june=30, july=20, august=25)
London      95
New York    96
Helsinki    87
dtype: int64

使用Numpy库中的函数。

>>> series.apply(np.log)
London      2.995732
New York    3.044522
Helsinki    2.484907
dtype: float64
Scroll To Top