df.query doesn't handle negation properly
``` python

In [13]: df=pd.DataFrame([[0,10],[1,20]],columns=['cat','count'])
    ...: df
Out[13]: 
   cat  count
0    0     10
1    1     20

In [14]: df.query('cat > 0')
Out[14]: 
   cat  count
1    1     20

In [15]: df.query('~(cat > 0)')
Out[15]: 
   cat  count
1    1     20
0    0     10

In [16]: df.query(' not (cat > 0)')
Out[16]: 
   cat  count
1    1     20
0    0     10
```

I expected the two last results to return only the first row.
