在具有预定义函数的 for 循环中使用 dataframe groupby agg

use dataframe groupby agg within a foor loop with predefiend functions

如何执行下面的for循环

operation = ['mean','std']
for i in range(0,len(operation)):
    df2 = df.groupby(level='Index').agg(operation[i]).dropna(how='all')
    ....

但使用 numpy 中的函数

operation = ['np.mean','np.std']
for i in range(0,len(operation)):
    df2 = df.groupby(level='Index').agg(operation[i]).dropna(how='all')
    ....

我特别想用 ddof=1

你能告诉我怎么做吗?

尝试传递实际函数而不是字符串,即:

operation = [np.mean, np.std]

要将参数传递给函数,您可以将 lambda 与函数参数一起传递。例如:

operation = [np.mean, lambda x: np.std(x, ddof=1)]