pandas.api.extensions.ExtensionDtype¶
- class pandas.api.extensions.ExtensionDtype[source]¶
A custom data type, to be paired with an ExtensionArray.
See also
extensions.register_extension_dtype
Register an ExtensionType with pandas as class decorator.
extensions.ExtensionArray
Abstract base class for custom 1-D array types.
Notes
The interface includes the following abstract methods that must be implemented by subclasses:
type
name
The following attributes and methods influence the behavior of the dtype in pandas operations
_is_numeric
_is_boolean
_get_common_dtype
Optionally one can override construct_array_type for construction with the name of this dtype via the Registry. See
extensions.register_extension_dtype()
.construct_array_type
The na_value class attribute can be used to set the default NA value for this type.
numpy.nan
is used by default.ExtensionDtypes are required to be hashable. The base class provides a default implementation, which relies on the
_metadata
class attribute._metadata
should be a tuple containing the strings that define your data type. For example, withPeriodDtype
that’s thefreq
attribute.If you have a parametrized dtype you should set the ``_metadata`` class property.
Ideally, the attributes in
_metadata
will match the parameters to yourExtensionDtype.__init__
(if any). If any of the attributes in_metadata
don’t implement the standard__eq__
or__hash__
, the default implementations here will not work.Changed in version 0.24.0: Added
_metadata
,__hash__
, and changed the default definition of__eq__
.For interaction with Apache Arrow (pyarrow), a
__from_arrow__
method can be implemented: this method receives a pyarrow Array or ChunkedArray as only argument and is expected to return the appropriate pandas ExtensionArray for this dtype and the passed values:class ExtensionDtype: def __from_arrow__( self, array: Union[pyarrow.Array, pyarrow.ChunkedArray] ) -> ExtensionArray: ...
This class does not inherit from ‘abc.ABCMeta’ for performance reasons. Methods and properties required by the interface raise
pandas.errors.AbstractMethodError
and noregister
method is provided for registering virtual subclasses.Attributes
A character code (one of ‘biufcmMOSUV’), default ‘O’
Default NA value to use for this type.
A string identifying the data type.
Ordered list of field names, or None if there are no fields.
The scalar type for the array, e.g.
Methods
Return the array type associated with this dtype.
construct_from_string
(string)Construct this type from a string.
is_dtype
(dtype)Check if we match ‘dtype’.