def isnull(input): ''' Replacement for numpy.isnan / -numpy.isfinite which is suitable for use on object arrays. Parameters ---------- arr: ndarray or object value Returns ------- boolean ndarray or boolean ''' if isinstance(input, np.ndarray): if input.dtype.kind in ('O', 'S'): # Working around NumPy ticket 1542 shape = input.shape result = np.empty(shape, dtype=bool) vec = _tseries.isnullobj(input.ravel()) result[:] = vec.reshape(shape) else: result = -np.isfinite(input) else: result = _tseries.checknull(input) return result
def isnull(input): ''' Replacement for numpy.isnan / -numpy.isfinite which is suitable for use on object arrays. Parameters ---------- arr: ndarray or object value Returns ------- boolean ndarray or boolean ''' from pandas.core.generic import PandasObject from pandas import Series if isinstance(input, np.ndarray): if input.dtype.kind in ('O', 'S'): # Working around NumPy ticket 1542 shape = input.shape result = np.empty(shape, dtype=bool) vec = _tseries.isnullobj(input.ravel()) result[:] = vec.reshape(shape) if isinstance(input, Series): result = Series(result, index=input.index, copy=False) else: result = -np.isfinite(input) elif isinstance(input, PandasObject): # TODO: optimize for DataFrame, etc. return input.apply(isnull) else: result = _tseries.checknull(input) return result
def isnull(obj): ''' Replacement for numpy.isnan / -numpy.isfinite which is suitable for use on object arrays. Parameters ---------- arr: ndarray or object value Returns ------- boolean ndarray or boolean ''' if np.isscalar(obj) or obj is None: return lib.checknull(obj) from pandas.core.generic import PandasObject from pandas import Series if isinstance(obj, np.ndarray): if obj.dtype.kind in ('O', 'S'): # Working around NumPy ticket 1542 shape = obj.shape result = np.empty(shape, dtype=bool) vec = lib.isnullobj(obj.ravel()) result[:] = vec.reshape(shape) if isinstance(obj, Series): result = Series(result, index=obj.index, copy=False) elif obj.dtype == np.dtype('M8[ns]'): # this is the NaT pattern result = np.array(obj).view('i8') == lib.NaT else: result = -np.isfinite(obj) return result elif isinstance(obj, PandasObject): # TODO: optimize for DataFrame, etc. return obj.apply(isnull) else: return obj is None
def isnull(obj): ''' Replacement for numpy.isnan / -numpy.isfinite which is suitable for use on object arrays. Parameters ---------- arr: ndarray or object value Returns ------- boolean ndarray or boolean ''' if np.isscalar(obj) or obj is None: return lib.checknull(obj) from pandas.core.generic import PandasObject from pandas import Series if isinstance(obj, np.ndarray): if obj.dtype.kind in ('O', 'S'): # Working around NumPy ticket 1542 shape = obj.shape result = np.empty(shape, dtype=bool) vec = lib.isnullobj(obj.ravel()) result[:] = vec.reshape(shape) if isinstance(obj, Series): result = Series(result, index=obj.index, copy=False) else: result = -np.isfinite(obj) return result elif isinstance(obj, PandasObject): # TODO: optimize for DataFrame, etc. return obj.apply(isnull) else: return obj is None