python-3.x - 如何根据 groupby 和出现次数添加列?
问题描述
我有这个由 5 列组成的 DataFrame:
print(df)
Date Agent PDF Pages Service
0 2019-11-07 Mery 1 520 A
1 2019-11-07 Edward 1 569 A
2 2019-11-07 Mery 2 718 A
3 2019-11-08 Edward 2 980 A
4 2019-11-09 Mery 2 717 B
5 2019-11-09 Edward 3 118 B
6 2019-12-10 Mery 1 356 B
7 2019-11-10 Edward 5 248 C
8 2019-11-11 Mery 3 828 C
9 2019-11-11 Edward 4 497 C
我基于 groupby() 和列 Service 和 Agent 创建了一个变量,如下所示:
X = df.groupby(['Service','Agent']).sum()
print(X)
PDF Pages
Service Agent
A Mery 3 1238
Edward 3 1549
B Mery 3 1073
Edward 3 118
C Mery 3 828
Edward 9 745
我想添加一个列,我可以在其中找到 ['Agent'] 列的出现次数,如下所示:
PDF Pages Occu
Service Agent
A Mery 3 1238 2
Edward 3 1549 2
B Mery 3 1073 2
Edward 3 118 1
C Mery 3 828 1
Edward 9 745 2
谢谢您的帮助!
解决方案
国际大学联盟:
df.groupby(['Service','Agent']).agg({'Pages':sum, 'PDF':sum, 'Agent':len})
推荐阅读
- unit-testing - 我可以用嵌套接口模拟库代码吗?
- java - 如果我使用 32 位原语并且我的函数是幂等的,为什么我可以跳过 DCL 的任何同步?
- macos - 当我单击下拉菜单时,Mac OS 上的 Safari 13 Beta 挂起
- git - Git - 如何用任何其他提交压缩最后一次提交
- sql - 通过按降序分配值来循环 Hive 或 SQL 行
- node.js - 跟踪特定反应组件的使用统计
- php - 如何从可能的whatsapp链接共享中删除文本“-Wordpress”
- flutter - 围绕另一个圆圈创建圆圈
- python - 如何在 drf_yasg 中将 Schemes 从 HTTP 更改为 HTTPS?
- angular - 具有去抖动输入更改事件的日期选择器