web-dev-qa-db-ja.com

Pandas |グループのすべての値をカンマで区切ってグループ化

アプリケーションの要件に従って、adminが決定できるように、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
7
Vineet

次を使用できます。

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
11
llllllllll