Python 每个主键的熊猫只将具有最大值的行保留到另一列中

Python 每个主键的熊猫只将具有最大值的行保留到另一列中,python,pandas,Python,Pandas,我如何才能为Customer_ID中的每个元素只保留Col2_ID和Qta以及Qta列的最大值,并放弃所有其余元素 我被困在这里: df1 = df.groupby(["Customer_ID", "Col2_ID"]).Qta.sum() Customer_ID Col2_ID Qta 0 536544 600 536546 1 536550

我如何才能为Customer_ID中的每个元素只保留Col2_ID和Qta以及Qta列的最大值,并放弃所有其余元素

我被困在这里:

df1 = df.groupby(["Customer_ID", "Col2_ID"]).Qta.sum()

Customer_ID  Col2_ID       Qta
0           536544      600
            536546        1
            536550        1
            536553        3
            536555        1
                       ... 
18283       579673      134
            580872      142
18287       554065      488
            570715      990
            573167      108
分组后,我为每个客户提供了多个(Col2_ID,Qta),但对于每个客户,我只希望(Col2_ID,Qta)具有最大值

例如,我需要的输出不是程序给出的输出,而是

Customer_ID  Col2_ID       Qta
0           536544      600
                       ... 
18283       580872      142
18287       570715      990
我是pandas的新手,在文档中我找不到我需要的东西

您可以将它与
级别
作为参数进行链接。在级别0时,从每个
客户ID
获取最大值

df.groupby(["Customer_ID", "Col2_ID"]).Qta.sum().max(level=0)
在这里,您将索引为
Customer\u ID
,仅获取
Customer\u ID
Col2\u ID

out = df.groupby(["Customer_ID", "Col2_ID"]).Qta.sum().reset_index(level=1)
idx = out['Qta'].max(level=0).index
out.loc[idx].set_index('Col2_ID', append=True)
现在,这里的
out
索引是
MultiIndex
,带有
Customer\u ID
Col2\u ID