2017-03-26 2 views

Antwort

1

Ein paar Dinge sind falsch:

1: Sie möchten Test ein Wert (ein boolescher Wert um genau zu sein), Wenn Sie um sie herum einfache Anführungszeichen hinzufügten, wird aus test eine Zeichenfolge. Tun Sie dies statt:

test = origFull['abc'] == 111 

2: @ Symbol nicht gültig Syntax für Python ist, ausgenommen wenn es für Dekorateure verwendet wird. Um den Test als Variable zu verwenden, schreiben Sie einfach test ohne die @.

df.loc[test] 
+0

eigentlich will ich Test-Variable, um eine Aussage zu repräsentieren, aber Sie haben Recht, ich brauche kein einzelnes Zitat hinzuzufügen. Vielen Dank! – Windtalker

1

Nehmen Sie die Zitate weg, wenn Sie Test definieren.

Innerhalb von Loc erstellen Sie im Wesentlichen eine boolesche Variable. So setzen Test gleich dem boolean und verwenden Sie es als Booleschen Index:

test = (origFull['abc'] == 111) 

df.loc[test] 
+0

Es funktioniert nach dem Entfernen der hinteren Schrägstrich. Vielen Dank, da Sie der Erste sind, der diese Frage beantwortet und mich in die richtige Richtung gebracht hat! – Windtalker

+0

Ja, tut mir leid, kopiert und eingefügt und verpasst die Backslashes. – Reen

0

Vielleicht suchen Sie nach der .query() Methode?

test = "abc == 111" 
df.query(test) 
+0

in der Tat ist es .loc, aber ich habe die Antwort bekommen. Danke trotzdem – Windtalker

Verwandte Themen