查找数字与两列相交的行

Finding row that has number instersecting two columns

数据有三列。我需要找到数字在第二列和第三列之间相交的行。例如,在下面的数据中,哪一行的第二列和第三列之间的数字是 15?

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

理想的结果应该是

c   13  17

因为它有“15”与第二列和第三列之间的该行相交。有没有办法使用 Python(特别是 Python 2.7)来做到这一点?

你是这个意思?

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

另一种方法,使用query:

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