📜  Python|熊猫.apply()(1)

📅  最后修改于: 2023-12-03 14:46:30.786000             🧑  作者: Mango

Python | 熊猫.apply()

简介

在使用Python进行数据处理时,有时需要对DataFrame中的多行/列进行操作。Pandas的 .apply() 方法提供了一种方便的方法来实现这一点。 它接收一个函数并将其应用于DataFrame的行或列。 在本文中,我们将讨论如何使用Pandas的.apply()方法来完成这项任务。

基本用法

.apply() 方法需要一个函数作为参数,并将其应用于DataFrame的每一行或每一列。这个函数可以是Python内置函数或自定义函数。如果想对每一行进行操作,需要将axis参数设置为1,如果想对每一列进行操作,axis参数则为0。以下是一个基本的用法示例:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'a': [1, 2, 3],
    'b': [4, 5, 6],
    'c': [7, 8, 9]
})

# 定义一个函数
def add_two(x):
    return x + 2

# 对每一列进行操作
df.apply(add_two, axis=0)

# 对每一行进行操作
df.apply(add_two, axis=1)

结果如下所示:

   a  b   c
0  3  6   9
1  4  7  10
2  5  8  11
apply() 和 lambda 表达式

在许多情况下,使用.lambda表达式可以更方便地实现对DataFrame的操作。这里有一个例子:

df.apply(lambda x: x.max() - x.min(), axis=0)

这将计算每一列的最大值和最小值之差,并将结果返回为一个Series。结果如下所示:

a    2
b    2
c    2
dtype: int64
apply() 和 applymap()

.apply() 主要用于DataFrame的行或列上,而.applymap() 用于DataFrame中的每个元素。

df.applymap(lambda x: x + 2)

以上代码将DataFrame中的每个元素加 2。 结果如下所示:

   a  b   c
0  3  6   9
1  4  7  10
2  5  8  11
总结

Pandas的.apply() 方法是个非常有用的工具,我们可以使用它来处理DataFrame中的行或列。通过传入一个自定义的函数或.lambda表达式,我们可以轻松地进行各种操作。

代码示例及其运行结果各由一组代码块示出,其中代码块通过 markdown 格式呈现,以便用户更好地理解和测试。