pandas.api.extensions.ExtensionDtype
- classpandas.api.extensions.ExtensionDtype[source]
-
Тип пользовательских данных, который следует использовать совместно с ExtensionArray.
См. также
extensions.register_extension_dtype-
Зарегистрировать ExtensionType в pandas в качестве декоратора класса.
extensions.ExtensionArray-
Абстрактный базовый класс для пользовательских типов одномерных массивов.
Примечания
Интерфейс включает следующие абстрактные методы, которые должны быть реализованы подклассами:
type
name
construct_array_type
Следующие атрибуты и методы влияют на поведение типа dtype в операциях pandas
_is_numeric
_is_boolean
_get_common_dtype
Атрибут класса na_value может быть использован для установки значения по умолчанию для пропущенных значений (NA) для этого типа. По умолчанию используется
numpy.nan.ExtensionDtype должны быть хэшируемыми. Базовый класс предоставляет реализацию по умолчанию, которая полагается на атрибут класса
_metadata._metadataдолжен быть кортежем, содержащим строки, которые определяют ваш тип данных. Например, сPeriodDtypeэто атрибутfreq.Если у вас есть параметризованный тип данных, вы должны установить свойство класса ``_metadata``.
В идеале атрибуты в
_metadataбудут соответствовать параметрам вашегоExtensionDtype.__init__(если таковые имеются). Если какие-либо атрибуты в_metadataне реализуют стандартные__eq__или__hash__, реализация по умолчанию здесь работать не будет.Примеры
Для взаимодействия с Apache Arrow (pyarrow) можно реализовать метод
__from_arrow__: этот метод получает массив pyarrow или ChunkedArray в качестве единственного аргумента и должен возвращать соответствующий pandas ExtensionArray для этого типа данных и переданных значений:>>> import pyarrow >>> from pandas.api.extensions import ExtensionArray >>> class ExtensionDtype: ... def __from_arrow__( ... self, ... array: pyarrow.Array | pyarrow.ChunkedArray ... ) -> ExtensionArray: ... ...
Этот класс не наследуется от ‘abc.ABCMeta’ по соображениям производительности. Методы и свойства, необходимые для интерфейса, вызывают
pandas.errors.AbstractMethodError, и методregisterдля регистрации виртуальных подклассов не предоставляется.Атрибуты
index_classПодкласс Index, который следует возвращать из Index.__new__ при обнаружении этого типа данных.
kindСимвольный код (один из 'biufcmMOSUV'), по умолчанию 'O'
na_valueЗначение по умолчанию для пропущенных значений (NA) для этого типа.
nameСтрока, идентифицирующая тип данных.
namesУпорядоченный список имён полей или None, если полей нет.
typeСкалярный тип для массива, например
int.Методы
construct_array_type()Возвращает тип массива, связанный с этим типом данных.
construct_from_string(string)Создать этот тип из строки.
empty(shape)Создать ExtensionArray этого типа данных с заданной формой.
is_dtype(dtype)Проверить соответствие 'dtype'.
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.api.extensions.ExtensionDtype.html