From 08284fcd857d008920ba0bb209f90cf050d34d2f Mon Sep 17 00:00:00 2001 From: jbrockmendel Date: Tue, 10 Sep 2019 08:15:54 -0700 Subject: [PATCH] CLN: avoid catching Exception in generic --- pandas/core/generic.py | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 831543ee66039..68308b2f83b60 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -44,6 +44,7 @@ is_datetime64tz_dtype, is_dict_like, is_extension_array_dtype, + is_float, is_integer, is_list_like, is_number, @@ -1525,16 +1526,12 @@ def __pos__(self): return self.__array_wrap__(arr) def __invert__(self): - try: - arr = operator.inv(com.values_from_object(self)) - return self.__array_wrap__(arr) - except Exception: - + if not self.size: # inv fails with 0 len - if not np.prod(self.shape): - return self + return self - raise + arr = operator.inv(com.values_from_object(self)) + return self.__array_wrap__(arr) def __nonzero__(self): raise ValueError( @@ -5316,11 +5313,8 @@ def _check_inplace_setting(self, value): if not self._is_numeric_mixed_type: # allow an actual np.nan thru - try: - if np.isnan(value): - return True - except Exception: - pass + if is_float(value) and np.isnan(value): + return True raise TypeError( "Cannot do inplace boolean setting on "