如何将Python函数作为变量/参数传递给另一个函数?

如何将Python函数作为变量/参数传递给另一个函数?,python,pandas,Python,Pandas,我组合这三个函数的方法如下所示,这不是很优雅 import pandas as pd def func_sum(df, cols, col): res = df[cols].groupby(col).sum() return res def func_count(df, cols,col): res = df[cols].groupby(col).count() return res def func_ave(df, cols, col): res

我组合这三个函数的方法如下所示,这不是很优雅

import pandas as pd

def func_sum(df, cols, col):
    res = df[cols].groupby(col).sum()
    return res

def func_count(df, cols,col):
    res = df[cols].groupby(col).count()
    return res

def func_ave(df, cols, col):
    res = df[cols].groupby(col).mean()
    return res
我想知道是否有更好的方法不使用if-ELSE语句来实现这一点。 如何将函数(sum、count或mean)作为变量传递,然后让我们在主“func”函数中调用传递的函数变量

如有任何建议,我将不胜感激

Use,它通过引用或名称接受一个或多个函数

例如:

def func(df, cols, col, method):
    if method == 'sum':
        return df[cols].groupby(col).sum()
    if method == 'count':
        return df[cols].groupby(col).count()
    if method == 'mean':
        return df[cols].groupby(col).mean()

了解熊猫的agg功能很好。谢谢!
def func(df, cols, col, method):
    return df[cols].groupby(col).agg(method)

func(df, cols, col, pd.Series.sum)
func(df, cols, col, 'count')
func(df, cols, col, np.mean)