【发布时间】:2015-02-25 10:15:20
【问题描述】:
我有一个两级层次索引的整数序列。
>> s
id1 id2
1 a 100
b 10
c 9
2 a 2000
3 a 5
b 10
c 15
d 20
...
我想按 id1 分组,并选择最大值,但结果中有 full 索引。我尝试了以下方法:
>> s.groupby(level=0).aggregate(np.max)
id1
1 100
2 2000
3 20
但结果仅由 id1 索引。我希望我的输出如下所示:
id1 id2
1 a 100
2 a 2000
3 d 20
这里提出了一个相关但更复杂的问题: Multiindexed Pandas groupby, ignore a level? 正如它所说,答案是一种黑客攻击。
有人知道更好的解决方案吗?如果不是,那么 id2 的每个值都是唯一的特殊情况呢?
【问题讨论】: