我有一个按分类特征分组的 DataFrame。例如,我有 df
df[['APP_NO', 'REPAY_METHOD', 'RESIDUAL_DEBT']] \
.groupby(['APP_NO', 'REPAY_METHOD']).agg({'RESIDUAL_DEBT' : 'sum'})
ID NUM CAT_FEAT aggr
1 123 2 1233
2 234 2 6631
3 576 -1 -491
4 987 0 5461
NUM 是唯一标识符
结果,我想得到以下 daraframe:
ID NUM CAT_FEAT aggr_CF2 aggr_CF0 aggr_CFm1
1 123 2 1233 -1 -1
2 234 2 6631 -1 -1
3 576 -1 -1 -1 -491
4 987 0 -1 5461 -1
也就是说,对于每个 NUM,获取具有所有 CAT_FEAT 值的 aggr 标签
如果 NUM 没有来自 CAT_FEAT 的任何值,则将其替换为 -1
问题是如何最正确地实现这一点。当前 df 已按 NUM 分组。我有一个 DataFrame,没有分组。也许我一开始并没有正确地思考。