diff --git a/pandas/core/dtypes/missing.py b/pandas/core/dtypes/missing.py index 309c9f03ba6ed..d461db2d05f9d 100644 --- a/pandas/core/dtypes/missing.py +++ b/pandas/core/dtypes/missing.py @@ -152,7 +152,7 @@ def _isna_new(obj): ): return _isna_ndarraylike(obj) elif isinstance(obj, ABCDataFrame): - return obj._constructor(obj._data.isna(func=isna)) + return obj.isna() elif isinstance(obj, list): return _isna_ndarraylike(np.asarray(obj, dtype=object)) elif hasattr(obj, "__array__"): @@ -183,7 +183,7 @@ def _isna_old(obj): elif isinstance(obj, (ABCSeries, np.ndarray, ABCIndexClass, ABCExtensionArray)): return _isna_ndarraylike_old(obj) elif isinstance(obj, ABCDataFrame): - return obj._constructor(obj._data.isna(func=_isna_old)) + return obj.isna() elif isinstance(obj, list): return _isna_ndarraylike_old(np.asarray(obj, dtype=object)) elif hasattr(obj, "__array__"): diff --git a/pandas/core/frame.py b/pandas/core/frame.py index 5c04678cd5fa6..f25f17d8447fe 100644 --- a/pandas/core/frame.py +++ b/pandas/core/frame.py @@ -4478,19 +4478,20 @@ def _maybe_casted_values(index, labels=None): @Appender(_shared_docs["isna"] % _shared_doc_kwargs) def isna(self) -> "DataFrame": - return super().isna() + result = self._constructor(self._data.isna(func=isna)) + return result.__finalize__(self) @Appender(_shared_docs["isna"] % _shared_doc_kwargs) def isnull(self) -> "DataFrame": - return super().isnull() + return self.isna() @Appender(_shared_docs["notna"] % _shared_doc_kwargs) def notna(self) -> "DataFrame": - return super().notna() + return ~self.isna() @Appender(_shared_docs["notna"] % _shared_doc_kwargs) def notnull(self) -> "DataFrame": - return super().notnull() + return ~self.isna() def dropna(self, axis=0, how="any", thresh=None, subset=None, inplace=False): """