【Pandas】pandas DataFrame pipe

Pandas2.2 DataFrame

Function application, GroupBy & window

方法描述
DataFrame.apply(func[, axis, raw, …])用于沿 DataFrame 的轴(行或列)应用一个函数
DataFrame.map(func[, na_action])用于对 DataFrame 的每个元素应用一个函数
DataFrame.pipe(func, *args, **kwargs)用于实现链式编程风格的方法

pandas.DataFrame.pipe()

pandas.DataFrame.pipe() 是一个用于实现链式编程风格的方法,它允许你将 DataFrame 作为参数传递给一个自定义函数 func,从而提高代码的可读性和可维护性。


方法签名
DataFrame.pipe(func, *args, **kwargs)

参数说明
参数类型描述
funcfunction or tuple of (function, str)要应用的函数。如果是一个元组,则第二个元素指定 DataFrame 应该作为哪个参数传入。
*argspositional arguments传递给 func 的位置参数。
**kwargskeyword arguments传递给 func 的关键字参数。

返回值
  • 返回 func 执行后的结果,通常返回一个新的 DataFrame 或其他类型的结果。

示例
示例1:基本用法 - 将 DataFrame 传递给外部函数
import pandas as pd

def add_constant(df, value):
    return df + value

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6]
})

# 使用 pipe 添加常数
result = df.pipe(add_constant, value=10)
print(result)

输出:

    A   B
0  11  14
1  12  15
2  13  16

示例2:链式调用多个函数
def multiply_by(df, factor):
    return df * factor

def subtract_mean(df):
    return df - df.mean()

# 链式调用
result = (
    df
    .pipe(multiply_by, factor=2)
    .pipe(subtract_mean)
)
print(result)

输出:

   A  B
0 -2 -2
1  0  0
2  2  2

示例3:使用 tuple 指定函数参数名
def custom_func(value, df):
    return df * 2 + value

# 指定 df 作为第二个参数传入
result = df.pipe((custom_func, 'df'), value=100)
print(result)

输出:

     A    B
0  102  204
1  104  206
2  106  208

总结
  • pipe() 支持链式调用,使复杂数据处理流程更清晰。
  • 可以将 DataFrame 明确地作为参数传入函数,提升代码可读性。
  • 特别适合构建模块化的数据分析流水线。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuweidong0802

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值