2017-10-17 2 views
2
 A   B C D  E  
0 1.0 2013-01-02 1.0 1 test 
1 1.0 2014-01-02 1.0 2 car 
2 1.0 2015-01-02 1.0 3 tested 
3 1.0 2016-01-02 1.0 4 train 

열 E의 값을 기반으로 위의 3 개의 연속 된 행을 포함하도록 팬더 데이터 프레임을 어떻게 분할합니까? '테스트'에서 '테스트 됨'까지?팬더 데이터 프레임을 두 열 값 사이의 행으로 분할하는 방법은 무엇입니까?

+1

당신이 대답은 어떻게 생각하십니까 ... 우리에게 보여 무엇을 예상되는 결과는 다음과 같습니다. – piRSquared

답변

1

IIUC, pd.DataFrame.iloc 사용

df.iloc[0:3] 

    A   B C D  E 
0 1.0 2013-01-02 1.0 1 test 
1 1.0 2014-01-02 1.0 2  car 
2 1.0 2015-01-02 1.0 3 tested 
1

을 나는이 못생긴 솔루션하지만 일을 오지 않는 이유 ..

df.iloc[df.index[(df.E=='test').eq(1)].values[0]:df.index[(df.E=='tested').eq(1)].values[0]+1,:] 

Out[151]: 
    A   B C D  E 
0 1.0 2013-01-02 1.0 1 test 
1 1.0 2014-01-02 1.0 2  car 
2 1.0 2015-01-02 1.0 3 tested 
관련 문제