Crear nuevas columnas a partir de categorías agregadas.

Tengo un dataframe que se parece a:

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 

Me gustaría agregar el número de créditos activos y cerrados para cada ID y luego crear una nueva columna para Closed_credits , Closed_credits con el número de créditos activos y cerrados correspondientes para cada ID.

Puede usar pandas.crosstab , que evita el paso intermedio sugerido:

 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 

Puedes lograr esto usando pd.DataFrame.groupby

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

Salida:

 SK_ID_CURR CREDIT_ACTIVE 162297 Active 1 Closed 2 215354 Active 6 Closed 1