pandas.api.extensions.ExtensionDtype¶
-
class
pandas.api.extensions.
ExtensionDtype
[source]¶ A custom data type, to be paired with an ExtensionArray.
New in version 0.23.0.
See also
extensions.register_extension_dtype
extensions.ExtensionArray
Notes
The interface includes the following abstract methods that must be implemented by subclasses:
- type
- name
- construct_from_string
The following attributes influence the behavior of the dtype in pandas operations
- _is_numeric
- _is_boolean
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__
.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
kind
A character code (one of ‘biufcmMOSUV’), default ‘O’ na_value
Default NA value to use for this type. name
A string identifying the data type. names
Ordered list of field names, or None if there are no fields. type
The scalar type for the array, e.g. Methods
construct_array_type
()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’.