2016-12-13 8 views
1

私は自分のデータに2段階のフィルタ処理を持ってパンダデータフレームの選択

data = data[data['Open']>0 and data['Volume']>1] 

をしかし、私は

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().がエレガントあり得ます一度にこの操作を実行する方法は?

答えて

1

使用&()を使用して条件をラップ:

data = data[(data['Open']>0) & (data['Volume']>1)] 

あなたはそれぞれandornotため&|~を使用する必要があります。オペレータの優先順位のため、かっこが必要です。

and,およびnotの問題は、返された結果がブール値の配列であり、スカラー値を期待していると解釈する方法を理解できないということです。

これは、エラーが返されますなぜあなたはany()all()を追加した場合、これはそれが

を受け入れる単一のブール値を返しますです
関連する問題