pandas.DataFrame.pipe() 是一个非常有用的方法,用于将 DataFrame 作为参数传递给函数,支持链式调用,增强代码的可读性和模块化。可以把一些复杂的数据处理过程,拆分成多个函数,用 .pipe() 一步步调用,每个函数处理一小步,最终形成一个清晰的处理管道。本文主要介绍一下Pandas中pandas.DataFrame.pipe方法的使用。

DataFrame.pipe(self, func, *args, **kwargs)     [source]

适用func(self, *args, **kwargs)

参数

func :function

函数可应用于Series/DataFrame

argskwargs被传递到func。

或者是一个(callable,data_keyword)元组,

其中data_keyword是一个字符串,

表示可调用的关键字,

该关键字需要Series/DataFrame

args :iterable(可迭代),可选

位置参数传递给func

kwargs mapping, 可选

关键字参数字典传入func



返回值

object :返回类型func

Notes

1)最基本用法

import pandas as pd

df = pd.DataFrame({
    'a': [1, 2, 3],
    'b': [10, 20, 30]
})

def add_column(df):
    df['c'] = df['a'] + df['b']
    return df

result = df.pipe(add_column)
print(result)

2)传入额外参数

import pandas as pd

df = pd.DataFrame({
    'a': [1, 2, 3],
    'b': [10, 20, 30]
})

def multiply_column(df, column, factor):
    df[column] = df[column] * factor
    return df

result = df.pipe(multiply_column, column='b', factor=10)
print(result)

3)链式调用多个函数

import pandas as pd

df = pd.DataFrame({
    'a': [1, 2, 3],
    'b': [10, 20, 30]
})

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

def square(df):
    return df ** 2

df = pd.DataFrame({'x': [1, 2], 'y': [3, 4]})
result = df.pipe(add_constant, 1).pipe(square)
print(result)

推荐文档

相关文档

大家感兴趣的内容

随机列表