2016-12-13 30 views
1

我正在編寫代碼以獲取花費在5000美元以上並且新近超過100天的成員數據,將這些成員歸類爲最高組。下面的第一行工作,但是當我添加另一個條件(第二行)時,它不再過濾。誰能告訴我爲什麼?謝謝!Python - 比較運算符超過2個條件

GrpA=(MbrKPI3[(MbrKPI3['Amt'])>5000]) 

GrpA=(MbrKPI3[(MbrKPI3['Amt'])>5000 & (MbrKPI3['Recency']>100)]) 

回答

8

你有一個錯字,第一個右括號需要圍繞比較值:

GrpA=(MbrKPI3[(MbrKPI3['Amt'])>5000 & (MbrKPI3['Recency']>100)]) 
          ^--- here 

應該是:

GrpA=(MbrKPI3[(MbrKPI3['Amt']>5000) & (MbrKPI3['Recency']>100)]) 
            ^--- to here 

還外括號不是必需的:

GrpA = MbrKPI3[(MbrKPI3['Amt']>5000) & (MbrKPI3['Recency']>100)] 
+1

是'&'邏輯和爲pur姿勢?或簡單的'和'會完成這項工作? –

+2

@ Jean-FrançoisFabre對於數組,您必須使用'&','和'不理解數組,這裏比較數組會返回一組布爾值。你會得到一個'ValueError',因爲它是模糊的,因爲它期望一個標量而不是一組布爾值 – EdChum

+0

感謝EdChum的幫助! – unclegood