Pythonの文は必要-値を。以下のためにあなたが「ビット単位」を使用する必要がありますので、これらのあいまいな考えられている(または)、または(および)の操作を:orandtruthpandas|&
result = result[(result['var']>0.25) | (result['var']<-0.25)]
これらは、これらの種類のデータ構造のためにオーバーロードされ、要素単位or(またはand)を生成します。
このステートメントに説明を追加するだけです。
あなたが取得したいときに例外がスローされたboolのをpandas.Series:
>>> import pandas as pd
>>> x = pd.Series([1])
>>> bool(x)
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
あなたがヒットすることは、オペレータが場所だった暗黙的にオペランドを変換しbool(あなたが使用しorますが、それはまたのために起こるand、ifとwhile):
>>> x or x
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
>>> x and x
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
>>> if x:
... print('fun')
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
>>> while x:
... print('fun')
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
これらの4文のほかにいくつかの隠しいくつかのPythonの関数があるbool(のような呼び出しをany、all、filter、...)これらは通常では問題ではありませんpandas.Seriesが、完全を期すために、私はこれらを言及したかったが。
あなたの場合、適切な代替案について言及していないため、例外はあまり役に立ちません。用andとor(あなたは要素ごとの比較をしたい場合)は、使用することができます。
演算子を使用している場合は、演算子の優先順位のため、括弧を正しく設定してください。
ありますいくつかの論理numpyの機能すべきで働くがpandas.Series。
ifまたはの実行中に発生した場合は、例外に記載されている代替案がより適していますwhile。これらについて簡単に説明します。
シリーズが空かどうかを確認する場合:
>>> x = pd.Series([])
>>> x.empty
True
>>> x = pd.Series([1])
>>> x.empty
False
Pythonは、通常、解釈len(のようなコンテナのGTHをlist、tupleそれが明示的なブール解釈を持っていない場合、...)真理値として。あなたのpythonのようなチェックをしたいのであれば、あなたが行うことができます:if x.sizeまたはif not x.empty代わりにif x。
ブール値Seriesが1つだけ含まれている場合:
>>> x = pd.Series([100])
>>> (x > 50).bool()
True
>>> (x < 50).bool()
False
シリーズの最初で唯一の項目をチェックしたい場合(.bool()ブール値ではないコンテンツでも機能します):
>>> x = pd.Series([100])
>>> x.item()
100
すべてまたはいずれかのアイテムがゼロでないか、空でないか、または偽ではないかを確認する場合:
>>> x = pd.Series([0, 1, 2])
>>> x.all() # because one element is zero
False
>>> x.any() # because one (or more) elements are non-zero
True
|代わりに使用or