首页 文章

Python:如何获得具有它们所属组的最大值的行?

提问于
浏览
8

我改回了我的问题 . 我正在寻找以下问题的解决方案:

我有一个dataFrame,如:

Sp   Mt   Value  count
4  MM2  S4   bg     10
5  MM2  S4   dgd    1
6  MM4  S2   rd     2
7  MM4  S2   cb     8
8  MM4  S2   uyi    8

我的目标是在每个组中获得所有计数相等的行,例如:

MM4  S4   bg     10
MM4  S2   cb     8
MM4  S2   uyi    8

我按['Sp','Mt'分组

有人知道我怎么能在熊猫或python中做到这一点?

1 回答

  • 16
    >>> print d
         Sp  Mt Value  Count
    ID                      
    4   MM2  S4    bg     10
    5   MM2  S4   dgd      1
    6   MM4  S2    rd      2
    7   MM4  S2    cb      8
    8   MM4  S2   uyi      8
    
    >>> d.groupby('Sp').apply(lambda t: t[t.Count==t.Count.max()])
             Sp  Mt Value  Count
    Sp  ID                      
    MM2 4   MM2  S4    bg     10
    MM4 7   MM4  S2    cb      8
        8   MM4  S2   uyi      8
    

相关问题