2016-09-03 48 views
0

抱歉,對於這個基本問題,我只是一個Python編程的初學者。 從我undertsanding,&和「和」是同樣的東西,而「&」只是一個shorhand爲「和」,所以如果我使用Python的數據幀使用布爾邏輯「和」按位運算符「&」

df[ (df.StateAb == "NSW") & (df.PartyAb == "LP") ] 

這個compliles OK,但如果我鍵入

df[ (df.StateAb == "NSW") and (df.PartyAb == "LP") ] 

那麼它不能被正確編譯。

有啥「與」和「&」

+0

你可以參考這些東西。 [2] [http://stackoverflow.com/questions/22646463/difference-between-and-boolean-vs-bitwise-in-python-why-difference-i] –

+1

提示是在名稱中。布爾運算符根據布爾邏輯的規則行爲;按位運算符執行按位運算。 –

回答

1

之間的差異,我發現這個有用:

1 and 2 
>> 2 

1 & 2 
>> 0 

的第一個結果是由於短路。 Python測試1並找到它並返回2.但是,第二部分是01(Binary 1)& 10(Binary 2)因此評估爲00(1 & 0),即爲0.

+0

你的解釋中有「第一」和「第二」倒退。 – Barmar