Spec-Zone.ru › pandas 2

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API