如何在python中的groupby中为lambda函数设置名称标头

如何在python中的groupby中为lambda函数设置名称标头,python,pandas,Python,Pandas,我正在使用以下代码来分组和计数/求和等 groups = df[df['isTrade'] == 1].groupby('dateTime') grouped = (groups.agg({'tradeBid': [np.sum,lambda x: (x > 0).sum()],})) 输出给我的是: tradeBid tradeBid sum <lambda> 79 46 7 6 4 4 20 6 t

我正在使用以下代码来分组和计数/求和等

groups = df[df['isTrade'] == 1].groupby('dateTime')                         
grouped = (groups.agg({'tradeBid': [np.sum,lambda x: (x > 0).sum()],})) 
输出给我的是:

tradeBid    tradeBid
sum <lambda>

79  46
7   6
4   4
20  6
tradeBid贸易标
总和
79  46
7   6
4   4
20  6

如何更改输出的标题(以便最终用户知道这些数据是什么?

您可以提供如下名称:

groups.agg({'tradeBid': [('sum', np.sum), ('other', lambda x: (x > 0).sum())]})

以前你可以用一个
dict
而不是一个2元组列表,但现在这种方法已经被弃用了(可能是因为列的顺序是任意的)。

这有什么记录吗?@ayhan:文档说
agg()
接受“列名称的dict->函数(或函数列表)”但并没有说2元组列表是可以接受的替代品。也没有说现在使用dict会导致弃用警告。但我知道NumPy/Pandas中许多可以使用dict的东西也可以使用(名称、值)元组列表。所以我尝试了它,它成功了。所以不,它没有文档记录。:)是的,我从来没有见过它,所以我想也许他们在不赞成dict重命名后添加了这个,但它似乎总是可能的。很高兴知道。:)