2014-08-27 2 views
6

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

У меня есть ФР с этой структурой:

|integer_id|int_field_1|int_field_2| 

integer_id колонок не является уникальным, поэтому я хотел бы, чтобы группа ФРА по integer_id и просуммировать два поля.

Эквивалент SQL является:

SELECT integer_id, SUM(int_field_1), SUM(int_field_2) FROM tbl 
GROUP BY integer_id 

Все предложения на самый простой способ сделать это?

EDIT:. В том числе ввод/вывод

Input: 
integer_id int_field_1 int_field_2 
2656  36   36 
2656  36   36 
9702  2   2 
9702  1   1 

Ouput с использованием df.groupby ('integer_id') Сумма():

integer_id int_field_1 int_field_2 
2656  72   72 
9702  3   3 
+0

делает 'df.groupby ('integer_id'). Сумма()' дать вам то, что вы хотите? – EdChum

+1

Ах да, что кажется, в основном работают. Первая строка вывода включает «integer_id» с двумя пустыми полями, хотя я не понимаю. – acpigeon

+0

Это, вероятно, просто представление данных, поскольку в качестве индекса задано значение integer_id. Вы можете предоставить 'set_index = False' в' groupby', если вы не хотите 'integer_id', поскольку индекс – joris

ответ

10

Вам просто нужно позвонить sum на groupby объекта:

df.groupby('integer_id').sum() 

Смотрите docs для дальнейших примеров

+1

downvoter помочь объяснить? – EdChum

1

Вы можете сделать это

data.groupby(by=['account_ID'])['purchases'].sum() 
Смежные вопросы