如果我使用使用字符串變量
df.loc[(origFull['abc'] == 111)]
,將工作過程中。
然後
test = '(origFull[\'abc\'] == 111)'
df.loc[@test]
或
df.loc['@test']
但是都沒有成功。
如果我使用使用字符串變量
df.loc[(origFull['abc'] == 111)]
,將工作過程中。
然後
test = '(origFull[\'abc\'] == 111)'
df.loc[@test]
或
df.loc['@test']
但是都沒有成功。
有幾件事情是錯誤的:
1:你想測試是一個值(一個布爾值是準確的),如果您在它們周圍添加單引號,則test
會變成一個字符串。做到這一點,而不是:
test = origFull['abc'] == 111
2:@
符號不是蟒蛇有效語法,當它用於裝飾除外。要使用測試作爲變量,只需編寫test
而不需要@
。
df.loc[test]
定義測試時請將引號移開。
在loc裏面,你基本上是在創建一個布爾變量。因此,設定測試等於布爾值,並用它作爲一個布爾值指標:
test = (origFull['abc'] == 111)
df.loc[test]
它將在刪除反斜槓後生效。非常感謝你,因爲你是第一個回答這個問題,並帶我走向正確的方向! – Windtalker
是的,對不起,只是複製粘貼並錯過了反斜槓。 – Reen
實際上我想用測試變量來表示一個語句,但是你是對的,我不需要添加單引號。謝謝! – Windtalker