pandas groupby与忽略一些行

2024-10-03 19:26:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的数据帧

            W2     N      V1     V2

            ba     EX     62069  30014
            ba     ADV    12325  8218 
            ba     X      23     22 
            b      X      164831 39425 
            b      PRT    41543  16708

我需要groupbyw2在一行中用相同的值求和V1,V2的值。此行应为V1==max的位置。 我这样做:

^{pr2}$

但当我搜索max时,我需要忽略N==EX的行(只有max,sum应该包括这两行的V1和V2)。 所以结果应该是:

        W2     N      V1     V2

        ba     ADV    74417  38254
        b      X      206374 56133

我希望我能和熊猫一起玩。有什么想法吗?在


Tags: 数据maxexv2prtv1sumba
1条回答
网友
1楼 · 发布于 2024-10-03 19:26:42

我认为首先需要按^{}^{}筛选出行,然后使用选择^{cd4>}列添加{a3},最后添加^{}如果需要按df_2更改最终顺序:

s = (df_2.query('N != "EX"')
         .sort_values(['W2','V1'],ascending=[True, False])
         .drop_duplicates(['W2'])
         .set_index('W2')['N'])

^{pr2}$

相关问题 更多 >