Remove rows in python less than a certain value
Asked Answered
O

4

47

I feel like this question must have been answered by someone before, but I can't find an answer on stack overflow!

I have a dataframe result that looks like this and I want to remove all the values less than or equal to 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 

This command works and removes all the values that are 10:

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

But when I try to add the <= qualifier I get the error message SyntaxError: invalid syntax

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

I feel like there is probably a really simple solution.

Outtalk answered 23/1, 2017 at 6:29 Comment(0)
D
66

Instead of this

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

Use

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

It will work. OR simply use

df3 = result[result['Value'] > 10]  
Doge answered 23/1, 2017 at 6:43 Comment(0)
H
14

python doesn't use ! to negate. It uses not. See this answer
In this particular example != is a two character string that means not equal. It is not the negation of ==.

option 1
This should work unless you have NaN

result[result['Value'] > 10]

option 2
use the unary operator ~ to negate a boolean series

result[~(result['Value'] <= 10)]
Heurlin answered 23/1, 2017 at 6:37 Comment(0)
R
9

I have another suggestion, which could help

df3 = result.drop(result[result['Value'] < 10].index)
Rustic answered 23/11, 2020 at 7:51 Comment(0)
M
1

There's also df.query():

result.query('Value > 10')
                       Name              Value      Date
189                   Sall                19.0  11/14/15
191                     Sam               10.0  11/14/15
192                 Richard               21.0  11/14/15
Mckale answered 24/3, 2022 at 18:56 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.