2016-10-04 83 views
1

我有一個DataFrame有多個列,我需要設置條件來訪問來自兩個不同列的特定值。我能夠成功地在一列如下所示:熊貓 - 選擇多個數據框標準

status_filter = df[df['STATUS'] == 'Complete'] 

但我很努力指定兩列的值。我試過這樣的東西,但得到的錯誤:

status_filter = df[df['STATUS'] == 'Complete' and df['READY TO INVOICE'] == 'No'] 

這可能是一個簡單的答案,但任何幫助表示讚賞。

+0

你會得到什麼錯誤? – MMF

+0

ValueError:系列的真值不明確。使用a.empty,a.bool(),a.item(),a.any()或a.all()。 – King

回答

4

你的代碼中有兩個非常小的錯誤:1)需要兩個以上的條件括號和2),你需要使用&在你的標準之間:

status_filter = df[(df['STATUS'] == 'Complete') & (df['READY TO INVOICE'] == 'No')] 
+0

提供解釋和代碼而不是_just_代碼+1 – Nicarus

+0

非常感謝!一切都在工作。 – King

1
status_filter = df.ix[(df['STATUS'] == 'Complete') & (df['READY TO INVOICE'] == 'No'),] 

烏爾歡迎

0

你可以使用:

status_filter = df[(df['STATUS'] == 'Complete') & (df['READY TO INVOICE'] == 'No')] 
+1

你有一個錯字。 '*'應該是'&' – Nicarus

+0

@Nicarus已更正,謝謝 – JMat