2016-06-03 1 views
0

У меня есть большой DataFrame со следующим содержанием:Как преобразовать серии в DataFrame, сохраняя столбцы?

obj0 type obj1 counts 
car P  wheel 2 
tree P  branch 5 
box I  ball 23 
wheel P  bus  3 
grass A  cow  10 
... 

Я хочу, чтобы увидеть, сколько obj0 и type пары у меня есть, я делаю: obj0_sums = pdf.groupby(['obj0', 'type'])['counts'].sum().

obj0 type 
car P  5 
tree P  15 
box I  50 
... 

Тогда мне нужно делать другие операции на obj0_sums позже, но это Series где obj0 и type колонны превратились в первый ряд. Как я могу заставить его оставаться DataFrame и сохранять столбцы после операции groupby?

ответ

3

попробовать это:

In [262]: df.groupby(['obj0', 'type'], as_index=False)['counts'].sum() 
Out[262]: 
    obj0 type counts 
0 box I  23 
1 car P  2 
2 grass A  10 
3 tree P  5 
4 wheel P  3 

из docs:

as_index: булева, по умолчанию True

Для агрегированного выхода, возврат объекта с группой метками, как индекс. Только для для ввода DataFrame. as_index = False эффективно «SQL-стиль» сгруппированных выход

1

Я думаю, что вы могли бы искать

pdf.groupby(['obj0', 'type'], as_index=False)['counts'].sum() 

 Смежные вопросы

  • Нет связанных вопросов^_^