2016-10-04 48 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