python - 熊猫 | 分组方式,组的所有值以逗号分隔
问题描述
根据应用程序要求,我需要以逗号分隔格式显示属于 group by 的所有数据,以便管理员做出决定,我是 Python 新手,不知道该怎么做。
样本可重现数据
import pandas as pd
compnaies = ['Microsoft', 'Google', 'Amazon', 'Microsoft', 'Facebook', 'Google']
products = ['OS', 'Search', 'E-comm', 'X-box', 'Social Media', 'Android']
df = pd.DataFrame({'company' : compnaies, 'product':products })
-----------------------------------------------------------------
company product
0 Microsoft OS
1 Google Search
2 Amazon E-comm
3 Microsoft X-box
4 Facebook Social Media
5 Google Android
现在我通过这个代码计算公司组
df.groupby(['company']).count()
我需要以下格式的数据,但不知道如何获取
期望的输出
company count product
Amazon 1 E-comm
Facebook 1 Social Media
Google 2 Search, Android
Microsoft 2 OS, X-box
解决方案
您可以使用:
In [35]: df.groupby('company').product.agg([('count', 'count'), ('product', ', '.join)])
Out[35]:
count product
company
Amazon 1 E-comm
Facebook 1 Social Media
Google 2 Search, Android
Microsoft 2 OS, X-box
推荐阅读
- jenkins - 将 Kubernetes 插件升级到 1.28.6 中断我们的管道流程
- javascript - 如果窗口大小发生变化,如何更新 window.matchMedia?
- r - 如何制作与ggplot交互的百分比堆积条形图?
- excel - 需要转置一个excel表来创建记录
- qt - QML FileDialog 文本通过 WebGL 损坏
- applescript - 如何使用苹果脚本点击chrome的添加扩展按钮
- julia - 如何在Julia中创建一定长度的缺失值向量?
- python - 尝试以 django 嵌套内联表单集的嵌套形式设置用户字段 - 失败
- python - 当我在骰子号码生成器上翻转 21 时,如何让 python 打印“你输了”?
- python - 'FastText' 对象没有属性 'vocab'