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_dtypeextensions.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.nanis used by default.ExtensionDtypes are required to be hashable. The base class provides a default implementation, which relies on the
_metadataclass attribute._metadatashould be a tuple containing the strings that define your data type. For example, withPeriodDtypethat’s thefreqattribute.If you have a parametrized dtype you should set the ``_metadata`` class property.
Ideally, the attributes in
_metadatawill match the parameters to yourExtensionDtype.__init__(if any). If any of the attributes in_metadatadon’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.AbstractMethodErrorand noregistermethod is provided for registering virtual subclasses.Attributes
kindA character code (one of ‘biufcmMOSUV’), default ‘O’ na_valueDefault NA value to use for this type. nameA string identifying the data type. namesOrdered list of field names, or None if there are no fields. typeThe 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’.