Python 当多重索引不唯一时,系列将下降

Python 当多重索引不唯一时,系列将下降,python,pandas,multi-index,Python,Pandas,Multi Index,考虑一下pd.Seriess midx = pd.MultiIndex.from_product([list('ABC'), np.arange(3)]) s = pd.Series(1, midx) s A 0 1 1 1 2 1 B 0 1 1 1 2 1 C 0 1 1 1 2 1 dtype: int64 使用drop去除横截面非常方便。比如说 s.drop('A') B 0 1

考虑一下
pd.Series
s

midx = pd.MultiIndex.from_product([list('ABC'), np.arange(3)])
s = pd.Series(1, midx)
s

A  0    1
   1    1
   2    1
B  0    1
   1    1
   2    1
C  0    1
   1    1
   2    1
dtype: int64
使用
drop
去除横截面非常方便。比如说

s.drop('A')

B  0    1
   1    1
   2    1
C  0    1
   1    1
   2    1
dtype: int64
但是如果我使索引非唯一

s = s.append(pd.Series(0, pd.MultiIndex.from_tuples([('A', 2)]))).sort_index()
s

A  0    1
   1    1
   2    1
   2    0
B  0    1
   1    1
   2    1
C  0    1
   1    1
   2    1
dtype: int64
然后,同样的
拖放操作将不再有效

s.drop('A')

A  0    1
   1    1
   2    1
   2    0
B  0    1
   1    1
   2    1
C  0    1
   1    1
   2    1
dtype: int64
我怎么能像以前那样掉下去

期望的结果应该是(这不起作用,什么起作用)


我不确定为什么
s.drop('B')
不起作用,但是使用
level=0
参数起作用

s.drop('B', level=0)

A  0    1
   1    1
   2    1
   2    0
C  0    1
   1    1
   2    1
dtype: int64

我不确定为什么
s.drop('B')
不起作用,但是使用
level=0
参数起作用

s.drop('B', level=0)

A  0    1
   1    1
   2    1
   2    0
C  0    1
   1    1
   2    1
dtype: int64