小编han*_*nna的帖子

多索引熊猫 groupby + 聚合,保持完整索引

我有一个两级分层索引的整数序列。

 >> s
 id1    id2    
 1      a     100
        b      10
        c       9 
 2      a    2000
 3      a       5
        b      10
        c      15
        d      20
 ...
Run Code Online (Sandbox Code Playgroud)

我想按 id1 分组,并选择最大值,但在结果中有完整的索引。我尝试了以下方法:

 >> s.groupby(level=0).aggregate(np.max)
 id1              
 1    100 
 2   2000
 3     20
Run Code Online (Sandbox Code Playgroud)

但结果仅由 id1 索引。我希望我的输出看起来像这样:

 id1    id2    
 1      a     100
 2      a    2000
 3      d      20
Run Code Online (Sandbox Code Playgroud)

这里提出了一个相关但更复杂的问题: Multiindexed Pandas groupby, ignore a level? 正如它所说,答案是一种黑客。

有谁知道更好的解决方案?如果不是,那么 id2 的每个值都是唯一的特殊情况呢?

python pandas

5
推荐指数
1
解决办法
2509
查看次数

标签 统计

pandas ×1

python ×1