获取多索引中某个级别的最后一个元素
本文介绍了获取多索引中某个级别的最后一个元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个以下格式的数据帧:
a b x
1 1 31
1 2 1
1 3 42
1 4 423
1 5 42
1 6 3
1 7 44
1 8 65437
1 9 73
2 1 5656
2 2 7
2 3 5
2 4 5
2 5 34
a
和b
是索引,x
是值。
我要获取1 9 73
和2 5 34
行,即该级别的最后一行。
我已经摆弄.loc
、.iloc
和.xs
一个小时了,但我无法让它工作。我该怎么做?
推荐答案
您可以使用groupby
和last
:
print (df.groupby('a', as_index=False).last())
a b x
0 1 9 73
1 2 5 34
如果a
和b
为MultiIndex
级别,则第一次调用reset_index
:
print (df.reset_index().groupby('a', as_index=False).last())
a b x
0 1 9 73
1 2 5 34
这篇关于获取多索引中某个级别的最后一个元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!