Как сгруппировать по значению столбца во фрейме данных Pandas - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть пандас, как это. Я хочу группу по App_Name в отдельной переменной

App_Name    Date        Response    Gross Revenue
com.apple.tiles2    2018-10-13  3748.723574 24133394
com.orange.thescore 2018-10-13  2034.611964 8273607
com.number.studio   2018-10-13  1807.756545 33736740
com.orange.thescore 2018-10-14  4671.930435 38575556
com.number.studio   2018-10-14  3533.461547 38726087
com.banana.com      2018-10-14  2920.33747  86230313
com.apple.tiles2    2018-10-15  3986.434851 35928884
com.number.studio   2018-10-15  2044.759823 76526368
com.apple.tiles2    2018-10-16  2610.214035 30611434
com.alpha.studio    2018-10-16  1731.429858 11643154
com.banana.com      2018-10-16  1601.387403 13781285
com.alpha.studio    2018-10-17  2769.373388 13198984
com.banana.com      2018-10-17  2205.359489 21974901
com.orange.thescore 2018-10-17  1820.852862 7565015
com.alpha.studio    2018-10-18  2784.822039 24217875
com.banana.com      2018-10-18  2545.899329 28361412
com.orange.thescore 2018-10-18  2052.207745 7544861

Я хочу сгруппировать данные по App_Name и сохранить их в отдельном списке или в фрейме данных для каждого App_Name, как показано ниже:

App_Name    Date        Response    Gross Revenue
com.alpha.studio    2018-10-16  1731.429858 11643154
com.alpha.studio    2018-10-17  2769.373388 13198984
com.alpha.studio    2018-10-18  2784.822039 24217875

App_Name    Date        Response    Gross Revenue
com.apple.tiles2    2018-10-13  3748.723574 24133394
com.apple.tiles2    2018-10-15  3986.434851 35928884
com.apple.tiles2    2018-10-16  2610.214035 30611434

App_Name    Date        Response    Gross Revenue
com.banana.com      2018-10-14  2920.33747  86230313
com.banana.com      2018-10-16  1601.387403 13781285
com.banana.com      2018-10-17  2205.359489 21974901
com.banana.com      2018-10-18  2545.899329 28361412

App_Name    Date        Response    Gross Revenue
com.number.studio   2018-10-14  3533.461547 38726087
com.number.studio   2018-10-13  1807.756545 33736740
com.number.studio   2018-10-15  2044.759823 76526368

App_Name    Date        Response    Gross Revenue
com.orange.thescore 2018-10-13  2034.611964 8273607
com.orange.thescore 2018-10-14  4671.930435 38575556
com.orange.thescore 2018-10-17  1820.852862 7565015
com.orange.thescore 2018-10-18  2052.207745 7544861

1 Ответ

0 голосов
/ 12 ноября 2018

Преобразовать groupby объект в словарь DataFrames:

d = dict(tuple(df.groupby('App_Name')))

print (d['com.alpha.studio'])
            App_Name        Date     Response     Gross  Revenue
9   com.alpha.studio  2018-10-16  1731.429858  11643154      NaN
11  com.alpha.studio  2018-10-17  2769.373388  13198984      NaN
14  com.alpha.studio  2018-10-18  2784.822039  24217875      NaN

EDIT:

d1 = {}
for k, v in d.items():
     d1[k] = v['Gross Revenue'].rolling(2).mean()
...