2016-10-04 21 views
1

複数の列を持つDataFrameがあり、2つの異なる列の特定の値にアクセスするための条件を設定する必要があります。私はここに示すように1列でうまくいくことができます:パンダ - 複数のデータフレーム基準の選択

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

しかし、私は2つの列から値を指定するのに苦労しています。私はこのようなものを試しましたが、エラーが発生します:

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

これは簡単な回答かもしれませんが、どんな助けにもなります。

+0

どのようなエラーが表示されますか? – MMF

+0

ValueError:Seriesの真理値はあいまいです。 a.empty、a.bool()、a.item()、a.any()またはa.all()を使用します。 – King

答えて

4

あなたのコードは2個の非常に小さなエラーがあります:1)2つの以上の基準のために括弧を必要とし、2)あなたはアンパサンドを使用する必要があります条件の間:

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

_just_ code +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

関連する問題