Spec-Zone.ru › pandas 1

pandas.api.extensions.ExtensionDtype

classpandas.api.extensions.ExtensionDtype[source]

Тип пользовательских данных, который должен быть связан с ExtensionArray.

См. также

extensions.register_extension_dtype

Регистрирует ExtensionType в pandas в качестве декоратора класса.

extensions.ExtensionArray

Абстрактный базовый класс для пользовательских типов массивов 1 измерения.

Примечания

Интерфейс включает в себя следующие абстрактные методы, которые должны быть реализованы подклассами:

  • type

  • name

  • construct_array_type

Следующие атрибуты и методы влияют на поведение типа данных в операциях 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 и должен возвращать соответствующий pandas ExtensionArray для данного типа данных и переданных значений:

class ExtensionDtype:

    def __from_arrow__(
        self, array: Union[pyarrow.Array, pyarrow.ChunkedArray]
    ) -> ExtensionArray:
        ...

Этот класс не наследуется от «abc.ABCMeta» по соображениям производительности. Методы и свойства, необходимые для интерфейса, вызывают pandas.errors.AbstractMethodError, и метод register для регистрации виртуальных подклассов не предоставляется.

Атрибуты

kind

Код символа (один из 'biufcmMOSUV'), по умолчанию 'O'

na_value

Значение по умолчанию NA, используемое для этого типа.

name

Строка, идентифицирующая тип данных.

names

Упорядоченный список имен полей или None, если полей нет.

type

Тип скаляра для массива, например

Методы

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/1.5.0/reference/api/pandas.api.extensions.ExtensionDtype.html

Spec-Zone.ru

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