【问题标题】:Pandas | Group by with all the values of the group as comma separated熊猫 |分组方式,组的所有值以逗号分隔
【发布时间】:2018-10-29 13:45:34
【问题描述】:

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

【问题讨论】:

  • 在将公司转换为excel文件时是否可以将公司转换为列?

标签: python pandas data-cleaning


【解决方案1】:

你可以使用:

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

【讨论】:

  • @Iiliscent 如何给这些列而不是计数和产品列?
  • @panda “给列”是什么意思?这些列。
  • 我认为他也希望将公司作为一个列,因为当转换为 excel 文件时,没有“公司”列
  • df=df.reset_index()
猜你喜欢
  • 2021-11-08
  • 2017-06-22
  • 2021-10-13
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 2022-01-18
  • 2013-10-26
  • 1970-01-01
相关资源
最近更新 更多