Spec-Zone.ru › pandas 0.23

pandas.api.extensions.ExtensionArray

class pandas.api.extensions.ExtensionArray [source]

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

pandas будет распознавать экземпляры этого класса как правильные массивы с пользовательским типом и не будет пытаться преобразовать их в объекты. Они могут храниться непосредственно внутри DataFrame или Series.

Введено в версии 0.23.0.

Примечания

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

  • _from_sequence
  • _from_factorized
  • __getitem__
  • __len__
  • dtype
  • nbytes
  • isna
  • take
  • copy
  • _concat_same_type

Дополнительный метод доступен для удовлетворения внутренних, частных API-блоков pandas.

  • _formatting_values

Некоторые методы требуют приведения ExtensionArray к ndarray Python-объектов с self.astype(object), что может быть дорогостоящим. Если производительность является проблемой, настоятельно рекомендуется переопределить следующие методы:

  • fillna
  • unique
  • factorize / _values_for_factorize
  • argsort / _values_for_argsort

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

ExtensionArrays ограничены одним измерением.

Они могут быть основаны на нуле, одном или нескольких массивах NumPy. Например, pandas.Categorical — это массив расширений, поддерживаемый двумя массивами, один для кодов, а другой — для категорий. Массив адресов IPv6 может быть основан на структурированном массиве NumPy с двумя полями, одно для младших 64 бит и одно для старших 64 бит. Или они могут быть основаны на другом типе хранения, например, Python-списках. Pandas не делает предположений о том, как хранятся данные, только о том, что их можно преобразовать в массив NumPy. Интерфейс ExtensionArray не накладывает никаких правил на то, как хранятся эти данные. Однако в настоящее время данные для хранения не могут быть сохранены в атрибутах, называемых .values или ._values, чтобы обеспечить полную совместимость с внутренними компонентами pandas. Но другие имена, такие как .data, ._data, ._items, … могут быть свободно использованы.

Атрибуты

dtype Экземпляр ‘ExtensionDtype’.
nbytes Количество байтов, необходимых для хранения этого объекта в памяти.
ndim Массивы расширения разрешены только одномерными.
shape Возвращает кортеж размерностей массива.

Методы

argsort([ascending, kind]) Возвращает индексы, которые отсортировали бы этот массив.
astype(dtype[, copy]) Преобразовать в массив NumPy с ‘dtype’.
copy([deep]) Возвращает копию массива.
factorize([na_sentinel]) Кодировать массив расширений как перечисляемый тип.
fillna([value, method, limit]) Заполнить значения NA/NaN с использованием указанного метода.
isna() Булевый массив NumPy, указывающий, отсутствует ли каждое значение.
take(indices[, allow_fill, fill_value]) Извлечь элементы из массива.
unique() Вычислить массив расширений уникальных значений.

© 2008–2012, 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/0.23.4/generated/pandas.api.extensions.ExtensionArray.html

Spec-Zone.ru

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