Панды сортируют по группам и вычисляют сумму двух столбцов

1

Я хочу провести анализ данных. Пока я могу сгруппировать столбцы, которые я хочу, теперь мне нужно добавить два столбца, вот моя логика:

import pandas as pd

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
                           'foo', 'bar', 'foo', 'bar'],
                'B' : ['one', 'one', 'two', 'two',
                          'two', 'two', 'one', 'two'],
                'C' : [-1,2,3,4,5,6,0,2],
                'D' : [-1,2,3,4,5,6,0,2]})


grouped = df.groupby(['A','B']).sum()
print grouped

Результат выглядит следующим образом:

          C   D
A   B          
bar one   2   2
    two  12  12
foo one  -1  -1
    two   8   8

[4 rows x 2 columns]

Теперь мне нужно использовать две дополнительные операции для добавления столбцов C и D и генерировать вывод следующим образом:

A   B       Sum   
bar one     4
    two    24
foo one    -2
    two    16

Любые идеи действительно помогут мне, поскольку я новичок в python

Теги:
pandas
csv
python-2.7

1 ответ

2
Лучший ответ

Вы можете определить новый столбец Sum:

In [107]: grouped['Sum'] = grouped['C']+grouped['D']

Теперь grouped будет выглядеть так:

In [108]: grouped
Out[108]: 
          C   D  Sum
A   B               
bar one   2   2    4
    two  12  12   24
foo one  -1  -1   -2
    two   8   8   16

[4 rows x 3 columns]

Чтобы выбрать только столбец Sum (в качестве DataFrame используйте двойные скобки):

In [109]: grouped[['Sum']]
Out[109]: 
         Sum
A   B       
bar one    4
    two   24
foo one   -2
    two   16

[4 rows x 1 columns]
  • 0
    большое спасибо. это помогло мне

Ещё вопросы

Сообщество Overcoder
Наверх
Меню