pandas apply 函数将多个值返回到 pandas 数据框中的行

pandas

1个回答

写回答

Biliii

2025-07-09 15:09

+ 关注

Pandas
Pandas

使用Pandas中的apply函数可以将多个值返回到数据框中的行。apply函数是一个适用于Pandas数据框的高级函数,可以对数据框的行或列进行操作,并返回一个新的数据框。在本文中,我们将 来介绍apply函数的用法,并提供相应的案例代码。

什么是apply函数?

在开始介绍apply函数之前,我们先来了解一下apply函数的基本概念。apply函数是Pandas库中的一个重要函数,它可以对数据框中的某一行或某一列进行操作,并返回一个新的数据框。这个函数非常灵活,可以接受任何自定义的函数作为参数,并且可以应用于整个数据框或部分数据框。

apply函数的用法

apply函数的一般用法是将一个函数作为参数传递给apply函数,并指定要应用该函数的轴(axis)。轴参数可以是0或1,分别表示对行或列进行操作。当轴参数为0时,apply函数将对每一列应用函数;当轴参数为1时,apply函数将对每一行应用函数。

案例代码

为了更好地理解apply函数的用法,我们将使用一个简单的案例来演示。假设我们有一个包含学生信息的数据框,其中包括学生的姓名、年龄和成绩。我们希望通过一个自定义函数来计算学生的总分,并将总分添加到数据框中的新列中。

首先,我们需要导入Pandas库并创建一个包含学生信息的数据框:

Python

import Pandas as pd

data = {'姓名': ['张三', '李四', '王五'],

'年龄': [18, 19, 20],

'成绩': [80, 85, 90]}

df = pd.DataFrame(data)

接下来,我们定义一个计算学生总分的函数,并将该函数应用于数据框的每一行:

Python

def calculate_Total_score(row):

Total_score = row['成绩'] * 0.6 + row['年龄'] * 0.4

return Total_score

df['总分'] = df.apply(calculate_Total_score, axis=1)

在上述代码中,我们定义了一个名为calculate_Total_score的函数,该函数接受一个参数row,表示数据框的每一行。在函数内部,我们使用该行的成绩和年龄计算学生的总分,并将结果返回。

最后,我们将apply函数应用于数据框的每一行,并将计算得到的总分添加到数据框中的新列中。通过指定axis参数为1,我们可以实现对每一行应用函数的目的。

运行上述代码后,我们可以打印出包含学生总分的新数据框:

Python

print(df)

输出结果如下:

姓名 年龄 成绩 总分

0 张三 18 80 56.4

1 李四 19 85 61.6

2 王五 20 90 66.8

从输出结果可以看出,apply函数成功地将计算得到的学生总分添加到了数据框中的新列中。

在本文中,我们通过 了一篇介绍Pandas中apply函数的文章,并提供了相应的案例代码。apply函数是Pandas库中非常强大和灵活的函数,可以用于对数据框的行或列进行操作,并返回一个新的数据框。通过传递一个自定义函数作为参数,并指定轴参数,我们可以实现对每一行或每一列应用函数的目的。利用apply函数,我们可以轻松地实现对数据框的批量操作,提高数据处理的效率。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号