Python 3.x 如何在分组数据框中创建新列?

Python 3.x 如何在分组数据框中创建新列?,python-3.x,pandas,feature-selection,missing-features,Python 3.x,Pandas,Feature Selection,Missing Features,我有一个按分类特征分组的数据帧。 例如,我有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

我有一个按分类特征分组的数据帧。 例如,我有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_专长值的aggr标记

如果NUM在CAT_专长中没有任何值,则将其替换为-1


问题是如何最正确地实现这一点。当前df已按NUM分组。我有一个数据帧,没有分组。也许一开始我没有正确思考。

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

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
剩余债务RM0是还款方法=0 e.t.c的一个特征 对于每个应用程序,没有包含所有方法值的功能 如果APP_NO没有return_方法中的任何值,则将其替换为-1


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

没有输入数据,这个问题没有意义。你能提供一个答案吗?我不知道你是如何从你的输入中得到你的输出的。你能提供更多的细节吗?