Панды - выберите несколько столбцов из вложенного заголовка после группового - PullRequest
0 голосов
/ 28 апреля 2018

Скажите, у меня есть следующий набор данных:

df = pd.DataFrame({'a'   : [1, 1, 3],
               'b'   : [4, 5, 6],
               'c'   : [7, 8, 9],
               'cat' : ['a', 'a', 'b']})

df 

cat = df.groupby('cat')

ag = cat.agg({ "a" : ["sum", "mean"],
           "b" : "count",
           "c" : "mean"})

print(ag)

      a        b     c
      sum mean count mean
cat                    
a     2    1     2   7.50
b     3    3     1   9.00

Я хотел бы вернуть DataFrame, содержащий (a,sum) и (b,count) для (cat==a). Как бы я это сделал, не расправляя заголовки

      a    b    
      sum  count
cat                    
a     2      2 

1 Ответ

0 голосов
/ 28 апреля 2018

Вы можете использовать pd.DataFrame.xs с axis=1:

res = ag.xs([('a', 'sum'), ('b', 'count')], axis=1)

print(res)

      a     b
    sum count
cat          
a     2     2
b     3     1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...