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中的每个元素。

更多推荐