2016-08-23 2 views
0

Daten haben drei Spalten. Ich muss die Zeile finden, deren Nummer sich zwischen der zweiten und der dritten Spalte befindet. Zum Beispiel, welche Zeile hat Nummer 15 zwischen der zweiten und dritten Spalte in den Daten darunter?Suche nach einer Zeile, deren Nummer zwei Spalten enthält

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

Das ideale Ergebnis sollte

c 13 17 

sein, wie es die Zeile sich schneid zwischen zweiten und dritten Spalte ‚15‘ hat. Gibt es eine Möglichkeit, es mit Python (speziell Python 2.7) zu tun?

Antwort

1

Sie meinen das?

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)] 

Ausbeuten ...

col1 col2 col3 
2 c 13 17 
0

Ein anderer Ansatz, mit 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 
Verwandte Themen