Python:如何获取具有它们所属组的最大值的行? [复制]

Posted

技术标签:

【中文标题】Python:如何获取具有它们所属组的最大值的行? [复制]【英文标题】:Python : How can I get Rows which have the max value of the group to which they belong? [duplicate] 【发布时间】:2013-03-20 10:05:12 【问题描述】:

我改写我的问题。我正在寻找以下问题的解决方案:

我有一个像这样的数据框:

   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'] 分组

有人知道我如何在 pandas 或 python 中做到这一点?

【问题讨论】:

这不就是你之前的问题,又问了吗? 是的,抱歉,之前的表述不是很好 这个答案是我能找到的最快的解决方案:***.com/a/21007047/778533 【参考方案1】:
>>> 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

【讨论】:

我正要发df.groupby(["Sp", "Mt"]).apply(lambda x: x[x["count"] == x["count"].max()]) 到另一个问题;我认为 OP 希望两者都有一个 groupby。 非常感谢您的解决方案!

以上是关于Python:如何获取具有它们所属组的最大值的行? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

从相关表中获取每组的最大行数

如何获取熊猫数据框中的行,列中具有最大值并保留原始索引?

PostgreSQL - 如何在单个查询中获取列的最小值和最大值以及与它们关联的行?

Postgresql获取具有多列的每个组的最大值[重复]

Spark DataFrames中的argmax:如何检索具有最大值的行

如何选择每个项目具有最大时间戳的行集?