Python 3.x 在Pandas多索引系列中,我想删除索引外部级别的最后一个元素,新系列将与旧系列具有相同的顺序
我希望输出为:Python 3.x 在Pandas多索引系列中,我想删除索引外部级别的最后一个元素,新系列将与旧系列具有相同的顺序,python-3.x,pandas,Python 3.x,Pandas,我希望输出为: City Year Jallandhar 2011 23457 2012 34523 Mohali 2011 22243 2012 32239 Ludhiana 2011 32224 2012 34343 Ambala 2011 33344 2012 23999 dtype: int64 这不能
City Year
Jallandhar 2011 23457
2012 34523
Mohali 2011 22243
2012 32239
Ludhiana 2011 32224
2012 34343
Ambala 2011 33344
2012 23999
dtype: int64
这不能通过切片实现,因为切片需要对索引进行排序,如果排序,输出将不有序。
那么,在删除索引外部级别的最后一个元素的同时,以与原始系列相同的顺序获得输出的最佳方法是什么呢。您可以通过名称来引用级别,但如果您总是想要最外层的级别,那么它将是
0
City Year
Jallandhar 2011 23457
2012 34523
Mohali 2011 22243
2012 32239
Ludhiana 2011 32224
2012 34343
dtype: int64
我可能不完全理解你关于排序的评论。您的意思是,在数据帧的前面可能有带有
Ambala
的行,而不是与最终出现的行分组,您希望保留它们还是删除它们?如果是,你需要什么样的行为?
s = s.drop(s.index.get_level_values(0)[-1], level=0)
#City Year
#Jallandhar 2011 23457
# 2012 34523
#Mohali 2011 22243
# 2012 32239
#Ludhiana 2011 32224
# 2012 34343
#dtype: int64