2016-09-27 60 views
1

考慮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 
    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 

那麼同樣drop不再起作用。

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') 

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

回答

0

我不知道爲什麼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