为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas groupby agg - 如何获得计数?

Pandas groupby agg - 如何获得计数?

慕神8447489 2022-01-05 11:35:16
我正在尝试获取度量的总和、平均值和计数df.groupby(['id', 'pushid']).agg({"sess_length": [ np.sum, np.mean, np.count]})但是我得到“模块'numpy'没有属性'count'”,并且我尝试了不同的方式来表达计数功能,但无法让它工作。我如何将汇总记录数与其他指标一起汇总?
查看完整描述

3 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

您可以使用字符串代替函数,如下所示:


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


查看完整回答
反对 回复 2022-01-05
?
弑天下

TA贡献1818条经验 获得超8个赞

这可能有效:

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


查看完整回答
反对 回复 2022-01-05
?
Helenr

TA贡献1780条经验 获得超3个赞

我想你的意思是:

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

pandas 文档中所述,您可以使用诸如“sum”、“count”之类的字符串参数。TBH 这是进行这些聚合的更可取的方式。


查看完整回答
反对 回复 2022-01-05
  • 3 回答
  • 0 关注
  • 215 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信