1、解释说明: 在Python的Pandas库中,apply()
函数是一个非常强大的工具,它允许你对DataFrame或Series中的数据应用一个自定义函数。这个函数可以是一个内置函数,也可以是你自定义的函数。apply()
函数的基本语法如下:
df.apply(func, axis=0, raw=False, result_type=None, args=(), **kwds)
func
: 需要应用的函数。axis
: 如果axis=0,则函数应用于每一列(垂直方向);如果axis=1,则函数应用于每一行(水平方向)。raw
: 布尔值,默认为False。如果为True,则传递给func的是numpy数组,否则是Series或DataFrame。result_type
: 可选,返回结果的类型。如果未指定,则根据输入类型推断结果类型。args
: 可选,传递给func的额外参数。**kwds
: 可选,传递给func的额外关键字参数。
import pandas as pd
# 创建一个简单的DataFrame
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6]
})
# 定义一个函数,用于计算平方
def square(x):
return x ** 2
# 使用apply()函数应用square函数
df['C'] = df['A'].apply(square)
print(df)
输出结果:
A B C
0 1 4 1
1 2 5 4
2 3 6 9
Pandas apply 应用函数方法 - 盖若的文章 - 知乎 https://zhuanlan.zhihu.com/p/394479538
3、注意事项:
apply()
函数只能用于DataFrame和Series对象,不能用于单个元素。apply()
函数默认会将整个DataFrame或Series作为参数传递给函数,如果你的函数不能处理这么大的数据,你可能需要使用chunksize
参数来分块处理数据。apply()
函数可能会比使用向量化操作(如*
或@
)慢,因为它需要遍历DataFrame或Series中的每个元素。