2015-12-08 13 views
5

次のコードは、シリーズに少なくとも1つ以上の要素が含まれているためTrueを出力します。 Seriesに特定の値より大きい数値が含まれている場合、Trueを返すPythonの方法がありますか?パンダシリーズに値よりも大きいアイテムが1つ以上あることを確認してください

import pandas as pd 

s = pd.Series([0.5, 2]) 
print True in (s > 1) 

EDIT: は、上記の解答非Python的であるだけでなく、それは時々、何らかの理由で誤った結果を返します。たとえば、次のように

s = pd.Series([0.5]) 
print True in (s < 1) 

答えて

7
あなたはその条件が Trueであるかどうかを確認するために anyメソッドを使用することができ

少なくとも1つの値のために:あなたは、その操作を拡張するにはどうすればよい

In [36]: (s > 1).any() 
Out[36]: True 
+0

すべての値のうち少なくとも1つの値が0より大きい場合に返すように列のセットに変換します。 –

+0

@FedericoGentile 'any(axis = 1).any()'のような意味ですか?まず、あなたのサブセット内のすべての行でチェックされ、Pandas Seriesが生成されます。第2に、あなたはどのような 'True'値についてもシリーズをチェックします。そうでない場合は、コメントに例を挙げるか、新しい質問にすべての詳細を尋ねる方が良いでしょう。 –

+0

3つの列(A、B、C)を持つデータフレームがあり、少なくともA列とB列に0より大きい値があるかどうかをチェックしたいと考えています。 df.A> 1).any()および(df.B> 1).any()。それを行うためのより良い、エレガントな方法はありますか? –

関連する問題