详解pandas.Series.apply()(应用函数到序列)函数使用方法

  • Post category:Python

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() 的使用方法和作用。