Вы также можете использовать numpy.invert
:
In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: s = pd.Series([True, True, False, True])
In [4]: np.invert(s)
Out[4]:
0 False
1 False
2 True
3 False
EDIT: разница в производительности появляется на Ubuntu 12.04, Python 2.7, NumPy 1.7.0 - не похоже, существуют с использованием NumPy 1.6.2:
In [5]: %timeit (-s)
10000 loops, best of 3: 26.8 us per loop
In [6]: %timeit np.invert(s)
100000 loops, best of 3: 7.85 us per loop
In [7]: %timeit ~s
10000 loops, best of 3: 27.3 us per loop
Простой путь. Возможно, поможет, конечно, ему не точный ответ, но он другой способ получить результат.
if (data != null && data.get(0) instanceof Cls) {}