Создать новые столбцы из агрегированных категорий

1

У меня есть dataframe выглядит так:

    SK_ID_CURR  CREDIT_ACTIVE
0   215354  Closed
1   215354  Active
2   215354  Active
3   215354  Active
4   215354  Active
5   215354  Active
6   215354  Active
7   162297  Closed
8   162297  Closed
9   162297  Active

Я хотел бы объединить количество активных и закрытых кредитов для каждого идентификатора, а затем создать новый столбец для Active_credits, Closed_credits с количеством соответствующих активных и закрытых кредитов для каждого идентификатора.

  • 0
    Каков ваш ожидаемый результат?
Теги:
pandas
pandas-groupby
aggregate

2 ответа

2
Лучший ответ

Вы можете использовать pandas.crosstab, который избегает предлагаемого промежуточного шага:

res = pd.crosstab(df['SK_ID_CURR'], df['CREDIT_ACTIVE'])

print(res)

CREDIT_ACTIVE  Active  Closed
SK_ID_CURR                   
162297              1       2
215354              6       1
0

Вы можете добиться этого, используя pd.DataFrame.groupby

df1.groupby(['SK_ID_CURR','CREDIT_ACTIVE']).size()

Выход:

SK_ID_CURR  CREDIT_ACTIVE
162297      Active           1
            Closed           2
215354      Active           6
            Closed           1
  • 2
    Я думаю, что ответ jpp лучше :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню