masking empty DataFrame · Issue #10126 · pandas-dev/pandas (original) (raw)
In pandas 0.16.1, I get a ValueError when trying to mask an empty DataFrame:
import pandas as pd df = pd.DataFrame() df[df>0] Traceback (most recent call last):
File "", line 1, in df[df>0]
File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 1787, in getitem return self._getitem_frame(key)
File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 1859, in _getitem_frame raise ValueError('Must pass DataFrame with boolean values only')
ValueError: Must pass DataFrame with boolean values only
Using 'where' works as expected:
df.where(df>0) Out[4]: Empty DataFrame Columns: [] Index: []
Also, masking a Series works as expected:
ts = pd.Series() ts[ts>0] Out[6]: Series([], dtype: float64)