apply()
函数是 Pandas 中用于对 DataFrame 或 Series 中的数据进行自定义函数处理的函数。它可以将一个函数应用到 DataFrame 或 Series 的每一行或每一列,从而实现对数据的批量处理。
对于 Series 和 DataFrame,apply()
函数的基本语法如下:
Series.apply(func, axis=0, raw=False, result_type=None, ...)
DataFrame.apply(func, axis=0, raw=False, result_type=None, ...)
其中的参数含义如下:
func
:要应用的函数,可以是一个 Python 函数、Lambda 函数或者可调用的对象。axis
:指定要应用函数的轴,0
表示按行应用(默认),1
表示按列应用。raw
:指定是否将 Series 对象传递给函数,默认为False
,表示传递 Series 的值。当为True
时,传递 Series 对象本身。result_type
:指定返回结果的数据类型,可以是'expand'
(返回 DataFrame)、'reduce'
(返回 Series)、'broadcast'
(广播结果),默认为None
。
下面是一个示例说明 apply()
函数的用法:
假设我们有一个 DataFrame,我们希望对其中的数值列应用一个自定义函数,计算每列的均值和标准差。
import pandas as pd
import numpy as np
# 创建DataFrame
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
# 自定义函数,计算均值和标准差
def custom_function(column):
return pd.Series([column.mean(), column.std()], index=['mean', 'std'])
# 对数值列应用自定义函数
result = df.apply(custom_function)
print(result)
A B C
mean 2.5 6.5 10.5
std 1.5 1.5 1.5
通过 apply()
函数,我们成功对 DataFrame 中的每一列应用了自定义函数,得到了每列的均值和标准差。这样的批量处理方式可以帮助我们快速进行数据分析和数据清洗。
标签:函数,自定义,Series,DataFrame,result,apply,pandas From: https://blog.csdn.net/2301_81245389/article/details/136793496