2017-09-12 6 views

Antwort

2
In [133]: df.loc[df.index[df.LOC=='X'][0]:df.index[df.LOC=='Y'][0]] 
Out[133]: 
    C V S D LOC 
0 1 2 3 4 X 
1 5 6 7 8 NaN 
2 1 2 3 4 NaN 
3 5 6 7 8 Y 

PS Dies wählt Reihen zwischen ersten Auftreten von X und ersten Auftreten von Y

3

Verwenden idxmax zum ersten Wert des Index, wo True in Zustand:

df = df.loc[(df['LOC'] == 'X').idxmax():(df['LOC'] == 'Y').idxmax()] 
print (df) 
    C V S D LOC 
0 1 2 3 4 X 
1 5 6 7 8 NaN 
2 1 2 3 4 NaN 
3 5 6 7 8 Y