groupby приводит к пустому фрейму данных

#python #pandas #dataframe #pandas-groupby

#python #панды #фрейм данных #pandas-groupby

Вопрос:

Проблема:

groupby по приведенным ниже данным привел к пустому фрейму данных, не уверен, как исправить, пожалуйста, помогите, спасибо.

данные:

 business_group business_unit cost_center GL_code profit_center count
NaN            a             12          12-09   09            1
NaN            a             12          12-09   09            1
NaN            b             23          23-87   87            1
NaN            b             23          23-87   87            1
NaN            b             34          34-76   76            1
  

groupby:

 group_df = df.groupby(['business_group', 'business_unit','cost_center','GL_code','profit_center'],
           as_index=False).count()
  

ожидаемый результат:

 business_group business_unit cost_center GL_code profit_center count
NaN            a             12          12-09   09            2
NaN            b             23          23-87   87            2
NaN            c             34          34-76   76            1
  

полученный результат:

 Empty DataFrame
Columns: [business_group, business_unit, cost_center, GL_code, profit_center, count]
Index: []
  

Ответ №1:

Это потому NaN , что in business_group — это значения null, и groupby() по умолчанию все NaN значения будут удалены. Вы можете перейти dropna=False в groupby() :

 group_df = df.groupby(['business_group', 'business_unit',
                       'cost_center','GL_code','profit_center'],dropna=False,
                       as_index=False).count()
  

Вывод:

    business_group business_unit  cost_center GL_code  profit_center  count
0             NaN             a           12   12-09              9      2
1             NaN             b           23   23-87             87      2
2             NaN             b           34   34-76             76      1