首页 > 解决方案 > 熊猫 | 分组方式,组的所有值以逗号分隔

问题描述

根据应用程序要求,我需要以逗号分隔格式显示属于 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

标签: pythonpandasdata-cleaning

解决方案


您可以使用:

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

推荐阅读