数据有三列。我需要找到第二列和第三列之间相交的行。例如,下面的数据中哪一行在第二列和第三列之间的数字为15?
a 1 5
b 7 10
c 13 17
d 20 24
理想的结果应该是
c 13 17
因为它有'15'与第二列和第三列之间的那条行相交。有没有办法使用Python(特别是Python 2.7)?
答案 0 :(得分:1)
你是说这个?
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
答案 1 :(得分:0)
另一种方法,使用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