如何在python中的groupby中为lambda函数设置名称标题[重复]
Posted
技术标签:
【中文标题】如何在python中的groupby中为lambda函数设置名称标题[重复]【英文标题】:How to set a name header for a lambda function within groupby in python [duplicate] 【发布时间】:2018-07-07 04:50:20 【问题描述】:我正在使用以下代码进行分组和计数/求和等。
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
如何更改输出的标题(以便我的最终用户知道这些数据是什么?
【问题讨论】:
【参考方案1】:您可以提供如下名称:
groups.agg('tradeBid': [('sum', np.sum), ('other', lambda x: (x > 0).sum())])
过去您可以使用 dict
而不是 2 元组列表,但现在已弃用(可能是因为列的顺序是任意的)。
【讨论】:
这是否记录在某处? @ayhan:文档说agg()
接受“列名字典 -> 函数(或函数列表)”,但没有说 2 元组列表是可接受的替代品。它也没有说现在使用 dict 会导致弃用警告。但我知道 NumPy/Pandas 中许多可以使用 dict 的东西也可以使用 (name, value) 元组列表。所以我试了一下,它奏效了。所以不,它没有记录在案。 :)
是的,我从未见过它,所以我想也许他们在弃用 dict 重命名后添加了这个,但似乎总是有可能的。很高兴知道。 :)以上是关于如何在python中的groupby中为lambda函数设置名称标题[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 脚本中为 Autodesk Maya 2016 中的对象添加颜色?
Python Pandas 如何将 groupby 操作结果分配回父数据框中的列?
如何在 python 中使用 Spark Data frame 和 GroupBy 派生 Percentile
使用 pandas 在数据帧上执行 groupby,按计数排序并获取 python 中的前 2 个计数