Панды |Сгруппировать со всеми значениями группы через запятую - PullRequest
0 голосов
/ 19 мая 2018

В соответствии с требованиями приложения, мне нужно показать все данные, входящие в группу, в формате через запятую, чтобы администратор мог принять решение, я новичок в 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

1 Ответ

0 голосов
/ 19 мая 2018

Вы можете использовать:

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
...