📜  pandas 将函数应用于每一行 lambda - Python (1)

📅  最后修改于: 2023-12-03 15:03:29.699000             🧑  作者: Mango

Pandas:将函数应用于每一行(lambda)

Pandas 是一个基于 Numpy 的数据处理库,它提供了很多强大的数据结构,并且支持各种数据操作。其中数据帧(DataFrame)是最常用的数据结构之一。它主要用于将数据表示为一个表格,并能够轻松地进行各种操作。本文将介绍如何使用 Pandas 将函数应用于数据框的每一行(lambda)。

我们可以使用 Pandas 的 apply() 函数,该函数可以将一个函数或 lambda 表达式应用到每一行或列。

示例
import pandas as pd

# 创建数据框
df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 30, 35, 40],
    'salary': [5000, 6000, 7000, 8000]
})

# 输出原始数据框
print('Original DataFrame:')
print(df)

# 使用 lambda 函数应用到每一行
df['tax'] = df.apply(lambda row: row['salary'] * 0.1, axis=1)

# 输出带有新列的数据框
print('Modified DataFrame:')
print(df)

输出:

Original DataFrame:
      name  age  salary
0    Alice   25    5000
1      Bob   30    6000
2  Charlie   35    7000
3    David   40    8000
Modified DataFrame:
      name  age  salary     tax
0    Alice   25    5000   500.0
1      Bob   30    6000   600.0
2  Charlie   35    7000   700.0
3    David   40    8000   800.0

上面的示例中,我们创建了一个包含名字(name)、年龄(age)和薪水(salary)等信息的数据框。然后我们定义了一个 lambda 函数,该函数将行(row)中的 salary 值乘以 0.1,然后将其应用到数据框(df)的每一行。

最终,我们将新的列 'tax' 添加到数据框,并输出修改后的数值。

总结

使用 Pandas 的 apply() 函数,你可以轻松地将函数或者 lambda 表达式应用到每一行或列。这在处理数据时非常有用,并且可以避免使用循环等复杂的操作,从而提高代码的效率。