Это , упомянутое в разделе «Отсутствующие данные» документов :
Группы NA в GroupBy автоматически исключаются. Это поведение согласуется, например, с R.
blockquote>. Один способ заключается в использовании заполнителя перед выполнением groupby (например, -1):
In [11]: df.fillna(-1) Out[11]: a b 0 1 4 1 2 -1 2 3 6 In [12]: df.fillna(-1).groupby('b').sum() Out[12]: a b -1 2 4 1 6 3
Тем не менее, это выглядит довольно ужасно ... возможно, должен быть включен вариант NaN в groupby (см. этот вопрос github ), который использует тот же взлом для замены места.