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 The way I did to combine these three functions is like below, which is not very elegant.
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() I wonder if there is a better way to do this without using IF ELSE statement. How Can I Pass the function of (sum, count, or mean) as a variable and then let's the passed function variable to be called inside the main 'func' function.
I would greatly appreciate any suggestions.