pandas pivot_table 多个 aggfunc

13 投票
2 回答
28847 浏览
提问于 2025-04-18 07:19

当我在一个数据框上创建透视表时,使用 aggfunc='mean' 可以正常工作,使用 aggfunc='count' 也没问题,但当我使用 aggfunc=['mean', 'count'] 时,就出现了错误:AttributeError: 'str' object has no attribute '__name__

这种格式之前似乎是可以用的:在Pandas中使用多个聚合函数

我该如何创建一个包含多个函数的透视表呢?

2 个回答

9

一个例子:

In [59]: pivot_table(tips, rows=['sex', 'smoker'],
                     aggfunc={'tip_pct' : 'mean', 'size' : 'sum'})
Out[59]:
               size  tip_pct
sex    smoker
Female No      140   0.1569
       Yes     74    0.1822
Male   No      263   0.1607
       Yes     150   0.1528

来源:http://wesmckinney.com/blog/fast-and-easy-pivot-tables-in-pandas-0-5-0/

16

我发现,如果你把方括号换成普通的括号,这样就可以正常工作了,也就是:

aggfunc=('count','mean')

撰写回答