-1

我有一个按分类特征分组的 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,没有分组。也许我一开始并没有正确地思考。

4

1 回答 1

0

这只是一个例子。以下是真实数据:

ID.  APP_NO REPAY_METHOD    RESIDUAL_DEBT
0   755356650   0.0              0.00
1   756347150   2.0            20490.53
2   756927070   -1.0             0.00
3   757031330   2.0              0.00
4   757233210   2.0              0.00

我想得到以下

ID.  APP_NO RESIDUAL_DEBT_RM0  RESIDUAL_DEBT_RM2  RESIDUAL_DEBT_RMm1
0   755356650   0.0              -1                        -1
1   756347150   -1             20490.53                    -1
2   756927070   -1               -1                         0
3   757031330   -1                0                        -1
4   757233210   -1                0                        -1

RESIDUAL_DEBT_RM0 是一个特征,其中 REPAY_METHOD = 0 等对于具有所有 REPAY_METHOD 值的每个 APP_NO 特征如果 APP_NO 没有来自 REPAY_METHOD 的任何值,则将其替换为 -1

我有重复 APP_NO 的数据。主要任务是按APP_NO和每个分类特征对数据进行分组,以形成聚合特征

于 2019-01-07T08:28:06.020 回答