对熊猫列进行分组并按组计算唯一值

时间:2019-12-30 13:56:45

标签: python pandas

我是熊猫和蟒蛇的新手。

我的数据集如下:

      ga:country     ga:hostname          ga:pagePathLevel1       ga:pagePathLevel2     ga:keyword      ga:adMatchedQuery                ga:operatingSystem        ga:hour                          ga:exitPagePath               ga:sessions
0      (not set)     de.google.com       /bing-sms/               /                     +sms            günstige sms anbieter            Android                   09                               /bing-sms/                     1
1      (not set)     uk.google.com       /bing-sms/               /                     +sms            sms argentinien                  Macintosh                 14                               /bing-sms/                     1
2      (not set)     de.google.com       /bing-sms/               /                     +sms            sms test                         Android                   18                               /bing-sms/                     1
3      (not set)     au.google.com       /bing-sms/               /                     +sms            sms vergleich                    Macintosh                 20                               /bing-sms/                     1
4      (not set)     de.google.com       /bing-sms/               /                      sms            sms                              iOS                       22                               /bing-sms/                     1
...    ...            ...                ...                       ...                   ...            ...                              ...                       ...                              ...                             ...
85977      Yemen     google.com         /reviews/                 /nokia/               45to54          (not set)                        Android                   23                                /reviews/nokia/               1
85978      Yemen     google.com              /tr/              /best-sms/               sms             sms                              Windows                   10                                /tr/best-sms/                 1
85979     Zambia     google.com        /best-sms/                /iphone/               +best +sms      (not set)                        Android                   16                                /best-sms/iphone/             1
85980   Zimbabwe     google.com         /reviews/               /nokisms/               noki            noki                             Windows                   22                                /reviews/nosms/               1
85981   Zimbabwe     google.com         /reviews/               /nokisms/               nokisms         nokisms                          Windows                   23                                /reviews/nosms/               1

我想对我的数据框中的项目进行分组,以获得与此类似的内容:

country             hostnames        pagePathLevel1    pagePathLevel2    keyword           adMatchedQuery        operatingSystem    hour     

Germany             google.com(50)   /bing-sms/(30)    /nokia(30)         sms(50)          sms test(30)          android(30)        09(50)
                    google.de(40)    /bing-mms/(30)    /iphone(20)        nokia(40)        noki(20)              macintosh(20)      15(45)
                    google.uk(30)                      /sms(10)           best(30)         sms vergleich(10)     iOS(10)            12(12)
                    /                /                 /mms(5)            best sms(20)     /                     windows(5)         ...
                    /                /                 /                  best mms(10)     /                     /                  ...

Yemen               google.com(50)   /bing-sms/(30)    /nokia(30)         sms(50)          sms test(30)          android(30)        09(50)
                    google.de(40)    /bing-mms/(30)    /iphone(20)        nokia(40)        noki(20)              macintosh(20)      15(45)
                    google.uk(30)                      /sms(10)           best(30)         sms vergleich(10)     iOS(10)            12(12)
                    /                /                 /mms(5)            best sms(20)     /                     windows(5)         ...
                    /                /                 /                  best mms(10)     /                     /                  ...

United States       google.com(50)   /bing-sms/(30)    /nokia(30)         sms(50)          sms test(30)          android(30)        09(50)
                    google.de(40)    /bing-mms/(30)    /iphone(20)        nokia(40)        noki(20)              macintosh(20)      15(45)
                    google.uk(30)                      /sms(10)           best(30)         sms vergleich(10)     iOS(10)            12(12)
                    /                /                 /mms(5)            best sms(20)     /                     windows(5)         ...
                    /                /                 /                  best mms(10)     /                     /                  ...

想法是按ga:country列对列进行分组,并为原始数据帧中除ga:sessions列之外的每一列创建最常见的唯一值列表。

例如:

将我的DataFrame按ga:country分组后,我将能够知道在google.com列中hostnames被发现为Germany的次数是多少,依此类推列。只需对每个分组的ga:country列中的唯一值进行计数。

我已经使用了value_counts()方法,但是我不确定如何将其应用于按ga:country列分组的每一列。

谢谢您的建议。

0 个答案:

没有答案