Python 每个主键的熊猫只将具有最大值的行保留到另一列中
我如何才能为Customer_ID中的每个元素只保留Col2_ID和Qta以及Qta列的最大值,并放弃所有其余元素 我被困在这里: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
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