2017-01-18 5 views
3

Ich habe derzeit einen Datenrahmen:Python - dataframe.loc, boolean auf Index

df = |0 10| 
    |1 20| 
    |2 30| 

Ich versuche, einen neuen Datenrahmen zurückzukehren, df2 = df['INDEXNAME' < 2], so dass es nur die ersten beiden Zeilen zurückzugibt.

Ich habe versucht:

df.loc[df<100] 
df.loc[df['INDEXNAME']<100] 

aber diese geben mir ein

KeyError: 'INDEXNAME'

Irgendwelche Gedanken? Vielen Dank!

+0

was ist der Name Ihrer Spalte mit den Daten? benutze es indead des INDEXNAME - ich glaube, das ist nur ein Platzhalter – snow

+0

die Spalte mit den Daten heißt "DATA", und ich habe den Index "INDEXNAME" genannt. Ich merke, wie brutal diese Namen sind ... herumalbern. – keynesiancross

Antwort

2

können Sie Abfrage verwenden:

df= pd.DataFrame({'value':[10,20,30]}, index = [20,2,0]) 
df.index.name = "beta" 

df.query("beta < 2") 
# value 
#beta 
#0  30 

oder:

df[df.index < 2] 
# value 
#0 30 
+0

Das hat es geschafft, danke! – keynesiancross

Verwandte Themen