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 - 如何在单个查询中获取列的最小值和最大值以及与它们关联的行?