2013-07-09 16 views
6

से एक या अधिक आइटम बहिष्कृत करें मैं सोच रहा हूं कि पांडा श्रृंखला से एक या अधिक आइटम को कैसे बाहर निकालना है। उदाहरण के लिए:पांडा श्रृंखला

index = s.index 
for col in ['B','D','E']: 
    index = index.delete(index.get_loc(col)) 

new_series = s[index] 

वहाँ यह करने के लिए किसी भी बेहतर तरीका है:

s = pd.Series(data=range(10), index=[chr(ord('A') + x) for x in range(10)]) 

अब मैं पंक्तियों बी, डी बाहर करना चाहते हैं, ई

एक बेहद अक्षम तरीका यह है है?

धन्यवाद।

उत्तर

9

आप सूचकांक isin विधि इस्तेमाल कर सकते हैं:

In [11]: s.index.isin(list('BDE')) 
Out[11]: array([False, True, False, True, True, False, False, False, False, False], dtype=bool) 

निगेट की विपरीत ऑपरेटर का उपयोग (तो अब इसे पढ़ता है "में नहीं"):

In [12]: ~s.index.isin(list('BDE')) 
Out[12]: array([ True, False, True, False, False, True, True, True, True, True], dtype=bool) 

और इस का उपयोग सीरीज नकाब:

In [13]: s = s[~s.index.isin(list('BDE'))] 

In [14]: s 
Out[14]: 
A 0 
C 2 
F 5 
G 6 
H 7 
I 8 
J 9 
dtype: int64 
संबंधित मुद्दे