📅  最后修改于: 2023-12-03 15:03:29.699000             🧑  作者: Mango
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 表达式应用到每一行或列。这在处理数据时非常有用,并且可以避免使用循环等复杂的操作,从而提高代码的效率。