groupby max,不删除列

毛里西奥·麦地那

嗨,我有以下假设的df

df = pd.DataFrame({
'sp' : ['MM1', 'MM1', 'MM1', 'MM2', 'MM2', 'MM2', 'MM4', 'MM4','MM4'],
'mt' : ['S1', 'S1', 'S3', 'S3', 'S4', 'S4', 'S2', 'S2', 'S2'],
'val' : ['a', 'n', 'cb', 'mk', 'bg', 'dgb', 'rd', 'cb', 'uyi'],
'count' : [3,2,5,8,10,1,2,2,7]
})
top =df.groupby(['sp','mt']).agg({'count':'max'})
top

我在不删除val列的情况下按sp和mt进行分组,该怎么做?这个想法是找到count最大的val的值

谢谢

通道3

IIUC,您可以将其GroupBy.idxmax用作索引.loc

idx = df.groupby(['sp', 'mt'])['count'].idxmax()
df.loc[idx.values, :]

    sp  mt  val  count
2  MM1  S3   cb      5
4  MM2  S4   bg     10
8  MM4  S2  uyi      7

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章