在按 ['Sp','Mt']
列分组后,如何在 pandas DataFrame 中找到 count
列的最大值的所有行?
示例 1: 以下 DataFrame,我按 ['Sp','Mt']
:
Sp Mt Value count
0 MM1 S1 a **3**
1 MM1 S1 n 2
2 MM1 S3 cb **5**
3 MM2 S3 mk **8**
4 MM2 S4 bg **10**
5 MM2 S4 dgd 1
6 MM4 S2 rd 2
7 MM4 S2 cb 2
8 MM4 S2 uyi **7**
预期的输出是获取每个组中计数最大的结果行,如下所示:
0 MM1 S1 a **3**
2 MM1 S3 cb **5**
3 MM2 S3 mk **8**
4 MM2 S4 bg **10**
8 MM4 S2 uyi **7**
示例 2: 这个 DataFrame,我按 ['Sp','Mt']
:
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
预期的输出是在每个组中获得 count
等于最大值的所有行,如下所示:
Sp Mt Value count
4 MM2 S4 bg 10
7 MM4 S2 cb 8
8 MM4 S2 uyi 8
原文由 jojo12 发布,翻译遵循 CC BY-SA 4.0 许可协议
要获取原始 DF 的索引,您可以执行以下操作:
请注意,如果每个组有多个最大值,则将全部返回。
更新
万岁,这就是 OP 所要求的: