Pandas groupby agg - 如何获得计数?

我正在尝试获取度量的总和、平均值和计数

df.groupby(['id', 'pushid']).agg({"sess_length": [ np.sum, np.mean, np.count]})

但是我得到“模块'numpy'没有属性'count'”,并且我尝试了不同的方式来表达计数功能,但无法让它工作。我如何将汇总记录数与其他指标一起汇总?


慕神8447489
浏览 216回答 3
3回答

撒科打诨

您可以使用字符串代替函数,如下所示:df = pd.DataFrame(    {"id": list("ccdef"), "pushid": list("aabbc"),      "sess_length": [10, 20, 30, 40, 50]})df.groupby(["id", "pushid"]).agg({"sess_length": ["sum", "mean", "count"]})哪些输出:           sess_length                   sum mean count id pushid c  a               30   15     2 d  b               30   30     1 e  b               40   40     1 f  c               50   50     1

弑天下

这可能有效:df.groupby(['id', 'pushid']).agg({"sess_length": [ np.sum, np.mean, np.**size**]})

Helenr

我想你的意思是:df.groupby(['id', 'pushid']).agg({"sess_length": [ 'sum', 'count','mean']})如pandas 文档中所述,您可以使用诸如“sum”、“count”之类的字符串参数。TBH 这是进行这些聚合的更可取的方式。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python