2016-08-23 2 views
0

데이터에 세 개의 열이 있습니다. 두 번째와 세 번째 열이 교차하는 번호를 가진 행을 찾아야합니다. 예를 들어, 아래의 데이터에서 두 번째와 세 번째 열 사이에 숫자 15가있는 행은 무엇입니까? 이 두 번째 및 세 번째 열의 행 간의 교차 갖는 '15'로숫자가 두 열을 연결하는 행을 찾습니다.

a 1 5 
b 7 10 
c 13 17 
d 20 24 

이상적인 결과

c 13 17 

이어야한다. Python (특히 Python 2.7)을 사용하여이를 수행하는 방법이 있습니까?

답변

1

이 뜻입니까? query 사용

import pandas as pd 

df = pd.DataFrame([('a', 1, 5), ('b', 7, 10), ('c', 13, 17), ('d', 20, 24)], 
        columns=['col1', 'col2', 'col3']) 

df[(df.col2 < 15) & (df.col3 > 15)] 

수익률 ...

col1 col2 col3 
2 c 13 17 
0

또 다른 방법 :

In [7]: df 
Out[7]: 
    tag start end 
0 a  1 5 
1 b  7 10 
2 c  13 17 
3 d  20 24 

In [8]: df.query('start < 15 < end') 
Out[8]: 
    tag start end 
2 c  13 17