熊猫使用多索引选择第二个索引的最后一行

Posted

技术标签:

【中文标题】熊猫使用多索引选择第二个索引的最后一行【英文标题】:Pandas choose last row of second index with multiindex 【发布时间】:2021-11-28 05:36:20 【问题描述】:

我根据 ID 和 Month_ID 对一些数据进行了分组,并获得了双索引数据框。现在我要选择每组的最后一行,例如:

ID      MONTH_ID    
0001    201901      
        201902      
        201903      

0002    201912
        202001

我要选择

ID      MONTH_ID    
0001    201903      

0002    202001       

但是我无法想出根据第二个索引进行选择的方法,因为使用 mltiindexing iloc 并不是很有帮助,并且 MONTH_ID 中每个索引的长度对于每个组都不同。 我也尝试在 groupby 对象上使用 nth(-1) ,但这也没有帮助。

我遇到了多个问题和答案,并查看了文档,但我没有找到回答这个问题的方法。

【问题讨论】:

【参考方案1】:

我也尝试在 groupby 对象上使用 nth(-1),但这也没有帮助。

我认为这应该可以解决您的问题,我不知道您的操作出了什么问题。也许你在应用 groupby 之前没有重置索引。

试试这个:

df.reset_index().groupby('ID').last()

【讨论】:

以上是关于熊猫使用多索引选择第二个索引的最后一行的主要内容,如果未能解决你的问题,请参考以下文章

熊猫将第一个多索引转换为行索引,将第二个多索引转换为列索引

在熊猫多索引数据框中返回满足逻辑索引条件的每个组的最后一行[重复]

如果存在多索引,熊猫将不允许选择列?

对唯一顺序索引的多索引熊猫数据框进行切片和赋值

熊猫多索引按逻辑数组选择数据

熊猫数据框检查索引是不是存在于多索引中