Объект Python группы Python Применение метода дублирует первую группу

Мой первый вопрос SO: меня смущает такое поведение метода применения groupby в pandas (0.12.0-4), которое, кажется, применяет функцию ДВАЖДЫ к первой строке фрейма данных. Например:

>>> from pandas import Series, DataFrame
>>> import pandas as pd
>>> df = pd.DataFrame({'class': ['A', 'B', 'C'], 'count':[1,0,2]})
>>> print(df)
   class  count  
0     A      1  
1     B      0    
2     C      2

Сначала я проверяю, что функция groupby работает нормально, и, кажется, все в порядке:

>>> for group in df.groupby('class', group_keys = True):
>>>     print(group)
('A',   class  count
0     A      1)
('B',   class  count
1     B      0)
('C',   class  count
2     C      2)

Затем я пытаюсь сделать нечто подобное, используя apply для объекта groupby, и дважды получаю вывод первой строки:

>>> def checkit(group):
>>>     print(group)
>>> df.groupby('class', group_keys = True).apply(checkit)
  class  count
0     A      1
  class  count
0     A      1
  class  count
1     B      0
  class  count
2     C      2

Любая помощь будет оценена! Благодарю.

Изменить: @Jeff дает ответ ниже. Я плотный и не сразу понял, так что вот простой пример, чтобы показать, что, несмотря на двойную распечатку первой группы в примере выше, метод apply работает только один раз для первой группы и не изменяет исходный фрейм данных :

>>> def addone(group):
>>>     group['count'] += 1
>>>     return group

>>> df.groupby('class', group_keys = True).apply(addone)
>>> print(df)

      class  count
0     A      1
1     B      0
2     C      2

Но назначая возврат метода новому объекту, мы видим, что он работает как ожидалось:

df2 = df.groupby ('class', group_keys = True) .apply (addone) print (df2)

      class  count
0     A      2
1     B      1
2     C      3

Ответы на вопрос(2)

Ваш ответ на вопрос