def _isnull_old(obj): ''' Detect missing values. Treat None, NaN, INF, -INF as null. Parameters ---------- arr: ndarray or object value Returns ------- boolean ndarray or boolean ''' if lib.isscalar(obj): return lib.checknull_old(obj) from pandas.core.generic import PandasObject if isinstance(obj, np.ndarray): return _isnull_ndarraylike_old(obj) elif isinstance(obj, PandasObject): # TODO: optimize for DataFrame, etc. return obj.apply(_isnull_old) elif isinstance(obj, list) or hasattr(obj, '__array__'): return _isnull_ndarraylike_old(obj) else: return obj is None
def isnull_old(obj): ''' Replacement for numpy.isnan / -numpy.isfinite which is suitable for use on object arrays. Treat None, NaN, INF, -INF as null. Parameters ---------- arr: ndarray or object value Returns ------- boolean ndarray or boolean ''' if lib.isscalar(obj): return lib.checknull_old(obj) from pandas.core.generic import PandasObject if isinstance(obj, np.ndarray): return _isnull_ndarraylike_old(obj) elif isinstance(obj, PandasObject): # TODO: optimize for DataFrame, etc. return obj.apply(isnull_old) elif isinstance(obj, list) or hasattr(obj, '__array__'): return _isnull_ndarraylike_old(obj) else: return obj is None
def isnull_old(obj): """ Replacement for numpy.isnan / -numpy.isfinite which is suitable for use on object arrays. Treat None, NaN, INF, -INF as null. Parameters ---------- arr: ndarray or object value Returns ------- boolean ndarray or boolean """ if lib.isscalar(obj): return lib.checknull_old(obj) from pandas.core.generic import PandasObject if isinstance(obj, np.ndarray): return _isnull_ndarraylike_old(obj) elif isinstance(obj, PandasObject): # TODO: optimize for DataFrame, etc. return obj.apply(isnull_old) elif isinstance(obj, list) or hasattr(obj, "__array__"): return _isnull_ndarraylike_old(obj) else: return obj is None
def _isnull_old(obj): """Detect missing values. Treat None, NaN, INF, -INF as null. Parameters ---------- arr: ndarray or object value Returns ------- boolean ndarray or boolean """ if is_scalar(obj): return lib.checknull_old(obj) # hack (for now) because MI registers as ndarray elif isinstance(obj, ABCMultiIndex): raise NotImplementedError("isnull is not defined for MultiIndex") elif isinstance(obj, (ABCSeries, np.ndarray, ABCIndexClass)): return _isnull_ndarraylike_old(obj) elif isinstance(obj, ABCGeneric): return obj._constructor(obj._data.isnull(func=_isnull_old)) elif isinstance(obj, list) or hasattr(obj, '__array__'): return _isnull_ndarraylike_old(np.asarray(obj)) else: return obj is None