Python 在pandas.agg()方法中使用多个lambda函数

Python 在pandas.agg()方法中使用多个lambda函数,python,pandas,lambda,aggregate-functions,Python,Pandas,Lambda,Aggregate Functions,我有这种数据帧: df = pd.DataFrame({ "values":['A', 'A', 'B', 'A', 'A', 'B', 'C', 'A', 'B', 'B'], "category": [1, 1, 1, 1, 1, 2, 2, 2, 2, 2], 'dummy': list(range(10)) }) 我可以按组获得百分比,如下所示: df.groupby([

我有这种数据帧:

df = pd.DataFrame({  "values":['A', 'A', 'B', 'A', 'A', 'B', 'C', 'A', 'B', 'B'], 
                   "category": [1, 1, 1, 1, 1, 2, 2, 2, 2, 2],
                   'dummy': list(range(10))
                  })
我可以按组获得百分比,如下所示:

df.groupby(['values', 'category'])['dummy'].nunique().groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
现在,我想将此方法用于
.agg()
,如下所示:

aggregators = {'counts': 'count',
              'percentage': lambda z: z.nunique().groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
}

df.groupby(['values', 'category'])['dummy'].agg(aggregators)
但我收到了这个错误:

AttributeError: 'int' object has no attribute 'groupby'
似乎
lambda z:z.nunique()
在该表达式中是一个整数。 如何使lambda在
agg
内部工作? 谢谢