将 Lambda 函数应用于 Pandas DataFrame

17 Mar 2025 | 4 分钟阅读

什么是 DataFrame?

如果数据以行和列或二维数据的形式存储,那么在 Pandas 中通常称为 DataFrame。在 Pandas 中,我们可以借助 lambda 函数将任何函数应用于任何行或列。

语法

示例 1

使用 DataFrame.assign(),我们可以将 lambda 函数应用于任何单个列。

输出

Applying Lambda functions to Pandas Dataframe

说明

在上面的代码中,我们有一个 DataFrame,其中有六行两列,一列代表学生姓名,另一列代表所获分数。使用 assign() 函数,我们添加了一个名为“percentage”的新列,该列的值使用 lambda 函数定义。我们通过将分数除以 500 并乘以 100 来插入百分比。我们只将 lambda 函数应用于“所获分数”这一列。

示例 2

将 lambda 函数应用于多个列

输出

Applying Lambda functions to Pandas Dataframe

说明

在上面的代码中,我们有三列代表一些值。使用 assign() 函数,我们添加了一个新列,该列的值是使用 lambda 函数通过将所有三列的值相乘来计算的。

因此,我们可以一次使用 lambda 函数来处理多个列。

Example3

既然我们已经将 lambda 函数应用于列,我们也可以将其应用于行。使用 apply() 函数,我们可以将 lambda 函数应用于单行。

输出

Applying Lambda functions to Pandas Dataframe

说明

在上面的代码中,我们有一个包含六行的 DataFrame。我们为每一行分配了索引名称。使用 lambda 函数,我们对索引值为“e”的值进行平方。因此,如果我们运行代码,第五列的值将被平方。

示例 4

既然我们已经将 lambda 函数应用于单行,我们也可以一次将其应用于多行。我们将使用该函数来实现 lambda 函数。

输出

Applying Lambda functions to Pandas Dataframe

说明

在上面的代码中,我们使用 DataFrame.apply() 函数将 lambda 函数应用于多行。我们对索引值为“a”、“e”和“g”的行的值进行了平方。因此,在输出中,我们得到了这三行的平方值。

示例 5

到目前为止,我们已经将 lambda 函数应用于行或列。但是,我们也可以使用 apply() 和 assign() 函数同时将 lambda 函数应用于行和列。

输出

Applying Lambda functions to Pandas Dataframe

说明

在上面的代码中,我们在单个 DataFrame 上应用了行和列的 lambda 函数。在代码中,首先,我们使用 apply() 函数将 lambda 函数应用于行,这将对某些行的值进行平方。然后,我们使用 assign() 函数将 lambda 函数应用于三列,这将添加一个名为“sum”的新列,其中包含所有列的总和。

所以,首先,值将被平方,然后它们将被添加到第四列。