Суммирование строк в DataFrame с сохранением аналогичной структуры DataFrame - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть следующий DataFrame:

Stint    Year   ID  Data1    Data2  Team
  1     2010    A    10       1      SFN
  1     2011    A    10       1      SFN
  1     2013    A    10       1      SFN
  2     2013    A    10       1      ATL
  1     1922    B    10       1      ARI
  1     1923    B    10       1      ARI
  1     1924    B    10       1      ARI

Я пытаюсь вернуть новый DataFrame, который суммирует значения в столбцах Data1 и Data2 за идентичные годы. Я хотел бы, чтобы приведенный выше DataFrame в конечном итоге выглядел так:

    Year   ID  Data1    Data2 
    2010    A    10       1      
    2011    A    10       1         
    2013    A    20       2      
    1922    B    10       1      
    1923    B    10       1      
    1924    B    10       1      

Я возился с некоторыми групповыми функциями, но у меня проблемы с получением правильной структуры DataFrame.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

groupby с sort=false

Также, если вы хотите сохранить ваши данные в том же формате года, т.е.[2010,2011,2013,1922,1923,1924], вы можете проверить 'sort = False', чтобы можно было написать тот же код со значениями сортировки, установленными в false как:

df.groupby(['Year', 'ID'], as_index= False, sort= False)[['Data1', 'Data2']].sum()
0 голосов
/ 14 сентября 2018

groupby с as_index=False

Не будет включать сгруппированные столбцы в новый индекс

df.groupby(['Year', 'ID'], as_index=False)[['Data1', 'Data2']].sum()

   Year ID  Data1  Data2
0  1922  B     10      1
1  1923  B     10      1
2  1924  B     10      1
3  2010  A     10      1
4  2011  A     10      1
5  2013  A     20      2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...