2016-09-27 4 views
1

은 고려 pd.Seriess팬더 시리즈 드롭 multiindex이 고유하지

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

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')하지 않는 이유를 잘 모르겠어요

s.drop('B') 

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

답변

0

(이것은 무엇을 작동하지 않습니다) 원하는 결과가 있어야한다

전에처럼 드롭 않는다 작동하지만, 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 
관련 문제