diff --git a/pandas/core/arrays/arrow/dtype.py b/pandas/core/arrays/arrow/dtype.py index 6c932f3b94e53..af5b51a39b9c3 100644 --- a/pandas/core/arrays/arrow/dtype.py +++ b/pandas/core/arrays/arrow/dtype.py @@ -5,7 +5,6 @@ import numpy as np import pyarrow as pa -from pandas._libs import missing as libmissing from pandas._typing import DtypeObj from pandas.util._decorators import cache_readonly @@ -22,7 +21,6 @@ class ArrowDtype(StorageExtensionDtype): Modeled after BaseMaskedDtype """ - na_value = libmissing.NA _metadata = ("storage", "pyarrow_dtype") # type: ignore[assignment] def __init__(self, pyarrow_dtype: pa.DataType) -> None: diff --git a/pandas/core/dtypes/base.py b/pandas/core/dtypes/base.py index cffac15ef6496..f96a9ab4cfb43 100644 --- a/pandas/core/dtypes/base.py +++ b/pandas/core/dtypes/base.py @@ -395,7 +395,6 @@ class StorageExtensionDtype(ExtensionDtype): """ExtensionDtype that may be backed by more than one implementation.""" name: str - na_value = libmissing.NA _metadata = ("storage",) def __init__(self, storage=None) -> None: @@ -416,6 +415,10 @@ def __hash__(self) -> int: # custom __eq__ so have to override __hash__ return super().__hash__() + @property + def na_value(self) -> libmissing.NAType: + return libmissing.NA + def register_extension_dtype(cls: type_t[ExtensionDtypeT]) -> type_t[ExtensionDtypeT]: """ diff --git a/pyright_reportGeneralTypeIssues.json b/pyright_reportGeneralTypeIssues.json index 22d607eb958e1..09c6a51e6dff1 100644 --- a/pyright_reportGeneralTypeIssues.json +++ b/pyright_reportGeneralTypeIssues.json @@ -37,7 +37,6 @@ "pandas/core/computation/align.py", "pandas/core/construction.py", "pandas/core/describe.py", - "pandas/core/dtypes/base.py", "pandas/core/dtypes/cast.py", "pandas/core/dtypes/common.py", "pandas/core/dtypes/concat.py",