web-dev-qa-db-ja.com

python特定の値未満の行を削除する

この質問には誰かが以前に答えたに違いないと思いますが、スタックオーバーフローに関する答えが見つかりません!

このようなデータフレームresultがあり、すべての値を削除したい以下 10

>>> result
                       Name              Value      Date
189                   Sall                19.0  11/14/15
191                     Sam               10.0  11/14/15
192                 Richard               21.0  11/14/15
193                  Ingrid                4.0  11/14/15 

このコマンドは機能し、10であるすべての値を削除します。

df2 = result[result['Value'] != 10]

しかし、<=修飾子を追加しようとすると、エラーメッセージSyntaxError: invalid syntax

df3 = result[result['Value'] ! <= 10]  

おそらく本当に簡単な解決策があるように感じます。前もって感謝します!

18
JAG2024

これの代わりに

df3 = result[result['Value'] ! <= 10]  

つかいます

df3 = result[~(result['Value'] <= 10)]  

それが動作します。 OR単純に使用

df3 = result[result['Value'] > 10]  
19
Jay Parikh

pythonは!を使用して否定しません。 notを使用します。 この回答を参照
この特定の例では、!=not equalを意味する2文字の文字列です。 ==の否定ではありません。

オプション1
これは、NaNがない限り機能するはずです。

result[result['Value'] > 10]

オプション2
単項演算子~を使用して、ブール系列を否定します

result[~(result['Value'] <= 10)]
6
piRSquared