在具有预先定义函数的foor循环中使用数据帧groupby agg

时间:2017-11-03 16:16:08

标签: python pandas numpy pandas-groupby

如何执行以下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

你可以告诉我怎么样?

1 个答案:

答案 0 :(得分:1)

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

operation = [np.mean, np.std]

要将参数传递给函数,可以使用函数参数传递lambda。例如:

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