pandas.Series.apply()
是 Pandas 库提供的一个 Series 属性,用于对 Series 中的每个元素应用函数,并返回新的 Series。
一般的语法格式如下:
Series.apply(func, convert_dtype=True, args=(), **kwds)
func
: 必填参数,是一个函数,表示应用到每个元素的函数,可以是 lambda 函数、内置函数或自定义函数。convert_dtype
: 可选参数,默认为 True,将转换结果的数据类型为 Series 实例中的数据类型。args
: 可选参数,在应用 func 函数时传入的元组,包含函数所需的参数。**kwds
: 可选参数,字典类型,表示应用到 func 函数时的关键字参数。
接下来,我们通过两个实例,更深入地了解 apply() 的作用和使用方法。
实例一
我们将应用一个自定义函数 is_divisible()
,这个函数可以判断一个数字是否被 5 整除,并返回 True 或 False。我们需要将这个函数应用到一个 Series 上,并返回新的 Series。
import pandas as pd
import numpy as np
def is_divisible(x):
return x % 5 == 0
s = pd.Series(np.array([10, 15, 20, 25, 30]))
s_new = s.apply(is_divisible)
print(s_new)
输出结果为:
0 True
1 True
2 True
3 True
4 True
dtype: bool
在上面的代码中,我们首先定义了一个自定义函数 is_divisible()
,判断一个数字是否被 5 整除,并返回 True 或 False。接着创建一个 Series,然后将这个函数应用到每个元素上,并返回新的 Series。
实例二
我们将应用一个 lambda 函数,将 Series 中的单词全部改成大写。
import pandas as pd
s = pd.Series(['apple', 'banana', 'orange'])
s_new = s.apply(lambda x: x.upper())
print(s_new)
输出结果为:
0 APPLE
1 BANANA
2 ORANGE
dtype: object
在上面的代码中,我们定义了一个 Series,然后应用了一个 lambda 函数,将每个单词转换成大写,并返回新的 Series。
综上所述,pandas.Series.apply()
的作用是对 Series 中的每个元素应用函数,并返回新的 Series。其函数可以是 lambda 函数、内置函数或自定义函数,使用方法包括填写必填参数和可选参数,通过实例化说明了 pandas.Series.apply()
的使用方法和作用。